mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Mostly simple overlapping changes. For example, David Ahern's adjacency list revamp in 'net-next' conflicted with an adjacency list traversal bug fix in 'net'. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
27058af401
1
.mailmap
1
.mailmap
@ -127,6 +127,7 @@ Peter Oruba <peter@oruba.de>
|
||||
Peter Oruba <peter.oruba@amd.com>
|
||||
Pratyush Anand <pratyush.anand@gmail.com> <pratyush.anand@st.com>
|
||||
Praveen BP <praveenbp@ti.com>
|
||||
Qais Yousef <qsyousef@gmail.com> <qais.yousef@imgtec.com>
|
||||
Rajesh Shah <rajesh.shah@intel.com>
|
||||
Ralf Baechle <ralf@linux-mips.org>
|
||||
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
5
CREDITS
5
CREDITS
@ -1864,10 +1864,11 @@ S: The Netherlands
|
||||
|
||||
N: Martin Kepplinger
|
||||
E: martink@posteo.de
|
||||
E: martin.kepplinger@theobroma-systems.com
|
||||
E: martin.kepplinger@ginzinger.com
|
||||
W: http://www.martinkepplinger.com
|
||||
D: mma8452 accelerators iio driver
|
||||
D: Kernel cleanups
|
||||
D: pegasus_notetaker input driver
|
||||
D: Kernel fixes and cleanups
|
||||
S: Garnisonstraße 26
|
||||
S: 4020 Linz
|
||||
S: Austria
|
||||
|
@ -46,7 +46,8 @@ IRQ.txt
|
||||
Intel-IOMMU.txt
|
||||
- basic info on the Intel IOMMU virtualization support.
|
||||
Makefile
|
||||
- some files in Documentation dir are actually sample code to build
|
||||
- This file does nothing. Removing it breaks make htmldocs and
|
||||
make distclean.
|
||||
ManagementStyle
|
||||
- how to (attempt to) manage kernel hackers.
|
||||
RCU/
|
||||
|
345
Documentation/80211/cfg80211.rst
Normal file
345
Documentation/80211/cfg80211.rst
Normal file
@ -0,0 +1,345 @@
|
||||
==================
|
||||
cfg80211 subsystem
|
||||
==================
|
||||
|
||||
Device registration
|
||||
===================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Device registration
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_channel_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_channel
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_rate_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_rate
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_sta_ht_cap
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_supported_band
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_signal_type
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_params_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wireless_dev
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_new
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_register
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_unregister
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_free
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_name
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_dev
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_priv
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: priv_to_wiphy
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: set_wiphy_dev
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wdev_priv
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_iface_limit
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_iface_combination
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_check_combinations
|
||||
|
||||
Actions and configuration
|
||||
=========================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Actions and configuration
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ops
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: vif_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: key_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: survey_info_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: survey_info
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_beacon_data
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ap_settings
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: station_parameters
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: rate_info_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: rate_info
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: station_info
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: monitor_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: mpath_info_flags
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: mpath_info
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: bss_parameters
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_txq_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_crypto_settings
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_auth_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_assoc_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_deauth_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_disassoc_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ibss_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_params
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_pmksa
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_rx_mlme_mgmt
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_auth_timeout
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_rx_assoc_resp
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_assoc_timeout
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_tx_mlme_mgmt
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ibss_joined
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_result
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_bss
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_connect_timeout
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_roamed
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_disconnected
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ready_on_channel
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_remain_on_channel_expired
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_new_sta
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_rx_mgmt
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_mgmt_tx_status
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_cqm_rssi_notify
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_cqm_pktloss_notify
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_michael_mic_failure
|
||||
|
||||
Scanning and BSS list handling
|
||||
==============================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Scanning and BSS list handling
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_ssid
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_scan_request
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_scan_done
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_bss
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_inform_bss
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_inform_bss_frame_data
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_inform_bss_data
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_unlink_bss
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_find_ie
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_bss_get_ie
|
||||
|
||||
Utility functions
|
||||
=================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Utility functions
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_channel_to_frequency
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_frequency_to_channel
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_get_channel
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_get_response_rate
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_hdrlen
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_get_hdrlen_from_skb
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_radiotap_iterator
|
||||
|
||||
Data path helpers
|
||||
=================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Data path helpers
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_data_to_8023
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_data_from_8023
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: ieee80211_amsdu_to_8023s
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_classify8021d
|
||||
|
||||
Regulatory enforcement infrastructure
|
||||
=====================================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Regulatory enforcement infrastructure
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: regulatory_hint
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_apply_custom_regulatory
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: freq_reg_info
|
||||
|
||||
RFkill integration
|
||||
==================
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: RFkill integration
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_rfkill_set_hw_state
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_rfkill_start_polling
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: wiphy_rfkill_stop_polling
|
||||
|
||||
Test mode
|
||||
=========
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:doc: Test mode
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_testmode_alloc_reply_skb
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_testmode_reply
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_testmode_alloc_event_skb
|
||||
|
||||
.. kernel-doc:: include/net/cfg80211.h
|
||||
:functions: cfg80211_testmode_event
|
5
Documentation/80211/conf.py
Normal file
5
Documentation/80211/conf.py
Normal file
@ -0,0 +1,5 @@
|
||||
# -*- coding: utf-8; mode: python -*-
|
||||
|
||||
project = "Linux 802.11 Driver Developer's Guide"
|
||||
|
||||
tags.add("subproject")
|
17
Documentation/80211/index.rst
Normal file
17
Documentation/80211/index.rst
Normal file
@ -0,0 +1,17 @@
|
||||
=====================================
|
||||
Linux 802.11 Driver Developer's Guide
|
||||
=====================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
introduction
|
||||
cfg80211
|
||||
mac80211
|
||||
mac80211-advanced
|
||||
|
||||
.. only:: subproject
|
||||
|
||||
Indices
|
||||
=======
|
||||
|
||||
* :ref:`genindex`
|
17
Documentation/80211/introduction.rst
Normal file
17
Documentation/80211/introduction.rst
Normal file
@ -0,0 +1,17 @@
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
|
||||
Explaining wireless 802.11 networking in the Linux kernel
|
||||
|
||||
Copyright 2007-2009 Johannes Berg
|
||||
|
||||
These books attempt to give a description of the various subsystems
|
||||
that play a role in 802.11 wireless networking in Linux. Since these
|
||||
books are for kernel developers they attempts to document the
|
||||
structures and functions used in the kernel as well as giving a
|
||||
higher-level overview.
|
||||
|
||||
The reader is expected to be familiar with the 802.11 standard as
|
||||
published by the IEEE in 802.11-2007 (or possibly later versions).
|
||||
References to this standard will be given as "802.11-2007 8.1.5".
|
295
Documentation/80211/mac80211-advanced.rst
Normal file
295
Documentation/80211/mac80211-advanced.rst
Normal file
@ -0,0 +1,295 @@
|
||||
=============================
|
||||
mac80211 subsystem (advanced)
|
||||
=============================
|
||||
|
||||
Information contained within this part of the book is of interest only
|
||||
for advanced interaction of mac80211 with drivers to exploit more
|
||||
hardware capabilities and improve performance.
|
||||
|
||||
LED support
|
||||
===========
|
||||
|
||||
Mac80211 supports various ways of blinking LEDs. Wherever possible,
|
||||
device LEDs should be exposed as LED class devices and hooked up to the
|
||||
appropriate trigger, which will then be triggered appropriately by
|
||||
mac80211.
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_tx_led_name
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_rx_led_name
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_assoc_led_name
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_radio_led_name
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tpt_blink
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tpt_led_trigger_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_create_tpt_led_trigger
|
||||
|
||||
Hardware crypto acceleration
|
||||
============================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Hardware crypto acceleration
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: set_key_cmd
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_key_conf
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_key_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_tkip_p1k
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_tkip_p1k_iv
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_tkip_p2k
|
||||
|
||||
Powersave support
|
||||
=================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Powersave support
|
||||
|
||||
Beacon filter support
|
||||
=====================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Beacon filter support
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_beacon_loss
|
||||
|
||||
Multiple queues and QoS support
|
||||
===============================
|
||||
|
||||
TBD
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_queue_params
|
||||
|
||||
Access point mode support
|
||||
=========================
|
||||
|
||||
TBD
|
||||
|
||||
Some parts of the if_conf should be discussed here instead
|
||||
|
||||
Insert notes about VLAN interfaces with hw crypto here or in the hw
|
||||
crypto chapter.
|
||||
|
||||
support for powersaving clients
|
||||
-------------------------------
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: AP support for powersaving clients
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_get_buffered_bc
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_beacon_get
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_eosp
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_frame_release_type
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_ps_transition
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_ps_transition_ni
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_set_buffered
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta_block_awake
|
||||
|
||||
Supporting multiple virtual interfaces
|
||||
======================================
|
||||
|
||||
TBD
|
||||
|
||||
Note: WDS with identical MAC address should almost always be OK
|
||||
|
||||
Insert notes about having multiple virtual interfaces with different MAC
|
||||
addresses here, note which configurations are supported by mac80211, add
|
||||
notes about supporting hw crypto with it.
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_iterate_active_interfaces
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_iterate_active_interfaces_atomic
|
||||
|
||||
Station handling
|
||||
================
|
||||
|
||||
TODO
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_sta
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: sta_notify_cmd
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_find_sta
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_find_sta_by_ifaddr
|
||||
|
||||
Hardware scan offload
|
||||
=====================
|
||||
|
||||
TBD
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_scan_completed
|
||||
|
||||
Aggregation
|
||||
===========
|
||||
|
||||
TX A-MPDU aggregation
|
||||
---------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/agg-tx.c
|
||||
:doc: TX A-MPDU aggregation
|
||||
|
||||
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-tx.c
|
||||
|
||||
RX A-MPDU aggregation
|
||||
---------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/agg-rx.c
|
||||
:doc: RX A-MPDU aggregation
|
||||
|
||||
.. WARNING: DOCPROC directive not supported: !Cnet/mac80211/agg-rx.c
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_ampdu_mlme_action
|
||||
|
||||
Spatial Multiplexing Powersave (SMPS)
|
||||
=====================================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Spatial multiplexing power save
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_request_smps
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_smps_mode
|
||||
|
||||
TBD
|
||||
|
||||
This part of the book describes the rate control algorithm interface and
|
||||
how it relates to mac80211 and drivers.
|
||||
|
||||
Rate Control API
|
||||
================
|
||||
|
||||
TBD
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_start_tx_ba_session
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_start_tx_ba_cb_irqsafe
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_stop_tx_ba_session
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_stop_tx_ba_cb_irqsafe
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rate_control_changed
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_rate_control
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: rate_control_send_low
|
||||
|
||||
TBD
|
||||
|
||||
This part of the book describes mac80211 internals.
|
||||
|
||||
Key handling
|
||||
============
|
||||
|
||||
Key handling basics
|
||||
-------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/key.c
|
||||
:doc: Key handling basics
|
||||
|
||||
MORE TBD
|
||||
--------
|
||||
|
||||
TBD
|
||||
|
||||
Receive processing
|
||||
==================
|
||||
|
||||
TBD
|
||||
|
||||
Transmit processing
|
||||
===================
|
||||
|
||||
TBD
|
||||
|
||||
Station info handling
|
||||
=====================
|
||||
|
||||
Programming information
|
||||
-----------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: sta_info
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: ieee80211_sta_info_flags
|
||||
|
||||
STA information lifetime rules
|
||||
------------------------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.c
|
||||
:doc: STA information lifetime rules
|
||||
|
||||
Aggregation
|
||||
===========
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: sta_ampdu_mlme
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: tid_ampdu_tx
|
||||
|
||||
.. kernel-doc:: net/mac80211/sta_info.h
|
||||
:functions: tid_ampdu_rx
|
||||
|
||||
Synchronisation
|
||||
===============
|
||||
|
||||
TBD
|
||||
|
||||
Locking, lots of RCU
|
216
Documentation/80211/mac80211.rst
Normal file
216
Documentation/80211/mac80211.rst
Normal file
@ -0,0 +1,216 @@
|
||||
===========================
|
||||
mac80211 subsystem (basics)
|
||||
===========================
|
||||
|
||||
You should read and understand the information contained within this
|
||||
part of the book while implementing a mac80211 driver. In some chapters,
|
||||
advanced usage is noted, those may be skipped if this isn't needed.
|
||||
|
||||
This part of the book only covers station and monitor mode
|
||||
functionality, additional information required to implement the other
|
||||
modes is covered in the second part of the book.
|
||||
|
||||
Basic hardware handling
|
||||
=======================
|
||||
|
||||
TBD
|
||||
|
||||
This chapter shall contain information on getting a hw struct allocated
|
||||
and registered with mac80211.
|
||||
|
||||
Since it is required to allocate rates/modes before registering a hw
|
||||
struct, this chapter shall also contain information on setting up the
|
||||
rate/mode structs.
|
||||
|
||||
Additionally, some discussion about the callbacks and the general
|
||||
programming model should be in here, including the definition of
|
||||
ieee80211_ops which will be referred to a lot.
|
||||
|
||||
Finally, a discussion of hardware capabilities should be done with
|
||||
references to other parts of the book.
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_hw
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_hw_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: SET_IEEE80211_DEV
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: SET_IEEE80211_PERM_ADDR
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_ops
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_alloc_hw
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_register_hw
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_unregister_hw
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_free_hw
|
||||
|
||||
PHY configuration
|
||||
=================
|
||||
|
||||
TBD
|
||||
|
||||
This chapter should describe PHY handling including start/stop callbacks
|
||||
and the various structures used.
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_conf
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_conf_flags
|
||||
|
||||
Virtual interfaces
|
||||
==================
|
||||
|
||||
TBD
|
||||
|
||||
This chapter should describe virtual interface basics that are relevant
|
||||
to the driver (VLANs, MGMT etc are not.) It should explain the use of
|
||||
the add_iface/remove_iface callbacks as well as the interface
|
||||
configuration callbacks.
|
||||
|
||||
Things related to AP mode should be discussed there.
|
||||
|
||||
Things related to supporting multiple interfaces should be in the
|
||||
appropriate chapter, a BIG FAT note should be here about this though and
|
||||
the recommendation to allow only a single interface in STA mode at
|
||||
first!
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_vif
|
||||
|
||||
Receive and transmit processing
|
||||
===============================
|
||||
|
||||
what should be here
|
||||
-------------------
|
||||
|
||||
TBD
|
||||
|
||||
This should describe the receive and transmit paths in mac80211/the
|
||||
drivers as well as transmit status handling.
|
||||
|
||||
Frame format
|
||||
------------
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Frame format
|
||||
|
||||
Packet alignment
|
||||
----------------
|
||||
|
||||
.. kernel-doc:: net/mac80211/rx.c
|
||||
:doc: Packet alignment
|
||||
|
||||
Calling into mac80211 from interrupts
|
||||
-------------------------------------
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Calling mac80211 from interrupts
|
||||
|
||||
functions/definitions
|
||||
---------------------
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rx_status
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: mac80211_rx_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: mac80211_tx_info_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: mac80211_tx_control_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: mac80211_rate_control_flags
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_rate
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_info
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_info_clear_status
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rx
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rx_ni
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rx_irqsafe
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_status
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_status_ni
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_tx_status_irqsafe
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rts_get
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_rts_duration
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_ctstoself_get
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_ctstoself_duration
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_generic_frame_duration
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_wake_queue
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_stop_queue
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_wake_queues
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_stop_queues
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_queue_stopped
|
||||
|
||||
Frame filtering
|
||||
===============
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: Frame filtering
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_filter_flags
|
||||
|
||||
The mac80211 workqueue
|
||||
======================
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:doc: mac80211 workqueue
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_queue_work
|
||||
|
||||
.. kernel-doc:: include/net/mac80211.h
|
||||
:functions: ieee80211_queue_delayed_work
|
@ -220,8 +220,11 @@ What: /sys/class/cxl/<card>/reset
|
||||
Date: October 2014
|
||||
Contact: linuxppc-dev@lists.ozlabs.org
|
||||
Description: write only
|
||||
Writing 1 will issue a PERST to card which may cause the card
|
||||
to reload the FPGA depending on load_image_on_perst.
|
||||
Writing 1 will issue a PERST to card provided there are no
|
||||
contexts active on any one of the card AFUs. This may cause
|
||||
the card to reload the FPGA depending on load_image_on_perst.
|
||||
Writing -1 will do a force PERST irrespective of any active
|
||||
contexts on the card AFUs.
|
||||
Users: https://github.com/ibm-capi/libcxl
|
||||
|
||||
What: /sys/class/cxl/<card>/perst_reloads_same_image (not in a guest)
|
||||
|
@ -1,584 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
|
||||
<set>
|
||||
<setinfo>
|
||||
<title>The 802.11 subsystems – for kernel developers</title>
|
||||
<subtitle>
|
||||
Explaining wireless 802.11 networking in the Linux kernel
|
||||
</subtitle>
|
||||
|
||||
<copyright>
|
||||
<year>2007-2009</year>
|
||||
<holder>Johannes Berg</holder>
|
||||
</copyright>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Johannes</firstname>
|
||||
<surname>Berg</surname>
|
||||
<affiliation>
|
||||
<address><email>johannes@sipsolutions.net</email></address>
|
||||
</affiliation>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<legalnotice>
|
||||
<para>
|
||||
This documentation is free software; you can redistribute
|
||||
it and/or modify it under the terms of the GNU General Public
|
||||
License version 2 as published by the Free Software Foundation.
|
||||
</para>
|
||||
<para>
|
||||
This documentation is distributed in the hope that it will be
|
||||
useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
See the GNU General Public License for more details.
|
||||
</para>
|
||||
<para>
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with this documentation; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
MA 02111-1307 USA
|
||||
</para>
|
||||
<para>
|
||||
For more details see the file COPYING in the source
|
||||
distribution of Linux.
|
||||
</para>
|
||||
</legalnotice>
|
||||
|
||||
<abstract>
|
||||
<para>
|
||||
These books attempt to give a description of the
|
||||
various subsystems that play a role in 802.11 wireless
|
||||
networking in Linux. Since these books are for kernel
|
||||
developers they attempts to document the structures
|
||||
and functions used in the kernel as well as giving a
|
||||
higher-level overview.
|
||||
</para>
|
||||
<para>
|
||||
The reader is expected to be familiar with the 802.11
|
||||
standard as published by the IEEE in 802.11-2007 (or
|
||||
possibly later versions). References to this standard
|
||||
will be given as "802.11-2007 8.1.5".
|
||||
</para>
|
||||
</abstract>
|
||||
</setinfo>
|
||||
<book id="cfg80211-developers-guide">
|
||||
<bookinfo>
|
||||
<title>The cfg80211 subsystem</title>
|
||||
|
||||
<abstract>
|
||||
!Pinclude/net/cfg80211.h Introduction
|
||||
</abstract>
|
||||
</bookinfo>
|
||||
<chapter>
|
||||
<title>Device registration</title>
|
||||
!Pinclude/net/cfg80211.h Device registration
|
||||
!Finclude/net/cfg80211.h ieee80211_channel_flags
|
||||
!Finclude/net/cfg80211.h ieee80211_channel
|
||||
!Finclude/net/cfg80211.h ieee80211_rate_flags
|
||||
!Finclude/net/cfg80211.h ieee80211_rate
|
||||
!Finclude/net/cfg80211.h ieee80211_sta_ht_cap
|
||||
!Finclude/net/cfg80211.h ieee80211_supported_band
|
||||
!Finclude/net/cfg80211.h cfg80211_signal_type
|
||||
!Finclude/net/cfg80211.h wiphy_params_flags
|
||||
!Finclude/net/cfg80211.h wiphy_flags
|
||||
!Finclude/net/cfg80211.h wiphy
|
||||
!Finclude/net/cfg80211.h wireless_dev
|
||||
!Finclude/net/cfg80211.h wiphy_new
|
||||
!Finclude/net/cfg80211.h wiphy_register
|
||||
!Finclude/net/cfg80211.h wiphy_unregister
|
||||
!Finclude/net/cfg80211.h wiphy_free
|
||||
|
||||
!Finclude/net/cfg80211.h wiphy_name
|
||||
!Finclude/net/cfg80211.h wiphy_dev
|
||||
!Finclude/net/cfg80211.h wiphy_priv
|
||||
!Finclude/net/cfg80211.h priv_to_wiphy
|
||||
!Finclude/net/cfg80211.h set_wiphy_dev
|
||||
!Finclude/net/cfg80211.h wdev_priv
|
||||
!Finclude/net/cfg80211.h ieee80211_iface_limit
|
||||
!Finclude/net/cfg80211.h ieee80211_iface_combination
|
||||
!Finclude/net/cfg80211.h cfg80211_check_combinations
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Actions and configuration</title>
|
||||
!Pinclude/net/cfg80211.h Actions and configuration
|
||||
!Finclude/net/cfg80211.h cfg80211_ops
|
||||
!Finclude/net/cfg80211.h vif_params
|
||||
!Finclude/net/cfg80211.h key_params
|
||||
!Finclude/net/cfg80211.h survey_info_flags
|
||||
!Finclude/net/cfg80211.h survey_info
|
||||
!Finclude/net/cfg80211.h cfg80211_beacon_data
|
||||
!Finclude/net/cfg80211.h cfg80211_ap_settings
|
||||
!Finclude/net/cfg80211.h station_parameters
|
||||
!Finclude/net/cfg80211.h rate_info_flags
|
||||
!Finclude/net/cfg80211.h rate_info
|
||||
!Finclude/net/cfg80211.h station_info
|
||||
!Finclude/net/cfg80211.h monitor_flags
|
||||
!Finclude/net/cfg80211.h mpath_info_flags
|
||||
!Finclude/net/cfg80211.h mpath_info
|
||||
!Finclude/net/cfg80211.h bss_parameters
|
||||
!Finclude/net/cfg80211.h ieee80211_txq_params
|
||||
!Finclude/net/cfg80211.h cfg80211_crypto_settings
|
||||
!Finclude/net/cfg80211.h cfg80211_auth_request
|
||||
!Finclude/net/cfg80211.h cfg80211_assoc_request
|
||||
!Finclude/net/cfg80211.h cfg80211_deauth_request
|
||||
!Finclude/net/cfg80211.h cfg80211_disassoc_request
|
||||
!Finclude/net/cfg80211.h cfg80211_ibss_params
|
||||
!Finclude/net/cfg80211.h cfg80211_connect_params
|
||||
!Finclude/net/cfg80211.h cfg80211_pmksa
|
||||
!Finclude/net/cfg80211.h cfg80211_rx_mlme_mgmt
|
||||
!Finclude/net/cfg80211.h cfg80211_auth_timeout
|
||||
!Finclude/net/cfg80211.h cfg80211_rx_assoc_resp
|
||||
!Finclude/net/cfg80211.h cfg80211_assoc_timeout
|
||||
!Finclude/net/cfg80211.h cfg80211_tx_mlme_mgmt
|
||||
!Finclude/net/cfg80211.h cfg80211_ibss_joined
|
||||
!Finclude/net/cfg80211.h cfg80211_connect_result
|
||||
!Finclude/net/cfg80211.h cfg80211_connect_bss
|
||||
!Finclude/net/cfg80211.h cfg80211_connect_timeout
|
||||
!Finclude/net/cfg80211.h cfg80211_roamed
|
||||
!Finclude/net/cfg80211.h cfg80211_disconnected
|
||||
!Finclude/net/cfg80211.h cfg80211_ready_on_channel
|
||||
!Finclude/net/cfg80211.h cfg80211_remain_on_channel_expired
|
||||
!Finclude/net/cfg80211.h cfg80211_new_sta
|
||||
!Finclude/net/cfg80211.h cfg80211_rx_mgmt
|
||||
!Finclude/net/cfg80211.h cfg80211_mgmt_tx_status
|
||||
!Finclude/net/cfg80211.h cfg80211_cqm_rssi_notify
|
||||
!Finclude/net/cfg80211.h cfg80211_cqm_pktloss_notify
|
||||
!Finclude/net/cfg80211.h cfg80211_michael_mic_failure
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Scanning and BSS list handling</title>
|
||||
!Pinclude/net/cfg80211.h Scanning and BSS list handling
|
||||
!Finclude/net/cfg80211.h cfg80211_ssid
|
||||
!Finclude/net/cfg80211.h cfg80211_scan_request
|
||||
!Finclude/net/cfg80211.h cfg80211_scan_done
|
||||
!Finclude/net/cfg80211.h cfg80211_bss
|
||||
!Finclude/net/cfg80211.h cfg80211_inform_bss
|
||||
!Finclude/net/cfg80211.h cfg80211_inform_bss_frame_data
|
||||
!Finclude/net/cfg80211.h cfg80211_inform_bss_data
|
||||
!Finclude/net/cfg80211.h cfg80211_unlink_bss
|
||||
!Finclude/net/cfg80211.h cfg80211_find_ie
|
||||
!Finclude/net/cfg80211.h ieee80211_bss_get_ie
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Utility functions</title>
|
||||
!Pinclude/net/cfg80211.h Utility functions
|
||||
!Finclude/net/cfg80211.h ieee80211_channel_to_frequency
|
||||
!Finclude/net/cfg80211.h ieee80211_frequency_to_channel
|
||||
!Finclude/net/cfg80211.h ieee80211_get_channel
|
||||
!Finclude/net/cfg80211.h ieee80211_get_response_rate
|
||||
!Finclude/net/cfg80211.h ieee80211_hdrlen
|
||||
!Finclude/net/cfg80211.h ieee80211_get_hdrlen_from_skb
|
||||
!Finclude/net/cfg80211.h ieee80211_radiotap_iterator
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Data path helpers</title>
|
||||
!Pinclude/net/cfg80211.h Data path helpers
|
||||
!Finclude/net/cfg80211.h ieee80211_data_to_8023
|
||||
!Finclude/net/cfg80211.h ieee80211_data_from_8023
|
||||
!Finclude/net/cfg80211.h ieee80211_amsdu_to_8023s
|
||||
!Finclude/net/cfg80211.h cfg80211_classify8021d
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Regulatory enforcement infrastructure</title>
|
||||
!Pinclude/net/cfg80211.h Regulatory enforcement infrastructure
|
||||
!Finclude/net/cfg80211.h regulatory_hint
|
||||
!Finclude/net/cfg80211.h wiphy_apply_custom_regulatory
|
||||
!Finclude/net/cfg80211.h freq_reg_info
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>RFkill integration</title>
|
||||
!Pinclude/net/cfg80211.h RFkill integration
|
||||
!Finclude/net/cfg80211.h wiphy_rfkill_set_hw_state
|
||||
!Finclude/net/cfg80211.h wiphy_rfkill_start_polling
|
||||
!Finclude/net/cfg80211.h wiphy_rfkill_stop_polling
|
||||
</chapter>
|
||||
<chapter>
|
||||
<title>Test mode</title>
|
||||
!Pinclude/net/cfg80211.h Test mode
|
||||
!Finclude/net/cfg80211.h cfg80211_testmode_alloc_reply_skb
|
||||
!Finclude/net/cfg80211.h cfg80211_testmode_reply
|
||||
!Finclude/net/cfg80211.h cfg80211_testmode_alloc_event_skb
|
||||
!Finclude/net/cfg80211.h cfg80211_testmode_event
|
||||
</chapter>
|
||||
</book>
|
||||
<book id="mac80211-developers-guide">
|
||||
<bookinfo>
|
||||
<title>The mac80211 subsystem</title>
|
||||
<abstract>
|
||||
!Pinclude/net/mac80211.h Introduction
|
||||
!Pinclude/net/mac80211.h Warning
|
||||
</abstract>
|
||||
</bookinfo>
|
||||
|
||||
<toc></toc>
|
||||
|
||||
<!--
|
||||
Generally, this document shall be ordered by increasing complexity.
|
||||
It is important to note that readers should be able to read only
|
||||
the first few sections to get a working driver and only advanced
|
||||
usage should require reading the full document.
|
||||
-->
|
||||
|
||||
<part>
|
||||
<title>The basic mac80211 driver interface</title>
|
||||
<partintro>
|
||||
<para>
|
||||
You should read and understand the information contained
|
||||
within this part of the book while implementing a driver.
|
||||
In some chapters, advanced usage is noted, that may be
|
||||
skipped at first.
|
||||
</para>
|
||||
<para>
|
||||
This part of the book only covers station and monitor mode
|
||||
functionality, additional information required to implement
|
||||
the other modes is covered in the second part of the book.
|
||||
</para>
|
||||
</partintro>
|
||||
|
||||
<chapter id="basics">
|
||||
<title>Basic hardware handling</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This chapter shall contain information on getting a hw
|
||||
struct allocated and registered with mac80211.
|
||||
</para>
|
||||
<para>
|
||||
Since it is required to allocate rates/modes before registering
|
||||
a hw struct, this chapter shall also contain information on setting
|
||||
up the rate/mode structs.
|
||||
</para>
|
||||
<para>
|
||||
Additionally, some discussion about the callbacks and
|
||||
the general programming model should be in here, including
|
||||
the definition of ieee80211_ops which will be referred to
|
||||
a lot.
|
||||
</para>
|
||||
<para>
|
||||
Finally, a discussion of hardware capabilities should be done
|
||||
with references to other parts of the book.
|
||||
</para>
|
||||
<!-- intentionally multiple !F lines to get proper order -->
|
||||
!Finclude/net/mac80211.h ieee80211_hw
|
||||
!Finclude/net/mac80211.h ieee80211_hw_flags
|
||||
!Finclude/net/mac80211.h SET_IEEE80211_DEV
|
||||
!Finclude/net/mac80211.h SET_IEEE80211_PERM_ADDR
|
||||
!Finclude/net/mac80211.h ieee80211_ops
|
||||
!Finclude/net/mac80211.h ieee80211_alloc_hw
|
||||
!Finclude/net/mac80211.h ieee80211_register_hw
|
||||
!Finclude/net/mac80211.h ieee80211_unregister_hw
|
||||
!Finclude/net/mac80211.h ieee80211_free_hw
|
||||
</chapter>
|
||||
|
||||
<chapter id="phy-handling">
|
||||
<title>PHY configuration</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This chapter should describe PHY handling including
|
||||
start/stop callbacks and the various structures used.
|
||||
</para>
|
||||
!Finclude/net/mac80211.h ieee80211_conf
|
||||
!Finclude/net/mac80211.h ieee80211_conf_flags
|
||||
</chapter>
|
||||
|
||||
<chapter id="iface-handling">
|
||||
<title>Virtual interfaces</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This chapter should describe virtual interface basics
|
||||
that are relevant to the driver (VLANs, MGMT etc are not.)
|
||||
It should explain the use of the add_iface/remove_iface
|
||||
callbacks as well as the interface configuration callbacks.
|
||||
</para>
|
||||
<para>Things related to AP mode should be discussed there.</para>
|
||||
<para>
|
||||
Things related to supporting multiple interfaces should be
|
||||
in the appropriate chapter, a BIG FAT note should be here about
|
||||
this though and the recommendation to allow only a single
|
||||
interface in STA mode at first!
|
||||
</para>
|
||||
!Finclude/net/mac80211.h ieee80211_vif
|
||||
</chapter>
|
||||
|
||||
<chapter id="rx-tx">
|
||||
<title>Receive and transmit processing</title>
|
||||
<sect1>
|
||||
<title>what should be here</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This should describe the receive and transmit
|
||||
paths in mac80211/the drivers as well as
|
||||
transmit status handling.
|
||||
</para>
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Frame format</title>
|
||||
!Pinclude/net/mac80211.h Frame format
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Packet alignment</title>
|
||||
!Pnet/mac80211/rx.c Packet alignment
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>Calling into mac80211 from interrupts</title>
|
||||
!Pinclude/net/mac80211.h Calling mac80211 from interrupts
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>functions/definitions</title>
|
||||
!Finclude/net/mac80211.h ieee80211_rx_status
|
||||
!Finclude/net/mac80211.h mac80211_rx_flags
|
||||
!Finclude/net/mac80211.h mac80211_tx_info_flags
|
||||
!Finclude/net/mac80211.h mac80211_tx_control_flags
|
||||
!Finclude/net/mac80211.h mac80211_rate_control_flags
|
||||
!Finclude/net/mac80211.h ieee80211_tx_rate
|
||||
!Finclude/net/mac80211.h ieee80211_tx_info
|
||||
!Finclude/net/mac80211.h ieee80211_tx_info_clear_status
|
||||
!Finclude/net/mac80211.h ieee80211_rx
|
||||
!Finclude/net/mac80211.h ieee80211_rx_ni
|
||||
!Finclude/net/mac80211.h ieee80211_rx_irqsafe
|
||||
!Finclude/net/mac80211.h ieee80211_tx_status
|
||||
!Finclude/net/mac80211.h ieee80211_tx_status_ni
|
||||
!Finclude/net/mac80211.h ieee80211_tx_status_irqsafe
|
||||
!Finclude/net/mac80211.h ieee80211_rts_get
|
||||
!Finclude/net/mac80211.h ieee80211_rts_duration
|
||||
!Finclude/net/mac80211.h ieee80211_ctstoself_get
|
||||
!Finclude/net/mac80211.h ieee80211_ctstoself_duration
|
||||
!Finclude/net/mac80211.h ieee80211_generic_frame_duration
|
||||
!Finclude/net/mac80211.h ieee80211_wake_queue
|
||||
!Finclude/net/mac80211.h ieee80211_stop_queue
|
||||
!Finclude/net/mac80211.h ieee80211_wake_queues
|
||||
!Finclude/net/mac80211.h ieee80211_stop_queues
|
||||
!Finclude/net/mac80211.h ieee80211_queue_stopped
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="filters">
|
||||
<title>Frame filtering</title>
|
||||
!Pinclude/net/mac80211.h Frame filtering
|
||||
!Finclude/net/mac80211.h ieee80211_filter_flags
|
||||
</chapter>
|
||||
|
||||
<chapter id="workqueue">
|
||||
<title>The mac80211 workqueue</title>
|
||||
!Pinclude/net/mac80211.h mac80211 workqueue
|
||||
!Finclude/net/mac80211.h ieee80211_queue_work
|
||||
!Finclude/net/mac80211.h ieee80211_queue_delayed_work
|
||||
</chapter>
|
||||
</part>
|
||||
|
||||
<part id="advanced">
|
||||
<title>Advanced driver interface</title>
|
||||
<partintro>
|
||||
<para>
|
||||
Information contained within this part of the book is
|
||||
of interest only for advanced interaction of mac80211
|
||||
with drivers to exploit more hardware capabilities and
|
||||
improve performance.
|
||||
</para>
|
||||
</partintro>
|
||||
|
||||
<chapter id="led-support">
|
||||
<title>LED support</title>
|
||||
<para>
|
||||
Mac80211 supports various ways of blinking LEDs. Wherever possible,
|
||||
device LEDs should be exposed as LED class devices and hooked up to
|
||||
the appropriate trigger, which will then be triggered appropriately
|
||||
by mac80211.
|
||||
</para>
|
||||
!Finclude/net/mac80211.h ieee80211_get_tx_led_name
|
||||
!Finclude/net/mac80211.h ieee80211_get_rx_led_name
|
||||
!Finclude/net/mac80211.h ieee80211_get_assoc_led_name
|
||||
!Finclude/net/mac80211.h ieee80211_get_radio_led_name
|
||||
!Finclude/net/mac80211.h ieee80211_tpt_blink
|
||||
!Finclude/net/mac80211.h ieee80211_tpt_led_trigger_flags
|
||||
!Finclude/net/mac80211.h ieee80211_create_tpt_led_trigger
|
||||
</chapter>
|
||||
|
||||
<chapter id="hardware-crypto-offload">
|
||||
<title>Hardware crypto acceleration</title>
|
||||
!Pinclude/net/mac80211.h Hardware crypto acceleration
|
||||
<!-- intentionally multiple !F lines to get proper order -->
|
||||
!Finclude/net/mac80211.h set_key_cmd
|
||||
!Finclude/net/mac80211.h ieee80211_key_conf
|
||||
!Finclude/net/mac80211.h ieee80211_key_flags
|
||||
!Finclude/net/mac80211.h ieee80211_get_tkip_p1k
|
||||
!Finclude/net/mac80211.h ieee80211_get_tkip_p1k_iv
|
||||
!Finclude/net/mac80211.h ieee80211_get_tkip_p2k
|
||||
</chapter>
|
||||
|
||||
<chapter id="powersave">
|
||||
<title>Powersave support</title>
|
||||
!Pinclude/net/mac80211.h Powersave support
|
||||
</chapter>
|
||||
|
||||
<chapter id="beacon-filter">
|
||||
<title>Beacon filter support</title>
|
||||
!Pinclude/net/mac80211.h Beacon filter support
|
||||
!Finclude/net/mac80211.h ieee80211_beacon_loss
|
||||
</chapter>
|
||||
|
||||
<chapter id="qos">
|
||||
<title>Multiple queues and QoS support</title>
|
||||
<para>TBD</para>
|
||||
!Finclude/net/mac80211.h ieee80211_tx_queue_params
|
||||
</chapter>
|
||||
|
||||
<chapter id="AP">
|
||||
<title>Access point mode support</title>
|
||||
<para>TBD</para>
|
||||
<para>Some parts of the if_conf should be discussed here instead</para>
|
||||
<para>
|
||||
Insert notes about VLAN interfaces with hw crypto here or
|
||||
in the hw crypto chapter.
|
||||
</para>
|
||||
<section id="ps-client">
|
||||
<title>support for powersaving clients</title>
|
||||
!Pinclude/net/mac80211.h AP support for powersaving clients
|
||||
!Finclude/net/mac80211.h ieee80211_get_buffered_bc
|
||||
!Finclude/net/mac80211.h ieee80211_beacon_get
|
||||
!Finclude/net/mac80211.h ieee80211_sta_eosp
|
||||
!Finclude/net/mac80211.h ieee80211_frame_release_type
|
||||
!Finclude/net/mac80211.h ieee80211_sta_ps_transition
|
||||
!Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni
|
||||
!Finclude/net/mac80211.h ieee80211_sta_set_buffered
|
||||
!Finclude/net/mac80211.h ieee80211_sta_block_awake
|
||||
</section>
|
||||
</chapter>
|
||||
|
||||
<chapter id="multi-iface">
|
||||
<title>Supporting multiple virtual interfaces</title>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
Note: WDS with identical MAC address should almost always be OK
|
||||
</para>
|
||||
<para>
|
||||
Insert notes about having multiple virtual interfaces with
|
||||
different MAC addresses here, note which configurations are
|
||||
supported by mac80211, add notes about supporting hw crypto
|
||||
with it.
|
||||
</para>
|
||||
!Finclude/net/mac80211.h ieee80211_iterate_active_interfaces
|
||||
!Finclude/net/mac80211.h ieee80211_iterate_active_interfaces_atomic
|
||||
</chapter>
|
||||
|
||||
<chapter id="station-handling">
|
||||
<title>Station handling</title>
|
||||
<para>TODO</para>
|
||||
!Finclude/net/mac80211.h ieee80211_sta
|
||||
!Finclude/net/mac80211.h sta_notify_cmd
|
||||
!Finclude/net/mac80211.h ieee80211_find_sta
|
||||
!Finclude/net/mac80211.h ieee80211_find_sta_by_ifaddr
|
||||
</chapter>
|
||||
|
||||
<chapter id="hardware-scan-offload">
|
||||
<title>Hardware scan offload</title>
|
||||
<para>TBD</para>
|
||||
!Finclude/net/mac80211.h ieee80211_scan_completed
|
||||
</chapter>
|
||||
|
||||
<chapter id="aggregation">
|
||||
<title>Aggregation</title>
|
||||
<sect1>
|
||||
<title>TX A-MPDU aggregation</title>
|
||||
!Pnet/mac80211/agg-tx.c TX A-MPDU aggregation
|
||||
!Cnet/mac80211/agg-tx.c
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>RX A-MPDU aggregation</title>
|
||||
!Pnet/mac80211/agg-rx.c RX A-MPDU aggregation
|
||||
!Cnet/mac80211/agg-rx.c
|
||||
!Finclude/net/mac80211.h ieee80211_ampdu_mlme_action
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="smps">
|
||||
<title>Spatial Multiplexing Powersave (SMPS)</title>
|
||||
!Pinclude/net/mac80211.h Spatial multiplexing power save
|
||||
!Finclude/net/mac80211.h ieee80211_request_smps
|
||||
!Finclude/net/mac80211.h ieee80211_smps_mode
|
||||
</chapter>
|
||||
</part>
|
||||
|
||||
<part id="rate-control">
|
||||
<title>Rate control interface</title>
|
||||
<partintro>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This part of the book describes the rate control algorithm
|
||||
interface and how it relates to mac80211 and drivers.
|
||||
</para>
|
||||
</partintro>
|
||||
<chapter id="ratecontrol-api">
|
||||
<title>Rate Control API</title>
|
||||
<para>TBD</para>
|
||||
!Finclude/net/mac80211.h ieee80211_start_tx_ba_session
|
||||
!Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe
|
||||
!Finclude/net/mac80211.h ieee80211_stop_tx_ba_session
|
||||
!Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe
|
||||
!Finclude/net/mac80211.h ieee80211_rate_control_changed
|
||||
!Finclude/net/mac80211.h ieee80211_tx_rate_control
|
||||
!Finclude/net/mac80211.h rate_control_send_low
|
||||
</chapter>
|
||||
</part>
|
||||
|
||||
<part id="internal">
|
||||
<title>Internals</title>
|
||||
<partintro>
|
||||
<para>TBD</para>
|
||||
<para>
|
||||
This part of the book describes mac80211 internals.
|
||||
</para>
|
||||
</partintro>
|
||||
|
||||
<chapter id="key-handling">
|
||||
<title>Key handling</title>
|
||||
<sect1>
|
||||
<title>Key handling basics</title>
|
||||
!Pnet/mac80211/key.c Key handling basics
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>MORE TBD</title>
|
||||
<para>TBD</para>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="rx-processing">
|
||||
<title>Receive processing</title>
|
||||
<para>TBD</para>
|
||||
</chapter>
|
||||
|
||||
<chapter id="tx-processing">
|
||||
<title>Transmit processing</title>
|
||||
<para>TBD</para>
|
||||
</chapter>
|
||||
|
||||
<chapter id="sta-info">
|
||||
<title>Station info handling</title>
|
||||
<sect1>
|
||||
<title>Programming information</title>
|
||||
!Fnet/mac80211/sta_info.h sta_info
|
||||
!Fnet/mac80211/sta_info.h ieee80211_sta_info_flags
|
||||
</sect1>
|
||||
<sect1>
|
||||
<title>STA information lifetime rules</title>
|
||||
!Pnet/mac80211/sta_info.c STA information lifetime rules
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="aggregation-internals">
|
||||
<title>Aggregation</title>
|
||||
!Fnet/mac80211/sta_info.h sta_ampdu_mlme
|
||||
!Fnet/mac80211/sta_info.h tid_ampdu_tx
|
||||
!Fnet/mac80211/sta_info.h tid_ampdu_rx
|
||||
</chapter>
|
||||
|
||||
<chapter id="synchronisation">
|
||||
<title>Synchronisation</title>
|
||||
<para>TBD</para>
|
||||
<para>Locking, lots of RCU</para>
|
||||
</chapter>
|
||||
</part>
|
||||
</book>
|
||||
</set>
|
@ -12,7 +12,7 @@ DOCBOOKS := z8530book.xml \
|
||||
kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml \
|
||||
gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
|
||||
genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
|
||||
80211.xml debugobjects.xml sh.xml regulator.xml \
|
||||
debugobjects.xml sh.xml regulator.xml \
|
||||
alsa-driver-api.xml writing-an-alsa-driver.xml \
|
||||
tracepoint.xml w1.xml \
|
||||
writing_musb_glue_layer.xml crypto-API.xml iio.xml
|
||||
|
@ -1,3 +1 @@
|
||||
subdir-y := accounting auxdisplay blackfin \
|
||||
filesystems filesystems ia64 laptops mic misc-devices \
|
||||
networking pcmcia prctl ptp timers vDSO watchdog
|
||||
subdir-y :=
|
||||
|
@ -1,7 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-y := getdelays
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
||||
|
||||
HOSTCFLAGS_getdelays.o += -I$(objtree)/usr/include
|
@ -54,9 +54,9 @@ are sent to userspace without requiring a command. If it is the last exiting
|
||||
task of a thread group, the per-tgid statistics are also sent. More details
|
||||
are given in the taskstats interface description.
|
||||
|
||||
The getdelays.c userspace utility in this directory allows simple commands to
|
||||
be run and the corresponding delay statistics to be displayed. It also serves
|
||||
as an example of using the taskstats interface.
|
||||
The getdelays.c userspace utility in tools/accounting directory allows simple
|
||||
commands to be run and the corresponding delay statistics to be displayed. It
|
||||
also serves as an example of using the taskstats interface.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
@ -8,8 +8,6 @@ Interrupts
|
||||
- ARM Interrupt subsystem documentation
|
||||
IXP4xx
|
||||
- Intel IXP4xx Network processor.
|
||||
Makefile
|
||||
- Build sourcefiles as part of the Documentation-build for arm
|
||||
Netwinder
|
||||
- Netwinder specific documentation
|
||||
Porting
|
||||
|
@ -1,7 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-y := cfag12864b-example
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
||||
|
||||
HOSTCFLAGS_cfag12864b-example.o += -I$(objtree)/usr/include
|
@ -101,5 +101,5 @@ Although the LCD won't get updated until the next refresh time arrives.
|
||||
Also, you can mmap the framebuffer: open & mmap, munmap & close...
|
||||
which is the best option for most uses.
|
||||
|
||||
Check Documentation/auxdisplay/cfag12864b-example.c
|
||||
Check samples/auxdisplay/cfag12864b-example.c
|
||||
for a real working userspace complete program with usage examples.
|
||||
|
@ -1,10 +1,6 @@
|
||||
00-INDEX
|
||||
- This file
|
||||
Makefile
|
||||
- Makefile for gptimers example file.
|
||||
bfin-gpio-notes.txt
|
||||
- Notes in developing/using bfin-gpio driver.
|
||||
bfin-spi-notes.txt
|
||||
- Notes for using bfin spi bus driver.
|
||||
gptimers-example.c
|
||||
- gptimers example
|
||||
|
@ -1,5 +0,0 @@
|
||||
ifneq ($(CONFIG_BLACKFIN),)
|
||||
ifneq ($(CONFIG_BFIN_GPTIMERS),)
|
||||
obj-m := gptimers-example.o
|
||||
endif
|
||||
endif
|
@ -309,3 +309,4 @@ Version History
|
||||
with a reshape in progress.
|
||||
1.9.0 Add support for RAID level takeover/reshape/region size
|
||||
and set size reduction.
|
||||
1.9.1 Fix activation of existing RAID 4/10 mapped devices
|
||||
|
@ -0,0 +1,17 @@
|
||||
Binding for ASCII LCD displays on Imagination Technologies boards
|
||||
|
||||
Required properties:
|
||||
- compatible : should be one of:
|
||||
"img,boston-lcd"
|
||||
"mti,malta-lcd"
|
||||
"mti,sead3-lcd"
|
||||
|
||||
Required properties for "img,boston-lcd":
|
||||
- reg : memory region locating the device registers
|
||||
|
||||
Required properties for "mti,malta-lcd" or "mti,sead3-lcd":
|
||||
- regmap: phandle of the system controller containing the LCD registers
|
||||
- offset: offset in bytes to the LCD registers within the system controller
|
||||
|
||||
The layout of the registers & properties of the display are determined
|
||||
from the compatible string, making this binding somewhat trivial.
|
@ -24,7 +24,7 @@ Example:
|
||||
reg = <0x61840000 0x4000>;
|
||||
|
||||
clock {
|
||||
compatible = "socionext,uniphier-ld20-clock";
|
||||
compatible = "socionext,uniphier-ld11-clock";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
@ -43,8 +43,8 @@ Provided clocks:
|
||||
21: USB3 ch1 PHY1
|
||||
|
||||
|
||||
Media I/O (MIO) clock
|
||||
---------------------
|
||||
Media I/O (MIO) clock, SD clock
|
||||
-------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following:
|
||||
@ -52,10 +52,10 @@ Required properties:
|
||||
"socionext,uniphier-ld4-mio-clock" - for LD4 SoC.
|
||||
"socionext,uniphier-pro4-mio-clock" - for Pro4 SoC.
|
||||
"socionext,uniphier-sld8-mio-clock" - for sLD8 SoC.
|
||||
"socionext,uniphier-pro5-mio-clock" - for Pro5 SoC.
|
||||
"socionext,uniphier-pxs2-mio-clock" - for PXs2/LD6b SoC.
|
||||
"socionext,uniphier-pro5-sd-clock" - for Pro5 SoC.
|
||||
"socionext,uniphier-pxs2-sd-clock" - for PXs2/LD6b SoC.
|
||||
"socionext,uniphier-ld11-mio-clock" - for LD11 SoC.
|
||||
"socionext,uniphier-ld20-mio-clock" - for LD20 SoC.
|
||||
"socionext,uniphier-ld20-sd-clock" - for LD20 SoC.
|
||||
- #clock-cells: should be 1.
|
||||
|
||||
Example:
|
||||
@ -66,7 +66,7 @@ Example:
|
||||
reg = <0x59810000 0x800>;
|
||||
|
||||
clock {
|
||||
compatible = "socionext,uniphier-ld20-mio-clock";
|
||||
compatible = "socionext,uniphier-ld11-mio-clock";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
@ -112,7 +112,7 @@ Example:
|
||||
reg = <0x59820000 0x200>;
|
||||
|
||||
clock {
|
||||
compatible = "socionext,uniphier-ld20-peri-clock";
|
||||
compatible = "socionext,uniphier-ld11-peri-clock";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
|
@ -32,6 +32,14 @@ wants to support one of the below features, it should adapt the bindings below.
|
||||
- clock-frequency
|
||||
frequency of bus clock in Hz.
|
||||
|
||||
- i2c-bus
|
||||
For I2C adapters that have child nodes that are a mixture of both I2C
|
||||
devices and non-I2C devices, the 'i2c-bus' subnode can be used for
|
||||
populating I2C devices. If the 'i2c-bus' subnode is present, only
|
||||
subnodes of this will be considered as I2C slaves. The properties,
|
||||
'#address-cells' and '#size-cells' must be defined under this subnode
|
||||
if present.
|
||||
|
||||
- i2c-scl-falling-time-ns
|
||||
Number of nanoseconds the SCL signal takes to fall; t(f) in the I2C
|
||||
specification.
|
||||
|
@ -51,7 +51,6 @@ fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec
|
||||
gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface
|
||||
infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)
|
||||
infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)
|
||||
isil,isl12057 Intersil ISL12057 I2C RTC Chip
|
||||
isil,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor
|
||||
maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator
|
||||
maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs
|
||||
|
@ -14,6 +14,7 @@ length of memory mapped region.
|
||||
representing a ethernet device.
|
||||
- dsaf-handle: phandle, specifies a reference to a node
|
||||
representing a dsaf device.
|
||||
- node_guid: a number that uniquely identifies a device or component
|
||||
- #address-cells: must be 2
|
||||
- #size-cells: must be 2
|
||||
Optional properties:
|
||||
@ -32,6 +33,7 @@ Example:
|
||||
dma-coherent;
|
||||
eth-handle = <ð2 ð3 ð4 ð5 ð6 ð7>;
|
||||
dsaf-handle = <&soc0_dsa>;
|
||||
node-guid = [00 9A CD 00 00 01 02 03];
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&mbigen_dsa>;
|
||||
|
@ -0,0 +1,21 @@
|
||||
* MELFAS MIP4 Touchscreen
|
||||
|
||||
Required properties:
|
||||
- compatible: must be "melfas,mip4_ts"
|
||||
- reg: I2C slave address of the chip (0x48 or 0x34)
|
||||
- interrupt-parent: interrupt controller to which the chip is connected
|
||||
- interrupts: interrupt to which the chip is connected
|
||||
|
||||
Optional properties:
|
||||
- ce-gpios: GPIO connected to the CE (chip enable) pin of the chip
|
||||
|
||||
Example:
|
||||
i2c@00000000 {
|
||||
touchscreen: melfas_mip4@48 {
|
||||
compatible = "melfas,mip4_ts";
|
||||
reg = <0x48>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
|
||||
ce-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
@ -0,0 +1,23 @@
|
||||
* Aspeed BT (Block Transfer) IPMI interface
|
||||
|
||||
The Aspeed SOCs (AST2400 and AST2500) are commonly used as BMCs
|
||||
(BaseBoard Management Controllers) and the BT interface can be used to
|
||||
perform in-band IPMI communication with their host.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should be "aspeed,ast2400-bt-bmc"
|
||||
- reg: physical address and size of the registers
|
||||
|
||||
Optional properties:
|
||||
|
||||
- interrupts: interrupt generated by the BT interface. without an
|
||||
interrupt, the driver will operate in poll mode.
|
||||
|
||||
Example:
|
||||
|
||||
ibt@1e789140 {
|
||||
compatible = "aspeed,ast2400-bt-bmc";
|
||||
reg = <0x1e789140 0x18>;
|
||||
interrupts = <8>;
|
||||
};
|
@ -2,9 +2,9 @@
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "brcm,bcm3384", "brcm,bcm33843"
|
||||
- compatible: "brcm,bcm3368", "brcm,bcm3384", "brcm,bcm33843"
|
||||
"brcm,bcm3384-viper", "brcm,bcm33843-viper"
|
||||
"brcm,bcm6328", "brcm,bcm6358", "brcm,bcm6368",
|
||||
"brcm,bcm6328", "brcm,bcm6358", "brcm,bcm6362", "brcm,bcm6368",
|
||||
"brcm,bcm63168", "brcm,bcm63268",
|
||||
"brcm,bcm7125", "brcm,bcm7346", "brcm,bcm7358", "brcm,bcm7360",
|
||||
"brcm,bcm7362", "brcm,bcm7420", "brcm,bcm7425"
|
||||
|
@ -49,6 +49,7 @@ Optional port properties:
|
||||
and
|
||||
|
||||
- phy-handle: See ethernet.txt file in the same directory.
|
||||
- phy-mode: See ethernet.txt file in the same directory.
|
||||
|
||||
or
|
||||
|
||||
|
@ -43,7 +43,9 @@ aspeed,ast2500-pinctrl, aspeed,g5-pinctrl:
|
||||
|
||||
GPID0 GPID2 GPIE0 I2C10 I2C11 I2C12 I2C13 I2C14 I2C3 I2C4 I2C5 I2C6 I2C7 I2C8
|
||||
I2C9 MAC1LINK MDIO1 MDIO2 OSCCLK PEWAKE PWM0 PWM1 PWM2 PWM3 PWM4 PWM5 PWM6 PWM7
|
||||
RGMII1 RGMII2 RMII1 RMII2 SD1 SPI1 TIMER4 TIMER5 TIMER6 TIMER7 TIMER8
|
||||
RGMII1 RGMII2 RMII1 RMII2 SD1 SPI1 SPI1DEBUG SPI1PASSTHRU TIMER4 TIMER5 TIMER6
|
||||
TIMER7 TIMER8 VGABIOSROM
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
|
@ -6,25 +6,25 @@ System reset
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following:
|
||||
"socionext,uniphier-sld3-reset" - for PH1-sLD3 SoC.
|
||||
"socionext,uniphier-ld4-reset" - for PH1-LD4 SoC.
|
||||
"socionext,uniphier-pro4-reset" - for PH1-Pro4 SoC.
|
||||
"socionext,uniphier-sld8-reset" - for PH1-sLD8 SoC.
|
||||
"socionext,uniphier-pro5-reset" - for PH1-Pro5 SoC.
|
||||
"socionext,uniphier-pxs2-reset" - for ProXstream2/PH1-LD6b SoC.
|
||||
"socionext,uniphier-ld11-reset" - for PH1-LD11 SoC.
|
||||
"socionext,uniphier-ld20-reset" - for PH1-LD20 SoC.
|
||||
"socionext,uniphier-sld3-reset" - for sLD3 SoC.
|
||||
"socionext,uniphier-ld4-reset" - for LD4 SoC.
|
||||
"socionext,uniphier-pro4-reset" - for Pro4 SoC.
|
||||
"socionext,uniphier-sld8-reset" - for sLD8 SoC.
|
||||
"socionext,uniphier-pro5-reset" - for Pro5 SoC.
|
||||
"socionext,uniphier-pxs2-reset" - for PXs2/LD6b SoC.
|
||||
"socionext,uniphier-ld11-reset" - for LD11 SoC.
|
||||
"socionext,uniphier-ld20-reset" - for LD20 SoC.
|
||||
- #reset-cells: should be 1.
|
||||
|
||||
Example:
|
||||
|
||||
sysctrl@61840000 {
|
||||
compatible = "socionext,uniphier-ld20-sysctrl",
|
||||
compatible = "socionext,uniphier-ld11-sysctrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x61840000 0x4000>;
|
||||
|
||||
reset {
|
||||
compatible = "socionext,uniphier-ld20-reset";
|
||||
compatible = "socionext,uniphier-ld11-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
@ -32,30 +32,30 @@ Example:
|
||||
};
|
||||
|
||||
|
||||
Media I/O (MIO) reset
|
||||
---------------------
|
||||
Media I/O (MIO) reset, SD reset
|
||||
-------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following:
|
||||
"socionext,uniphier-sld3-mio-reset" - for PH1-sLD3 SoC.
|
||||
"socionext,uniphier-ld4-mio-reset" - for PH1-LD4 SoC.
|
||||
"socionext,uniphier-pro4-mio-reset" - for PH1-Pro4 SoC.
|
||||
"socionext,uniphier-sld8-mio-reset" - for PH1-sLD8 SoC.
|
||||
"socionext,uniphier-pro5-mio-reset" - for PH1-Pro5 SoC.
|
||||
"socionext,uniphier-pxs2-mio-reset" - for ProXstream2/PH1-LD6b SoC.
|
||||
"socionext,uniphier-ld11-mio-reset" - for PH1-LD11 SoC.
|
||||
"socionext,uniphier-ld20-mio-reset" - for PH1-LD20 SoC.
|
||||
"socionext,uniphier-sld3-mio-reset" - for sLD3 SoC.
|
||||
"socionext,uniphier-ld4-mio-reset" - for LD4 SoC.
|
||||
"socionext,uniphier-pro4-mio-reset" - for Pro4 SoC.
|
||||
"socionext,uniphier-sld8-mio-reset" - for sLD8 SoC.
|
||||
"socionext,uniphier-pro5-sd-reset" - for Pro5 SoC.
|
||||
"socionext,uniphier-pxs2-sd-reset" - for PXs2/LD6b SoC.
|
||||
"socionext,uniphier-ld11-mio-reset" - for LD11 SoC.
|
||||
"socionext,uniphier-ld20-sd-reset" - for LD20 SoC.
|
||||
- #reset-cells: should be 1.
|
||||
|
||||
Example:
|
||||
|
||||
mioctrl@59810000 {
|
||||
compatible = "socionext,uniphier-ld20-mioctrl",
|
||||
compatible = "socionext,uniphier-ld11-mioctrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x59810000 0x800>;
|
||||
|
||||
reset {
|
||||
compatible = "socionext,uniphier-ld20-mio-reset";
|
||||
compatible = "socionext,uniphier-ld11-mio-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
@ -68,24 +68,24 @@ Peripheral reset
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following:
|
||||
"socionext,uniphier-ld4-peri-reset" - for PH1-LD4 SoC.
|
||||
"socionext,uniphier-pro4-peri-reset" - for PH1-Pro4 SoC.
|
||||
"socionext,uniphier-sld8-peri-reset" - for PH1-sLD8 SoC.
|
||||
"socionext,uniphier-pro5-peri-reset" - for PH1-Pro5 SoC.
|
||||
"socionext,uniphier-pxs2-peri-reset" - for ProXstream2/PH1-LD6b SoC.
|
||||
"socionext,uniphier-ld11-peri-reset" - for PH1-LD11 SoC.
|
||||
"socionext,uniphier-ld20-peri-reset" - for PH1-LD20 SoC.
|
||||
"socionext,uniphier-ld4-peri-reset" - for LD4 SoC.
|
||||
"socionext,uniphier-pro4-peri-reset" - for Pro4 SoC.
|
||||
"socionext,uniphier-sld8-peri-reset" - for sLD8 SoC.
|
||||
"socionext,uniphier-pro5-peri-reset" - for Pro5 SoC.
|
||||
"socionext,uniphier-pxs2-peri-reset" - for PXs2/LD6b SoC.
|
||||
"socionext,uniphier-ld11-peri-reset" - for LD11 SoC.
|
||||
"socionext,uniphier-ld20-peri-reset" - for LD20 SoC.
|
||||
- #reset-cells: should be 1.
|
||||
|
||||
Example:
|
||||
|
||||
perictrl@59820000 {
|
||||
compatible = "socionext,uniphier-ld20-perictrl",
|
||||
compatible = "socionext,uniphier-ld11-perictrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x59820000 0x200>;
|
||||
|
||||
reset {
|
||||
compatible = "socionext,uniphier-ld20-peri-reset";
|
||||
compatible = "socionext,uniphier-ld11-peri-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
|
@ -11,7 +11,7 @@ Optional properties:
|
||||
- trickle-diode-disable : Do not use internal trickle charger diode
|
||||
Should be given if internal trickle charger diode should be disabled
|
||||
Example:
|
||||
ds1390: rtc@68 {
|
||||
ds1390: rtc@0 {
|
||||
compatible = "dallas,ds1390";
|
||||
trickle-resistor-ohms = <250>;
|
||||
reg = <0>;
|
||||
|
22
Documentation/devicetree/bindings/rtc/epson,rx8900.txt
Normal file
22
Documentation/devicetree/bindings/rtc/epson,rx8900.txt
Normal file
@ -0,0 +1,22 @@
|
||||
Real Time Clock driver for:
|
||||
- Epson RX8900
|
||||
- Micro Crystal rv8803
|
||||
|
||||
Required properties:
|
||||
- compatible: should be: "microcrystal,rv8803" or "epson,rx8900"
|
||||
- reg : the I2C address of the device for I2C
|
||||
|
||||
Optional properties:
|
||||
- epson,vdet-disable : boolean, if present will disable voltage detector.
|
||||
Should be set if no backup battery is used.
|
||||
- trickle-diode-disable : boolean, if present will disable internal trickle
|
||||
charger diode
|
||||
|
||||
Example:
|
||||
|
||||
rtc: rtc@32 {
|
||||
compatible = "epson,rx8900"
|
||||
reg = <0x32>;
|
||||
epson,vdet-disable;
|
||||
trickle-diode-disable;
|
||||
};
|
@ -18,6 +18,18 @@ Optional properties:
|
||||
through pmic_power_en
|
||||
- clocks: Any internal or external clocks feeding in to rtc
|
||||
- clock-names: Corresponding names of the clocks
|
||||
- pinctrl-0: a phandle pointing to the pin settings for the device
|
||||
- pinctrl-names: should be "default"
|
||||
|
||||
Optional subnodes:
|
||||
- generic pinctrl node
|
||||
|
||||
Required pinctrl subnodes properties:
|
||||
- pins - Names of ext_wakeup pins to configure
|
||||
|
||||
Optional pinctrl subnodes properties:
|
||||
- input-enable - Enables ext_wakeup
|
||||
- ti,active-high - Set input active high (by default active low)
|
||||
|
||||
Example:
|
||||
|
||||
@ -30,4 +42,13 @@ rtc@1c23000 {
|
||||
system-power-controller;
|
||||
clocks = <&clk_32k_rtc>, <&clk_32768_ck>;
|
||||
clock-names = "ext-clk", "int-clk";
|
||||
|
||||
pinctrl-0 = <&ext_wakeup>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
ext_wakeup: ext-wakeup {
|
||||
pins = "ext_wakeup0";
|
||||
input-enable;
|
||||
ti,active-high;
|
||||
};
|
||||
};
|
||||
|
@ -1,7 +1,9 @@
|
||||
Binding for Cadence UART Controller
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "cdns,uart-r1p8", or "xlnx,xuartps"
|
||||
- compatible :
|
||||
Use "xlnx,xuartps","cdns,uart-r1p8" for Zynq-7xxx SoC.
|
||||
Use "xlnx,zynqmp-uart","cdns,uart-r1p12" for Zynq Ultrascale+ MPSoC.
|
||||
- reg: Should contain UART controller registers location and length.
|
||||
- interrupts: Should contain UART controller interrupts.
|
||||
- clocks: Must contain phandles to the UART clocks
|
||||
|
@ -9,6 +9,14 @@ Required properties:
|
||||
- "renesas,scifb-r8a73a4" for R8A73A4 (R-Mobile APE6) SCIFB compatible UART.
|
||||
- "renesas,scifa-r8a7740" for R8A7740 (R-Mobile A1) SCIFA compatible UART.
|
||||
- "renesas,scifb-r8a7740" for R8A7740 (R-Mobile A1) SCIFB compatible UART.
|
||||
- "renesas,scif-r8a7743" for R8A7743 (RZ/G1M) SCIF compatible UART.
|
||||
- "renesas,scifa-r8a7743" for R8A7743 (RZ/G1M) SCIFA compatible UART.
|
||||
- "renesas,scifb-r8a7743" for R8A7743 (RZ/G1M) SCIFB compatible UART.
|
||||
- "renesas,hscif-r8a7743" for R8A7743 (RZ/G1M) HSCIF compatible UART.
|
||||
- "renesas,scif-r8a7745" for R8A7745 (RZ/G1E) SCIF compatible UART.
|
||||
- "renesas,scifa-r8a7745" for R8A7745 (RZ/G1E) SCIFA compatible UART.
|
||||
- "renesas,scifb-r8a7745" for R8A7745 (RZ/G1E) SCIFB compatible UART.
|
||||
- "renesas,hscif-r8a7745" for R8A7745 (RZ/G1E) HSCIF compatible UART.
|
||||
- "renesas,scif-r8a7778" for R8A7778 (R-Car M1) SCIF compatible UART.
|
||||
- "renesas,scif-r8a7779" for R8A7779 (R-Car H1) SCIF compatible UART.
|
||||
- "renesas,scif-r8a7790" for R8A7790 (R-Car H2) SCIF compatible UART.
|
||||
|
24
Documentation/devicetree/bindings/timer/jcore,pit.txt
Normal file
24
Documentation/devicetree/bindings/timer/jcore,pit.txt
Normal file
@ -0,0 +1,24 @@
|
||||
J-Core Programmable Interval Timer and Clocksource
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: Must be "jcore,pit".
|
||||
|
||||
- reg: Memory region(s) for timer/clocksource registers. For SMP,
|
||||
there should be one region per cpu, indexed by the sequential,
|
||||
zero-based hardware cpu number.
|
||||
|
||||
- interrupts: An interrupt to assign for the timer. The actual pit
|
||||
core is integrated with the aic and allows the timer interrupt
|
||||
assignment to be programmed by software, but this property is
|
||||
required in order to reserve an interrupt number that doesn't
|
||||
conflict with other devices.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
timer@200 {
|
||||
compatible = "jcore,pit";
|
||||
reg = < 0x200 0x30 0x500 0x30 >;
|
||||
interrupts = < 0x48 >;
|
||||
};
|
@ -28,10 +28,7 @@ Refer to phy/phy-bindings.txt for generic phy consumer properties
|
||||
- g-use-dma: enable dma usage in gadget driver.
|
||||
- g-rx-fifo-size: size of rx fifo size in gadget mode.
|
||||
- g-np-tx-fifo-size: size of non-periodic tx fifo size in gadget mode.
|
||||
|
||||
Deprecated properties:
|
||||
- g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0)
|
||||
in gadget mode.
|
||||
- g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -163,9 +163,11 @@ maxim Maxim Integrated Products
|
||||
meas Measurement Specialties
|
||||
mediatek MediaTek Inc.
|
||||
melexis Melexis N.V.
|
||||
melfas MELFAS Inc.
|
||||
merrii Merrii Technology Co., Ltd.
|
||||
micrel Micrel Inc.
|
||||
microchip Microchip Technology Inc.
|
||||
microcrystal Micro Crystal AG
|
||||
micron Micron Technology Inc.
|
||||
minix MINIX Technology Ltd.
|
||||
mitsubishi Mitsubishi Electric Corporation
|
||||
|
@ -22,7 +22,7 @@
|
||||
| m68k: | TODO |
|
||||
| metag: | TODO |
|
||||
| microblaze: | TODO |
|
||||
| mips: | TODO |
|
||||
| mips: | ok |
|
||||
| mn10300: | TODO |
|
||||
| nios2: | TODO |
|
||||
| openrisc: | TODO |
|
||||
|
@ -2,8 +2,6 @@
|
||||
- this file (info on some of the filesystems supported by linux).
|
||||
Locking
|
||||
- info on locking rules as they pertain to Linux VFS.
|
||||
Makefile
|
||||
- Makefile for building the filsystems-part of DocBook.
|
||||
9p.txt
|
||||
- 9p (v9fs) is an implementation of the Plan 9 remote fs protocol.
|
||||
adfs.txt
|
||||
|
@ -1,5 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-y := dnotify_test
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
@ -395,32 +395,6 @@ is not associated with a file:
|
||||
|
||||
or if empty, the mapping is anonymous.
|
||||
|
||||
The /proc/PID/task/TID/maps is a view of the virtual memory from the viewpoint
|
||||
of the individual tasks of a process. In this file you will see a mapping marked
|
||||
as [stack] if that task sees it as a stack. Hence, for the example above, the
|
||||
task-level map, i.e. /proc/PID/task/TID/maps for thread 1001 will look like this:
|
||||
|
||||
08048000-08049000 r-xp 00000000 03:00 8312 /opt/test
|
||||
08049000-0804a000 rw-p 00001000 03:00 8312 /opt/test
|
||||
0804a000-0806b000 rw-p 00000000 00:00 0 [heap]
|
||||
a7cb1000-a7cb2000 ---p 00000000 00:00 0
|
||||
a7cb2000-a7eb2000 rw-p 00000000 00:00 0
|
||||
a7eb2000-a7eb3000 ---p 00000000 00:00 0
|
||||
a7eb3000-a7ed5000 rw-p 00000000 00:00 0 [stack]
|
||||
a7ed5000-a8008000 r-xp 00000000 03:00 4222 /lib/libc.so.6
|
||||
a8008000-a800a000 r--p 00133000 03:00 4222 /lib/libc.so.6
|
||||
a800a000-a800b000 rw-p 00135000 03:00 4222 /lib/libc.so.6
|
||||
a800b000-a800e000 rw-p 00000000 00:00 0
|
||||
a800e000-a8022000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0
|
||||
a8022000-a8023000 r--p 00013000 03:00 14462 /lib/libpthread.so.0
|
||||
a8023000-a8024000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0
|
||||
a8024000-a8027000 rw-p 00000000 00:00 0
|
||||
a8027000-a8043000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2
|
||||
a8043000-a8044000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2
|
||||
a8044000-a8045000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2
|
||||
aff35000-aff4a000 rw-p 00000000 00:00 0
|
||||
ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]
|
||||
|
||||
The /proc/PID/smaps is an extension based on maps, showing the memory
|
||||
consumption for each of the process's mappings. For each of mappings there
|
||||
is a series of lines such as the following:
|
||||
|
@ -6,7 +6,7 @@ Note that it only applies to the new descriptor-based interface. For a
|
||||
description of the deprecated integer-based GPIO interface please refer to
|
||||
gpio-legacy.txt (actually, there is no real mapping possible with the old
|
||||
interface; you just fetch an integer from somewhere and request the
|
||||
corresponding GPIO.
|
||||
corresponding GPIO).
|
||||
|
||||
All platforms can enable the GPIO library, but if the platform strictly
|
||||
requires GPIO functionality to be present, it needs to select GPIOLIB from its
|
||||
@ -162,6 +162,9 @@ The driver controlling "foo.0" will then be able to obtain its GPIOs as follows:
|
||||
|
||||
Since the "led" GPIOs are mapped as active-high, this example will switch their
|
||||
signals to 1, i.e. enabling the LEDs. And for the "power" GPIO, which is mapped
|
||||
as active-low, its actual signal will be 0 after this code. Contrary to the legacy
|
||||
integer GPIO interface, the active-low property is handled during mapping and is
|
||||
thus transparent to GPIO consumers.
|
||||
as active-low, its actual signal will be 0 after this code. Contrary to the
|
||||
legacy integer GPIO interface, the active-low property is handled during
|
||||
mapping and is thus transparent to GPIO consumers.
|
||||
|
||||
A set of functions such as gpiod_set_value() is available to work with
|
||||
the new descriptor-oriented interface.
|
||||
|
@ -1,5 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-y := aliasing-test
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
@ -17,6 +17,7 @@ Contents:
|
||||
driver-api/index
|
||||
media/index
|
||||
gpu/index
|
||||
80211/index
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
@ -319,3 +319,60 @@ For touchpad packet, the format is:
|
||||
otherwise byte 0 bit 4 must be set and byte 0/4/5 are
|
||||
in NEW fmt
|
||||
F: Number of fingers - 3, 0 means 3 fingers, 1 means 4 ...
|
||||
|
||||
|
||||
ALPS Absolute Mode - Protocol Version 8
|
||||
---------------------------------------
|
||||
|
||||
Spoken by SS4 (73 03 14) and SS5 (73 03 28) hardware.
|
||||
|
||||
The packet type is given by the APD field, bits 4-5 of byte 3.
|
||||
|
||||
Touchpad packet (APD = 0x2):
|
||||
|
||||
b7 b6 b5 b4 b3 b2 b1 b0
|
||||
byte 0: SWM SWR SWL 1 1 0 0 X7
|
||||
byte 1: 0 X6 X5 X4 X3 X2 X1 X0
|
||||
byte 2: 0 Y6 Y5 Y4 Y3 Y2 Y1 Y0
|
||||
byte 3: 0 T&P 1 0 1 0 0 Y7
|
||||
byte 4: 0 Z6 Z5 Z4 Z3 Z2 Z1 Z0
|
||||
byte 5: 0 0 0 0 0 0 0 0
|
||||
|
||||
SWM, SWR, SWL: Middle, Right, and Left button states
|
||||
|
||||
Touchpad 1 Finger packet (APD = 0x0):
|
||||
|
||||
b7 b6 b5 b4 b3 b2 b1 b0
|
||||
byte 0: SWM SWR SWL 1 1 X2 X1 X0
|
||||
byte 1: X9 X8 X7 1 X6 X5 X4 X3
|
||||
byte 2: 0 X11 X10 LFB Y3 Y2 Y1 Y0
|
||||
byte 3: Y5 Y4 0 0 1 TAPF2 TAPF1 TAPF0
|
||||
byte 4: Zv7 Y11 Y10 1 Y9 Y8 Y7 Y6
|
||||
byte 5: Zv6 Zv5 Zv4 0 Zv3 Zv2 Zv1 Zv0
|
||||
|
||||
TAPF: ???
|
||||
LFB: ???
|
||||
|
||||
Touchpad 2 Finger packet (APD = 0x1):
|
||||
|
||||
b7 b6 b5 b4 b3 b2 b1 b0
|
||||
byte 0: SWM SWR SWL 1 1 AX6 AX5 AX4
|
||||
byte 1: AX11 AX10 AX9 AX8 AX7 AZ1 AY4 AZ0
|
||||
byte 2: AY11 AY10 AY9 CONT AY8 AY7 AY6 AY5
|
||||
byte 3: 0 0 0 1 1 BX6 BX5 BX4
|
||||
byte 4: BX11 BX10 BX9 BX8 BX7 BZ1 BY4 BZ0
|
||||
byte 5: BY11 BY10 BY9 0 BY8 BY7 BY5 BY5
|
||||
|
||||
CONT: A 3-or-4 Finger packet is to follow
|
||||
|
||||
Touchpad 3-or-4 Finger packet (APD = 0x3):
|
||||
|
||||
b7 b6 b5 b4 b3 b2 b1 b0
|
||||
byte 0: SWM SWR SWL 1 1 AX6 AX5 AX4
|
||||
byte 1: AX11 AX10 AX9 AX8 AX7 AZ1 AY4 AZ0
|
||||
byte 2: AY11 AY10 AY9 OVF AY8 AY7 AY6 AY5
|
||||
byte 3: 0 0 1 1 1 BX6 BX5 BX4
|
||||
byte 4: BX11 BX10 BX9 BX8 BX7 BZ1 BY4 BZ0
|
||||
byte 5: BY11 BY10 BY9 0 BY8 BY7 BY5 BY5
|
||||
|
||||
OVF: 5th finger detected
|
||||
|
@ -41,6 +41,7 @@ This document describes the Linux kernel Makefiles.
|
||||
--- 6.8 Custom kbuild commands
|
||||
--- 6.9 Preprocessing linker scripts
|
||||
--- 6.10 Generic header files
|
||||
--- 6.11 Post-link pass
|
||||
|
||||
=== 7 Kbuild syntax for exported headers
|
||||
--- 7.1 header-y
|
||||
@ -1237,6 +1238,21 @@ When kbuild executes, the following steps are followed (roughly):
|
||||
to list the file in the Kbuild file.
|
||||
See "7.4 generic-y" for further info on syntax etc.
|
||||
|
||||
--- 6.11 Post-link pass
|
||||
|
||||
If the file arch/xxx/Makefile.postlink exists, this makefile
|
||||
will be invoked for post-link objects (vmlinux and modules.ko)
|
||||
for architectures to run post-link passes on. Must also handle
|
||||
the clean target.
|
||||
|
||||
This pass runs after kallsyms generation. If the architecture
|
||||
needs to modify symbol locations, rather than manipulate the
|
||||
kallsyms, it may be easier to add another postlink target for
|
||||
.tmp_vmlinux? targets to be called from link-vmlinux.sh.
|
||||
|
||||
For example, powerpc uses this to check relocation sanity of
|
||||
the linked vmlinux file.
|
||||
|
||||
=== 7 Kbuild syntax for exported headers
|
||||
|
||||
The kernel includes a set of headers that is exported to userspace.
|
||||
|
@ -1511,7 +1511,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||
i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
|
||||
controllers
|
||||
i8042.notimeout [HW] Ignore timeout condition signalled by controller
|
||||
i8042.reset [HW] Reset the controller during init and cleanup
|
||||
i8042.reset [HW] Reset the controller during init, cleanup and
|
||||
suspend-to-ram transitions, only during s2r
|
||||
transitions, or never reset
|
||||
Format: { 1 | Y | y | 0 | N | n }
|
||||
1, Y, y: always reset controller
|
||||
0, N, n: don't ever reset controller
|
||||
Default: only on s2r transitions on x86; most other
|
||||
architectures force reset to be always executed
|
||||
i8042.unlock [HW] Unlock (ignore) the keylock
|
||||
i8042.kbdreset [HW] Reset device connected to KBD port
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
Linux Kernel Selftests
|
||||
|
||||
The kernel contains a set of "self tests" under the tools/testing/selftests/
|
||||
directory. These are intended to be small unit tests to exercise individual
|
||||
code paths in the kernel.
|
||||
directory. These are intended to be small tests to exercise individual code
|
||||
paths in the kernel. Tests are intended to be run after building, installing
|
||||
and booting a kernel.
|
||||
|
||||
On some systems, hot-plug tests could hang forever waiting for cpu and
|
||||
memory to be ready to be offlined. A special hot-plug target is created
|
||||
|
@ -1,13 +1,9 @@
|
||||
00-INDEX
|
||||
- This file
|
||||
Makefile
|
||||
- Makefile for building dslm example program.
|
||||
asus-laptop.txt
|
||||
- information on the Asus Laptop Extras driver.
|
||||
disk-shock-protection.txt
|
||||
- information on hard disk shock protection.
|
||||
dslm.c
|
||||
- Simple Disk Sleep Monitor program
|
||||
laptop-mode.txt
|
||||
- how to conserve battery power using laptop-mode.
|
||||
sony-laptop.txt
|
||||
|
@ -1,5 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-y := dslm
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
@ -779,4 +779,4 @@ Monitoring tool
|
||||
---------------
|
||||
|
||||
Bartek Kania submitted this, it can be used to measure how much time your disk
|
||||
spends spun up/down. See Documentation/laptops/dslm.c
|
||||
spends spun up/down. See tools/laptop/dslm/dslm.c
|
||||
|
@ -1 +0,0 @@
|
||||
subdir-y := mpssd
|
@ -1,21 +0,0 @@
|
||||
ifndef CROSS_COMPILE
|
||||
# List of programs to build
|
||||
hostprogs-$(CONFIG_X86_64) := mpssd
|
||||
|
||||
mpssd-objs := mpssd.o sysfs.o
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
||||
|
||||
HOSTCFLAGS += -I$(objtree)/usr/include -I$(srctree)/tools/include
|
||||
|
||||
ifdef DEBUG
|
||||
HOSTCFLAGS += -DDEBUG=$(DEBUG)
|
||||
endif
|
||||
|
||||
HOSTLOADLIBES_mpssd := -lpthread
|
||||
|
||||
install:
|
||||
install mpssd /usr/sbin/mpssd
|
||||
install micctrl /usr/sbin/micctrl
|
||||
endif
|
@ -1 +0,0 @@
|
||||
subdir-y := mei
|
@ -1,5 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-y := mei-amt-version
|
||||
HOSTCFLAGS_mei-amt-version.o += -I$(objtree)/usr/include
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
@ -10,8 +10,6 @@ LICENSE.qlge
|
||||
- GPLv2 for QLogic Linux qlge NIC Driver
|
||||
LICENSE.qlcnic
|
||||
- GPLv2 for QLogic Linux qlcnic NIC Driver
|
||||
Makefile
|
||||
- Makefile for docsrc.
|
||||
PLIP.txt
|
||||
- PLIP: The Parallel Line Internet Protocol device driver
|
||||
README.ipw2100
|
||||
|
@ -1 +0,0 @@
|
||||
subdir-y := timestamping
|
@ -29,8 +29,8 @@ A: There are always two trees (git repositories) in play. Both are driven
|
||||
Linus, and net-next is where the new code goes for the future release.
|
||||
You can find the trees here:
|
||||
|
||||
http://git.kernel.org/?p=linux/kernel/git/davem/net.git
|
||||
http://git.kernel.org/?p=linux/kernel/git/davem/net-next.git
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
|
||||
|
||||
Q: How often do changes from these trees make it to the mainline Linus tree?
|
||||
|
||||
@ -76,7 +76,7 @@ Q: So where are we now in this cycle?
|
||||
|
||||
A: Load the mainline (Linus) page here:
|
||||
|
||||
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
|
||||
|
||||
and note the top of the "tags" section. If it is rc1, it is early
|
||||
in the dev cycle. If it was tagged rc7 a week ago, then a release
|
||||
@ -123,7 +123,7 @@ A: Normally Greg Kroah-Hartman collects stable commits himself, but
|
||||
|
||||
It contains the patches which Dave has selected, but not yet handed
|
||||
off to Greg. If Greg already has the patch, then it will be here:
|
||||
http://git.kernel.org/cgit/linux/kernel/git/stable/stable-queue.git
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git
|
||||
|
||||
A quick way to find whether the patch is in this stable-queue is
|
||||
to simply clone the repo, and then git grep the mainline commit ID, e.g.
|
||||
|
@ -33,24 +33,6 @@ nf_conntrack_events - BOOLEAN
|
||||
If this option is enabled, the connection tracking code will
|
||||
provide userspace with connection tracking events via ctnetlink.
|
||||
|
||||
nf_conntrack_events_retry_timeout - INTEGER (seconds)
|
||||
default 15
|
||||
|
||||
This option is only relevant when "reliable connection tracking
|
||||
events" are used. Normally, ctnetlink is "lossy", that is,
|
||||
events are normally dropped when userspace listeners can't keep up.
|
||||
|
||||
Userspace can request "reliable event mode". When this mode is
|
||||
active, the conntrack will only be destroyed after the event was
|
||||
delivered. If event delivery fails, the kernel periodically
|
||||
re-tries to send the event to userspace.
|
||||
|
||||
This is the maximum interval the kernel should use when re-trying
|
||||
to deliver the destroy event.
|
||||
|
||||
A higher number means there will be fewer delivery retries and it
|
||||
will take longer for a backlog to be processed.
|
||||
|
||||
nf_conntrack_expect_max - INTEGER
|
||||
Maximum size of expectation table. Default value is
|
||||
nf_conntrack_buckets / 256. Minimum is 1.
|
||||
|
@ -1,14 +0,0 @@
|
||||
# To compile, from the source root
|
||||
#
|
||||
# make headers_install
|
||||
# make M=documentation
|
||||
|
||||
# List of programs to build
|
||||
hostprogs-y := hwtstamp_config timestamping txtimestamp
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
||||
|
||||
HOSTCFLAGS_timestamping.o += -I$(objtree)/usr/include
|
||||
HOSTCFLAGS_txtimestamp.o += -I$(objtree)/usr/include
|
||||
HOSTCFLAGS_hwtstamp_config.o += -I$(objtree)/usr/include
|
@ -1,7 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-y := crc32hash
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
||||
|
||||
HOSTCFLAGS_crc32hash.o += -I$(objtree)/usr/include
|
@ -27,7 +27,7 @@ pcmcia:m0149cC1ABf06pfn00fn00pa725B842DpbF1EFEE84pc0877B627pd00000000
|
||||
The hex value after "pa" is the hash of product ID string 1, after "pb" for
|
||||
string 2 and so on.
|
||||
|
||||
Alternatively, you can use crc32hash (see Documentation/pcmcia/crc32hash.c)
|
||||
Alternatively, you can use crc32hash (see tools/pcmcia/crc32hash.c)
|
||||
to determine the crc32 hash. Simply pass the string you want to evaluate
|
||||
as argument to this program, e.g.:
|
||||
$ ./crc32hash "Dual Speed"
|
||||
$ tools/pcmcia/crc32hash "Dual Speed"
|
||||
|
@ -1,10 +0,0 @@
|
||||
ifndef CROSS_COMPILE
|
||||
# List of programs to build
|
||||
hostprogs-$(CONFIG_X86) := disable-tsc-ctxt-sw-stress-test disable-tsc-on-off-stress-test disable-tsc-test
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
||||
|
||||
HOSTCFLAGS_disable-tsc-ctxt-sw-stress-test.o += -I$(objtree)/usr/include
|
||||
HOSTCFLAGS_disable-tsc-on-off-stress-test.o += -I$(objtree)/usr/include
|
||||
HOSTCFLAGS_disable-tsc-test.o += -I$(objtree)/usr/include
|
||||
endif
|
@ -1,8 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-y := testptp
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
||||
|
||||
HOSTCFLAGS_testptp.o += -I$(objtree)/usr/include
|
||||
HOSTLOADLIBES_testptp := -lrt
|
@ -21,16 +21,6 @@ NCR53c400 card, the Trantor T130B in its default configuration:
|
||||
The NCR53c400 does not support DMA but it does have Pseudo-DMA which is
|
||||
supported by the driver.
|
||||
|
||||
If the default configuration does not work for you, you can use the kernel
|
||||
command lines (eg using the lilo append command):
|
||||
ncr5380=addr,irq
|
||||
ncr53c400=addr,irq
|
||||
ncr53c400a=addr,irq
|
||||
dtc3181e=addr,irq
|
||||
|
||||
The driver does not probe for any addresses or ports other than those in
|
||||
the OVERRIDE or given to the kernel as above.
|
||||
|
||||
This driver provides some information on what it has detected in
|
||||
/proc/scsi/g_NCR5380/x where x is the scsi card number as detected at boot
|
||||
time. More info to come in the future.
|
||||
@ -38,6 +28,16 @@ time. More info to come in the future.
|
||||
This driver works as a module.
|
||||
When included as a module, parameters can be passed on the insmod/modprobe
|
||||
command line:
|
||||
irq=xx[,...] the interrupt(s)
|
||||
base=xx[,...] the port or base address(es) (for port or memory mapped, resp.)
|
||||
card=xx[,...] card type(s):
|
||||
0 = NCR5380,
|
||||
1 = NCR53C400,
|
||||
2 = NCR53C400A,
|
||||
3 = Domex Technology Corp 3181E (DTC3181E)
|
||||
4 = Hewlett Packard C2502
|
||||
|
||||
These old-style parameters can support only one card:
|
||||
ncr_irq=xx the interrupt
|
||||
ncr_addr=xx the port or base address (for port or memory
|
||||
mapped, resp.)
|
||||
@ -46,11 +46,19 @@ command line:
|
||||
ncr_53c400a=1 to set up for a NCR53C400A board
|
||||
dtc_3181e=1 to set up for a Domex Technology Corp 3181E board
|
||||
hp_c2502=1 to set up for a Hewlett Packard C2502 board
|
||||
|
||||
e.g.
|
||||
modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_5380=1
|
||||
OLD: modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_5380=1
|
||||
NEW: modprobe g_NCR5380 irq=5 base=0x350 card=0
|
||||
for a port mapped NCR5380 board or
|
||||
modprobe g_NCR5380 ncr_irq=255 ncr_addr=0xc8000 ncr_53c400=1
|
||||
for a memory mapped NCR53C400 board with interrupts disabled.
|
||||
|
||||
OLD: modprobe g_NCR5380 ncr_irq=255 ncr_addr=0xc8000 ncr_53c400=1
|
||||
NEW: modprobe g_NCR5380 irq=255 base=0xc8000 card=1
|
||||
for a memory mapped NCR53C400 board with interrupts disabled or
|
||||
|
||||
NEW: modprobe g_NCR5380 irq=0,7 base=0x240,0x300 card=3,4
|
||||
for two cards: DTC3181 (in non-PnP mode) at 0x240 with no IRQ
|
||||
and HP C2502 at 0x300 with IRQ 7
|
||||
|
||||
(255 should be specified for no or DMA interrupt, 254 to autoprobe for an
|
||||
IRQ line if overridden on the command line.)
|
||||
|
@ -1,7 +1,5 @@
|
||||
00-INDEX
|
||||
- this file.
|
||||
Makefile
|
||||
- Makefile for the example sourcefiles.
|
||||
butterfly
|
||||
- AVR Butterfly SPI driver overview and pin configuration.
|
||||
ep93xx_spi
|
||||
|
@ -4,12 +4,8 @@ highres.txt
|
||||
- High resolution timers and dynamic ticks design notes
|
||||
hpet.txt
|
||||
- High Precision Event Timer Driver for Linux
|
||||
hpet_example.c
|
||||
- sample hpet timer test program
|
||||
hrtimers.txt
|
||||
- subsystem for high-resolution kernel timers
|
||||
Makefile
|
||||
- Build and link hpet_example
|
||||
NO_HZ.txt
|
||||
- Summary of the different methods for the scheduler clock-interrupts management.
|
||||
timekeeping.txt
|
||||
|
@ -1,5 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-$(CONFIG_X86) := hpet_example
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
@ -25,4 +25,4 @@ arch/x86/kernel/hpet.c.
|
||||
|
||||
The driver provides a userspace API which resembles the API found in the
|
||||
RTC driver framework. An example user space program is provided in
|
||||
file:Documentation/timers/hpet_example.c
|
||||
file:samples/timers/hpet_example.c
|
||||
|
@ -1,17 +0,0 @@
|
||||
ifndef CROSS_COMPILE
|
||||
# vdso_test won't build for glibc < 2.16, so disable it
|
||||
# hostprogs-y := vdso_test
|
||||
hostprogs-$(CONFIG_X86) := vdso_standalone_test_x86
|
||||
vdso_standalone_test_x86-objs := vdso_standalone_test_x86.o parse_vdso.o
|
||||
vdso_test-objs := parse_vdso.o vdso_test.o
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
||||
|
||||
HOSTCFLAGS := -I$(objtree)/usr/include -std=gnu99
|
||||
HOSTCFLAGS_vdso_standalone_test_x86.o := -fno-asynchronous-unwind-tables -fno-stack-protector
|
||||
HOSTLOADLIBES_vdso_standalone_test_x86 := -nostdlib
|
||||
ifeq ($(CONFIG_X86_32),y)
|
||||
HOSTLOADLIBES_vdso_standalone_test_x86 += -lgcc_s
|
||||
endif
|
||||
endif
|
@ -1 +0,0 @@
|
||||
subdir-y := src
|
@ -1,5 +0,0 @@
|
||||
# List of programs to build
|
||||
hostprogs-y := watchdog-simple watchdog-test
|
||||
|
||||
# Tell kbuild to always build the programs
|
||||
always := $(hostprogs-y)
|
@ -37,7 +37,7 @@ activates as soon as /dev/watchdog is opened and will reboot unless
|
||||
the watchdog is pinged within a certain time, this time is called the
|
||||
timeout or margin. The simplest way to ping the watchdog is to write
|
||||
some data to the device. So a very simple watchdog daemon would look
|
||||
like this source file: see Documentation/watchdog/src/watchdog-simple.c
|
||||
like this source file: see samples/watchdog/watchdog-simple.c
|
||||
|
||||
A more advanced driver could for example check that a HTTP server is
|
||||
still responding before doing the write call to ping the watchdog.
|
||||
|
@ -47,4 +47,4 @@ The external event interfaces on the WDT boards are not currently supported.
|
||||
Minor numbers are however allocated for it.
|
||||
|
||||
|
||||
Example Watchdog Driver: see Documentation/watchdog/src/watchdog-simple.c
|
||||
Example Watchdog Driver: see samples/watchdog/watchdog-simple.c
|
||||
|
103
MAINTAINERS
103
MAINTAINERS
@ -316,6 +316,14 @@ W: https://01.org/linux-acpi
|
||||
S: Supported
|
||||
F: drivers/acpi/fan.c
|
||||
|
||||
ACPI FOR ARM64 (ACPI/arm64)
|
||||
M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
|
||||
M: Hanjun Guo <hanjun.guo@linaro.org>
|
||||
M: Sudeep Holla <sudeep.holla@arm.com>
|
||||
L: linux-acpi@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/acpi/arm64
|
||||
|
||||
ACPI THERMAL DRIVER
|
||||
M: Zhang Rui <rui.zhang@intel.com>
|
||||
L: linux-acpi@vger.kernel.org
|
||||
@ -1434,6 +1442,7 @@ F: drivers/cpufreq/mvebu-cpufreq.c
|
||||
F: arch/arm/configs/mvebu_*_defconfig
|
||||
|
||||
ARM/Marvell Berlin SoC support
|
||||
M: Jisheng Zhang <jszhang@marvell.com>
|
||||
M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
|
||||
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
@ -2545,15 +2554,18 @@ S: Supported
|
||||
F: drivers/net/ethernet/broadcom/genet/
|
||||
|
||||
BROADCOM BNX2 GIGABIT ETHERNET DRIVER
|
||||
M: Sony Chacko <sony.chacko@qlogic.com>
|
||||
M: Dept-HSGLinuxNICDev@qlogic.com
|
||||
M: Rasesh Mody <rasesh.mody@cavium.com>
|
||||
M: Harish Patil <harish.patil@cavium.com>
|
||||
M: Dept-GELinuxNICDev@cavium.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/net/ethernet/broadcom/bnx2.*
|
||||
F: drivers/net/ethernet/broadcom/bnx2_*
|
||||
|
||||
BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
|
||||
M: Ariel Elior <ariel.elior@qlogic.com>
|
||||
M: Yuval Mintz <Yuval.Mintz@cavium.com>
|
||||
M: Ariel Elior <ariel.elior@cavium.com>
|
||||
M: everest-linux-l2@cavium.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/net/ethernet/broadcom/bnx2x/
|
||||
@ -2760,7 +2772,9 @@ S: Supported
|
||||
F: drivers/scsi/bfa/
|
||||
|
||||
BROCADE BNA 10 GIGABIT ETHERNET DRIVER
|
||||
M: Rasesh Mody <rasesh.mody@qlogic.com>
|
||||
M: Rasesh Mody <rasesh.mody@cavium.com>
|
||||
M: Sudarsana Kalluru <sudarsana.kalluru@cavium.com>
|
||||
M: Dept-GELinuxNICDev@cavium.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/net/ethernet/brocade/bna/
|
||||
@ -4614,8 +4628,9 @@ F: sound/usb/misc/ua101.c
|
||||
|
||||
EXTENSIBLE FIRMWARE INTERFACE (EFI)
|
||||
M: Matt Fleming <matt@codeblueprint.co.uk>
|
||||
M: Ard Biesheuvel <ard.biesheuvel@linaro.org>
|
||||
L: linux-efi@vger.kernel.org
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git
|
||||
S: Maintained
|
||||
F: Documentation/efi-stub.txt
|
||||
F: arch/ia64/kernel/efi.c
|
||||
@ -5280,6 +5295,12 @@ M: Joe Perches <joe@perches.com>
|
||||
S: Maintained
|
||||
F: scripts/get_maintainer.pl
|
||||
|
||||
GENWQE (IBM Generic Workqueue Card)
|
||||
M: Frank Haverkamp <haver@linux.vnet.ibm.com>
|
||||
M: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
|
||||
S: Supported
|
||||
F: drivers/misc/genwqe/
|
||||
|
||||
GFS2 FILE SYSTEM
|
||||
M: Steven Whitehouse <swhiteho@redhat.com>
|
||||
M: Bob Peterson <rpeterso@redhat.com>
|
||||
@ -6125,6 +6146,12 @@ M: Stanislaw Gruszka <stf_xl@wp.pl>
|
||||
S: Maintained
|
||||
F: drivers/usb/atm/ueagle-atm.c
|
||||
|
||||
IMGTEC ASCII LCD DRIVER
|
||||
M: Paul Burton <paul.burton@imgtec.com>
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/auxdisplay/img-ascii-lcd.txt
|
||||
F: drivers/auxdisplay/img-ascii-lcd.c
|
||||
|
||||
INA209 HARDWARE MONITOR DRIVER
|
||||
M: Guenter Roeck <linux@roeck-us.net>
|
||||
L: linux-hwmon@vger.kernel.org
|
||||
@ -6436,6 +6463,7 @@ F: include/linux/mei_cl_bus.h
|
||||
F: drivers/misc/mei/*
|
||||
F: drivers/watchdog/mei_wdt.c
|
||||
F: Documentation/misc-devices/mei/*
|
||||
F: samples/mei/*
|
||||
|
||||
INTEL MIC DRIVERS (mic)
|
||||
M: Sudeep Dutt <sudeep.dutt@intel.com>
|
||||
@ -6622,10 +6650,10 @@ S: Maintained
|
||||
F: drivers/firmware/iscsi_ibft*
|
||||
|
||||
ISCSI
|
||||
M: Mike Christie <michaelc@cs.wisc.edu>
|
||||
M: Lee Duncan <lduncan@suse.com>
|
||||
M: Chris Leech <cleech@redhat.com>
|
||||
L: open-iscsi@googlegroups.com
|
||||
W: www.open-iscsi.org
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/mnc/linux-2.6-iscsi.git
|
||||
W: www.open-iscsi.com
|
||||
S: Maintained
|
||||
F: drivers/scsi/*iscsi*
|
||||
F: include/scsi/*iscsi*
|
||||
@ -7203,17 +7231,11 @@ F: drivers/lightnvm/
|
||||
F: include/linux/lightnvm.h
|
||||
F: include/uapi/linux/lightnvm.h
|
||||
|
||||
LINUX FOR IBM pSERIES (RS/6000)
|
||||
M: Paul Mackerras <paulus@au.ibm.com>
|
||||
W: http://www.ibm.com/linux/ltc/projects/ppc
|
||||
S: Supported
|
||||
F: arch/powerpc/boot/rs6000.h
|
||||
|
||||
LINUX FOR POWERPC (32-BIT AND 64-BIT)
|
||||
M: Benjamin Herrenschmidt <benh@kernel.crashing.org>
|
||||
M: Paul Mackerras <paulus@samba.org>
|
||||
M: Michael Ellerman <mpe@ellerman.id.au>
|
||||
W: http://www.penguinppc.org/
|
||||
W: https://github.com/linuxppc/linux/wiki
|
||||
L: linuxppc-dev@lists.ozlabs.org
|
||||
Q: http://patchwork.ozlabs.org/project/linuxppc-dev/list/
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
|
||||
@ -7228,6 +7250,7 @@ F: drivers/net/ethernet/ibm/ibmvnic.*
|
||||
F: drivers/pci/hotplug/pnv_php.c
|
||||
F: drivers/pci/hotplug/rpa*
|
||||
F: drivers/scsi/ibmvscsi/
|
||||
F: tools/testing/selftests/powerpc
|
||||
N: opal
|
||||
N: /pmac
|
||||
N: powermac
|
||||
@ -7284,9 +7307,8 @@ F: arch/powerpc/platforms/83xx/
|
||||
F: arch/powerpc/platforms/85xx/
|
||||
|
||||
LINUX FOR POWERPC PA SEMI PWRFICIENT
|
||||
M: Olof Johansson <olof@lixom.net>
|
||||
L: linuxppc-dev@lists.ozlabs.org
|
||||
S: Maintained
|
||||
S: Orphan
|
||||
F: arch/powerpc/platforms/pasemi/
|
||||
F: drivers/*/*pasemi*
|
||||
F: drivers/*/*/*pasemi*
|
||||
@ -7829,6 +7851,13 @@ F: Documentation/scsi/megaraid.txt
|
||||
F: drivers/scsi/megaraid.*
|
||||
F: drivers/scsi/megaraid/
|
||||
|
||||
MELFAS MIP4 TOUCHSCREEN DRIVER
|
||||
M: Sangwon Jee <jeesw@melfas.com>
|
||||
W: http://www.melfas.com
|
||||
S: Supported
|
||||
F: drivers/input/touchscreen/melfas_mip4.c
|
||||
F: Documentation/devicetree/bindings/input/touchscreen/melfas_mip4.txt
|
||||
|
||||
MELLANOX ETHERNET DRIVER (mlx4_en)
|
||||
M: Tariq Toukan <tariqt@mellanox.com>
|
||||
L: netdev@vger.kernel.org
|
||||
@ -8085,6 +8114,7 @@ S: Maintained
|
||||
F: drivers/media/dvb-frontends/mn88473*
|
||||
|
||||
MODULE SUPPORT
|
||||
M: Jessica Yu <jeyu@redhat.com>
|
||||
M: Rusty Russell <rusty@rustcorp.com.au>
|
||||
S: Maintained
|
||||
F: include/linux/module.h
|
||||
@ -8198,7 +8228,7 @@ F: include/linux/mfd/
|
||||
MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
|
||||
M: Ulf Hansson <ulf.hansson@linaro.org>
|
||||
L: linux-mmc@vger.kernel.org
|
||||
T: git git://git.linaro.org/people/ulf.hansson/mmc.git
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/mmc/
|
||||
F: drivers/mmc/
|
||||
@ -8493,11 +8523,10 @@ F: Documentation/devicetree/bindings/net/wireless/
|
||||
F: drivers/net/wireless/
|
||||
|
||||
NETXEN (1/10) GbE SUPPORT
|
||||
M: Manish Chopra <manish.chopra@qlogic.com>
|
||||
M: Sony Chacko <sony.chacko@qlogic.com>
|
||||
M: Rajesh Borundia <rajesh.borundia@qlogic.com>
|
||||
M: Manish Chopra <manish.chopra@cavium.com>
|
||||
M: Rahul Verma <rahul.verma@cavium.com>
|
||||
M: Dept-GELinuxNICDev@cavium.com
|
||||
L: netdev@vger.kernel.org
|
||||
W: http://www.qlogic.com
|
||||
S: Supported
|
||||
F: drivers/net/ethernet/qlogic/netxen/
|
||||
|
||||
@ -9020,15 +9049,13 @@ S: Maintained
|
||||
F: drivers/net/wireless/intersil/p54/
|
||||
|
||||
PA SEMI ETHERNET DRIVER
|
||||
M: Olof Johansson <olof@lixom.net>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
S: Orphan
|
||||
F: drivers/net/ethernet/pasemi/*
|
||||
|
||||
PA SEMI SMBUS DRIVER
|
||||
M: Olof Johansson <olof@lixom.net>
|
||||
L: linux-i2c@vger.kernel.org
|
||||
S: Maintained
|
||||
S: Orphan
|
||||
F: drivers/i2c/busses/i2c-pasemi.c
|
||||
|
||||
PADATA PARALLEL EXECUTION MECHANISM
|
||||
@ -9286,7 +9313,7 @@ S: Maintained
|
||||
F: drivers/pci/host/*designware*
|
||||
|
||||
PCI DRIVER FOR SYNOPSYS PROTOTYPING DEVICE
|
||||
M: Joao Pinto <jpinto@synopsys.com>
|
||||
M: Jose Abreu <Jose.Abreu@synopsys.com>
|
||||
L: linux-pci@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/pci/designware-pcie.txt
|
||||
@ -9377,6 +9404,7 @@ W: http://lists.infradead.org/mailman/listinfo/linux-pcmcia
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia.git
|
||||
S: Maintained
|
||||
F: Documentation/pcmcia/
|
||||
F: tools/pcmcia/
|
||||
F: drivers/pcmcia/
|
||||
F: include/pcmcia/
|
||||
|
||||
@ -9874,33 +9902,32 @@ F: Documentation/scsi/LICENSE.qla4xxx
|
||||
F: drivers/scsi/qla4xxx/
|
||||
|
||||
QLOGIC QLA3XXX NETWORK DRIVER
|
||||
M: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
|
||||
M: Ron Mercer <ron.mercer@qlogic.com>
|
||||
M: linux-driver@qlogic.com
|
||||
M: Dept-GELinuxNICDev@cavium.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: Documentation/networking/LICENSE.qla3xxx
|
||||
F: drivers/net/ethernet/qlogic/qla3xxx.*
|
||||
|
||||
QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
|
||||
M: Dept-GELinuxNICDev@qlogic.com
|
||||
M: Harish Patil <harish.patil@cavium.com>
|
||||
M: Manish Chopra <manish.chopra@cavium.com>
|
||||
M: Dept-GELinuxNICDev@cavium.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/net/ethernet/qlogic/qlcnic/
|
||||
|
||||
QLOGIC QLGE 10Gb ETHERNET DRIVER
|
||||
M: Harish Patil <harish.patil@qlogic.com>
|
||||
M: Sudarsana Kalluru <sudarsana.kalluru@qlogic.com>
|
||||
M: Dept-GELinuxNICDev@qlogic.com
|
||||
M: linux-driver@qlogic.com
|
||||
M: Harish Patil <harish.patil@cavium.com>
|
||||
M: Manish Chopra <manish.chopra@cavium.com>
|
||||
M: Dept-GELinuxNICDev@cavium.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/net/ethernet/qlogic/qlge/
|
||||
|
||||
QLOGIC QL4xxx ETHERNET DRIVER
|
||||
M: Yuval Mintz <Yuval.Mintz@qlogic.com>
|
||||
M: Ariel Elior <Ariel.Elior@qlogic.com>
|
||||
M: everest-linux-l2@qlogic.com
|
||||
M: Yuval Mintz <Yuval.Mintz@cavium.com>
|
||||
M: Ariel Elior <Ariel.Elior@cavium.com>
|
||||
M: everest-linux-l2@cavium.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: drivers/net/ethernet/qlogic/qed/
|
||||
|
26
Makefile
26
Makefile
@ -1,7 +1,7 @@
|
||||
VERSION = 4
|
||||
PATCHLEVEL = 8
|
||||
PATCHLEVEL = 9
|
||||
SUBLEVEL = 0
|
||||
EXTRAVERSION =
|
||||
EXTRAVERSION = -rc3
|
||||
NAME = Psychotic Stoned Sheep
|
||||
|
||||
# *DOCUMENTATION*
|
||||
@ -623,6 +623,11 @@ KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
|
||||
|
||||
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
||||
KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
|
||||
KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
|
||||
endif
|
||||
|
||||
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||
KBUILD_CFLAGS += -Os
|
||||
else
|
||||
@ -803,6 +808,10 @@ LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
|
||||
KBUILD_LDFLAGS_MODULE += $(LDFLAGS_BUILD_ID)
|
||||
LDFLAGS_vmlinux += $(LDFLAGS_BUILD_ID)
|
||||
|
||||
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
||||
LDFLAGS_vmlinux += $(call ld-option, --gc-sections,)
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
|
||||
LDFLAGS_vmlinux += $(call ld-option, -X,)
|
||||
endif
|
||||
@ -927,9 +936,6 @@ vmlinux_prereq: $(vmlinux-deps) FORCE
|
||||
ifdef CONFIG_HEADERS_CHECK
|
||||
$(Q)$(MAKE) -f $(srctree)/Makefile headers_check
|
||||
endif
|
||||
ifdef CONFIG_BUILD_DOCSRC
|
||||
$(Q)$(MAKE) $(build)=Documentation
|
||||
endif
|
||||
ifdef CONFIG_GDB_SCRIPTS
|
||||
$(Q)ln -fsn `cd $(srctree) && /bin/pwd`/scripts/gdb/vmlinux-gdb.py
|
||||
endif
|
||||
@ -942,9 +948,12 @@ endif
|
||||
include/generated/autoksyms.h: FORCE
|
||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh true
|
||||
|
||||
# Final link of vmlinux
|
||||
cmd_link-vmlinux = $(CONFIG_SHELL) $< $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux)
|
||||
quiet_cmd_link-vmlinux = LINK $@
|
||||
ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
|
||||
|
||||
# Final link of vmlinux with optional arch pass after final link
|
||||
cmd_link-vmlinux = \
|
||||
$(CONFIG_SHELL) $< $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) ; \
|
||||
$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
|
||||
|
||||
vmlinux: scripts/link-vmlinux.sh vmlinux_prereq $(vmlinux-deps) FORCE
|
||||
+$(call if_changed,link-vmlinux)
|
||||
@ -1271,6 +1280,7 @@ $(clean-dirs):
|
||||
|
||||
vmlinuxclean:
|
||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/link-vmlinux.sh clean
|
||||
$(Q)$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) clean)
|
||||
|
||||
clean: archclean vmlinuxclean
|
||||
|
||||
|
39
arch/Kconfig
39
arch/Kconfig
@ -383,6 +383,24 @@ config GCC_PLUGIN_SANCOV
|
||||
gcc-4.5 on). It is based on the commit "Add fuzzing coverage support"
|
||||
by Dmitry Vyukov <dvyukov@google.com>.
|
||||
|
||||
config GCC_PLUGIN_LATENT_ENTROPY
|
||||
bool "Generate some entropy during boot and runtime"
|
||||
depends on GCC_PLUGINS
|
||||
help
|
||||
By saying Y here the kernel will instrument some kernel code to
|
||||
extract some entropy from both original and artificially created
|
||||
program state. This will help especially embedded systems where
|
||||
there is little 'natural' source of entropy normally. The cost
|
||||
is some slowdown of the boot process (about 0.5%) and fork and
|
||||
irq processing.
|
||||
|
||||
Note that entropy extracted this way is not cryptographically
|
||||
secure!
|
||||
|
||||
This plugin was ported from grsecurity/PaX. More information at:
|
||||
* https://grsecurity.net/
|
||||
* https://pax.grsecurity.net/
|
||||
|
||||
config HAVE_CC_STACKPROTECTOR
|
||||
bool
|
||||
help
|
||||
@ -450,6 +468,27 @@ config CC_STACKPROTECTOR_STRONG
|
||||
|
||||
endchoice
|
||||
|
||||
config THIN_ARCHIVES
|
||||
bool
|
||||
help
|
||||
Select this if the architecture wants to use thin archives
|
||||
instead of ld -r to create the built-in.o files.
|
||||
|
||||
config LD_DEAD_CODE_DATA_ELIMINATION
|
||||
bool
|
||||
help
|
||||
Select this if the architecture wants to do dead code and
|
||||
data elimination with the linker by compiling with
|
||||
-ffunction-sections -fdata-sections and linking with
|
||||
--gc-sections.
|
||||
|
||||
This requires that the arch annotates or otherwise protects
|
||||
its external entry points from being discarded. Linker scripts
|
||||
must also merge .text.*, .data.*, and .bss.* correctly into
|
||||
output sections. Care must be taken not to pull in unrelated
|
||||
sections (e.g., '.text.init'). Typically '.' in section names
|
||||
is used to distinguish them from label names / C identifiers.
|
||||
|
||||
config HAVE_ARCH_WITHIN_STACK_FRAMES
|
||||
bool
|
||||
help
|
||||
|
@ -3,6 +3,7 @@
|
||||
generic-y += clkdev.h
|
||||
generic-y += cputime.h
|
||||
generic-y += exec.h
|
||||
generic-y += export.h
|
||||
generic-y += irq_work.h
|
||||
generic-y += mcs_spinlock.h
|
||||
generic-y += mm-arch-hooks.h
|
||||
|
@ -396,11 +396,12 @@ copy_to_user(void __user *to, const void *from, long n)
|
||||
extern inline long
|
||||
copy_from_user(void *to, const void __user *from, long n)
|
||||
{
|
||||
long res = n;
|
||||
if (likely(__access_ok((unsigned long)from, n, get_fs())))
|
||||
n = __copy_tofrom_user_nocheck(to, (__force void *)from, n);
|
||||
else
|
||||
memset(to, 0, n);
|
||||
return n;
|
||||
res = __copy_from_user_inatomic(to, from, n);
|
||||
if (unlikely(res))
|
||||
memset(to + (n - res), 0, res);
|
||||
return res;
|
||||
}
|
||||
|
||||
extern void __do_clear_user(void);
|
||||
|
@ -8,7 +8,7 @@ ccflags-y := -Wno-sign-compare
|
||||
|
||||
obj-y := entry.o traps.o process.o osf_sys.o irq.o \
|
||||
irq_alpha.o signal.o setup.o ptrace.o time.o \
|
||||
alpha_ksyms.o systbls.o err_common.o io.o
|
||||
systbls.o err_common.o io.o
|
||||
|
||||
obj-$(CONFIG_VGA_HOSE) += console.o
|
||||
obj-$(CONFIG_SMP) += smp.o
|
||||
|
@ -1,102 +0,0 @@
|
||||
/*
|
||||
* linux/arch/alpha/kernel/alpha_ksyms.c
|
||||
*
|
||||
* Export the alpha-specific functions that are needed for loadable
|
||||
* modules.
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <asm/console.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/checksum.h>
|
||||
#include <asm/fpu.h>
|
||||
#include <asm/machvec.h>
|
||||
|
||||
#include <linux/syscalls.h>
|
||||
|
||||
/* these are C runtime functions with special calling conventions: */
|
||||
extern void __divl (void);
|
||||
extern void __reml (void);
|
||||
extern void __divq (void);
|
||||
extern void __remq (void);
|
||||
extern void __divlu (void);
|
||||
extern void __remlu (void);
|
||||
extern void __divqu (void);
|
||||
extern void __remqu (void);
|
||||
|
||||
EXPORT_SYMBOL(alpha_mv);
|
||||
EXPORT_SYMBOL(callback_getenv);
|
||||
EXPORT_SYMBOL(callback_setenv);
|
||||
EXPORT_SYMBOL(callback_save_env);
|
||||
|
||||
/* platform dependent support */
|
||||
EXPORT_SYMBOL(strcat);
|
||||
EXPORT_SYMBOL(strcpy);
|
||||
EXPORT_SYMBOL(strlen);
|
||||
EXPORT_SYMBOL(strncpy);
|
||||
EXPORT_SYMBOL(strncat);
|
||||
EXPORT_SYMBOL(strchr);
|
||||
EXPORT_SYMBOL(strrchr);
|
||||
EXPORT_SYMBOL(memmove);
|
||||
EXPORT_SYMBOL(__memcpy);
|
||||
EXPORT_SYMBOL(__memset);
|
||||
EXPORT_SYMBOL(___memset);
|
||||
EXPORT_SYMBOL(__memsetw);
|
||||
EXPORT_SYMBOL(__constant_c_memset);
|
||||
EXPORT_SYMBOL(copy_page);
|
||||
EXPORT_SYMBOL(clear_page);
|
||||
|
||||
EXPORT_SYMBOL(alpha_read_fp_reg);
|
||||
EXPORT_SYMBOL(alpha_read_fp_reg_s);
|
||||
EXPORT_SYMBOL(alpha_write_fp_reg);
|
||||
EXPORT_SYMBOL(alpha_write_fp_reg_s);
|
||||
|
||||
/* Networking helper routines. */
|
||||
EXPORT_SYMBOL(csum_tcpudp_magic);
|
||||
EXPORT_SYMBOL(ip_compute_csum);
|
||||
EXPORT_SYMBOL(ip_fast_csum);
|
||||
EXPORT_SYMBOL(csum_partial_copy_nocheck);
|
||||
EXPORT_SYMBOL(csum_partial_copy_from_user);
|
||||
EXPORT_SYMBOL(csum_ipv6_magic);
|
||||
|
||||
#ifdef CONFIG_MATHEMU_MODULE
|
||||
extern long (*alpha_fp_emul_imprecise)(struct pt_regs *, unsigned long);
|
||||
extern long (*alpha_fp_emul) (unsigned long pc);
|
||||
EXPORT_SYMBOL(alpha_fp_emul_imprecise);
|
||||
EXPORT_SYMBOL(alpha_fp_emul);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The following are specially called from the uaccess assembly stubs.
|
||||
*/
|
||||
EXPORT_SYMBOL(__copy_user);
|
||||
EXPORT_SYMBOL(__do_clear_user);
|
||||
|
||||
/*
|
||||
* SMP-specific symbols.
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
EXPORT_SYMBOL(_atomic_dec_and_lock);
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
/*
|
||||
* The following are special because they're not called
|
||||
* explicitly (the C compiler or assembler generates them in
|
||||
* response to division operations). Fortunately, their
|
||||
* interface isn't gonna change any time soon now, so it's OK
|
||||
* to leave it out of version control.
|
||||
*/
|
||||
# undef memcpy
|
||||
# undef memset
|
||||
EXPORT_SYMBOL(__divl);
|
||||
EXPORT_SYMBOL(__divlu);
|
||||
EXPORT_SYMBOL(__divq);
|
||||
EXPORT_SYMBOL(__divqu);
|
||||
EXPORT_SYMBOL(__reml);
|
||||
EXPORT_SYMBOL(__remlu);
|
||||
EXPORT_SYMBOL(__remq);
|
||||
EXPORT_SYMBOL(__remqu);
|
||||
EXPORT_SYMBOL(memcpy);
|
||||
EXPORT_SYMBOL(memset);
|
||||
EXPORT_SYMBOL(memchr);
|
@ -144,9 +144,11 @@
|
||||
else beforehand. Fine. We'll do it ourselves. */
|
||||
#if 0
|
||||
#define ALIAS_MV(system) \
|
||||
struct alpha_machine_vector alpha_mv __attribute__((alias(#system "_mv")));
|
||||
struct alpha_machine_vector alpha_mv __attribute__((alias(#system "_mv"))); \
|
||||
EXPORT_SYMBOL(alpha_mv);
|
||||
#else
|
||||
#define ALIAS_MV(system) \
|
||||
asm(".global alpha_mv\nalpha_mv = " #system "_mv");
|
||||
asm(".global alpha_mv\nalpha_mv = " #system "_mv"); \
|
||||
EXPORT_SYMBOL(alpha_mv);
|
||||
#endif
|
||||
#endif /* GENERIC */
|
||||
|
@ -157,14 +157,16 @@ put_reg(struct task_struct *task, unsigned long regno, unsigned long data)
|
||||
static inline int
|
||||
read_int(struct task_struct *task, unsigned long addr, int * data)
|
||||
{
|
||||
int copied = access_process_vm(task, addr, data, sizeof(int), 0);
|
||||
int copied = access_process_vm(task, addr, data, sizeof(int),
|
||||
FOLL_FORCE);
|
||||
return (copied == sizeof(int)) ? 0 : -EIO;
|
||||
}
|
||||
|
||||
static inline int
|
||||
write_int(struct task_struct *task, unsigned long addr, int data)
|
||||
{
|
||||
int copied = access_process_vm(task, addr, &data, sizeof(int), 1);
|
||||
int copied = access_process_vm(task, addr, &data, sizeof(int),
|
||||
FOLL_FORCE | FOLL_WRITE);
|
||||
return (copied == sizeof(int)) ? 0 : -EIO;
|
||||
}
|
||||
|
||||
@ -281,7 +283,8 @@ long arch_ptrace(struct task_struct *child, long request,
|
||||
/* When I and D space are separate, these will need to be fixed. */
|
||||
case PTRACE_PEEKTEXT: /* read word at location addr. */
|
||||
case PTRACE_PEEKDATA:
|
||||
copied = access_process_vm(child, addr, &tmp, sizeof(tmp), 0);
|
||||
copied = access_process_vm(child, addr, &tmp, sizeof(tmp),
|
||||
FOLL_FORCE);
|
||||
ret = -EIO;
|
||||
if (copied != sizeof(tmp))
|
||||
break;
|
||||
|
@ -115,6 +115,7 @@ unsigned long alpha_agpgart_size = DEFAULT_AGP_APER_SIZE;
|
||||
|
||||
#ifdef CONFIG_ALPHA_GENERIC
|
||||
struct alpha_machine_vector alpha_mv;
|
||||
EXPORT_SYMBOL(alpha_mv);
|
||||
#endif
|
||||
|
||||
#ifndef alpha_using_srm
|
||||
|
@ -3,6 +3,7 @@
|
||||
*/
|
||||
|
||||
#include <asm/console.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
.text
|
||||
#define HWRPB_CRB_OFFSET 0xc0
|
||||
@ -92,6 +93,10 @@ CALLBACK(reset_env, CCB_RESET_ENV, 4)
|
||||
CALLBACK(save_env, CCB_SAVE_ENV, 1)
|
||||
CALLBACK(pswitch, CCB_PSWITCH, 3)
|
||||
CALLBACK(bios_emul, CCB_BIOS_EMUL, 5)
|
||||
|
||||
EXPORT_SYMBOL(callback_getenv)
|
||||
EXPORT_SYMBOL(callback_setenv)
|
||||
EXPORT_SYMBOL(callback_save_env)
|
||||
|
||||
.data
|
||||
__alpha_using_srm: # For use by bootpheader
|
||||
|
@ -48,6 +48,7 @@ __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
|
||||
(__force u64)saddr + (__force u64)daddr +
|
||||
(__force u64)sum + ((len + proto) << 8));
|
||||
}
|
||||
EXPORT_SYMBOL(csum_tcpudp_magic);
|
||||
|
||||
__wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
|
||||
__u32 len, __u8 proto, __wsum sum)
|
||||
@ -144,6 +145,7 @@ __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
|
||||
{
|
||||
return (__force __sum16)~do_csum(iph,ihl*4);
|
||||
}
|
||||
EXPORT_SYMBOL(ip_fast_csum);
|
||||
|
||||
/*
|
||||
* computes the checksum of a memory block at buff, length len,
|
||||
@ -178,3 +180,4 @@ __sum16 ip_compute_csum(const void *buff, int len)
|
||||
{
|
||||
return (__force __sum16)~from64to16(do_csum(buff,len));
|
||||
}
|
||||
EXPORT_SYMBOL(ip_compute_csum);
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Zero an entire page.
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
.text
|
||||
.align 4
|
||||
.global clear_page
|
||||
@ -37,3 +37,4 @@ clear_page:
|
||||
nop
|
||||
|
||||
.end clear_page
|
||||
EXPORT_SYMBOL(clear_page)
|
||||
|
@ -24,6 +24,7 @@
|
||||
* Clobbers:
|
||||
* $1,$2,$3,$4,$5,$6
|
||||
*/
|
||||
#include <asm/export.h>
|
||||
|
||||
/* Allow an exception for an insn; exit if we get one. */
|
||||
#define EX(x,y...) \
|
||||
@ -111,3 +112,4 @@ $exception:
|
||||
ret $31, ($28), 1 # .. e1 :
|
||||
|
||||
.end __do_clear_user
|
||||
EXPORT_SYMBOL(__do_clear_user)
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copy an entire page.
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
.text
|
||||
.align 4
|
||||
.global copy_page
|
||||
@ -47,3 +47,4 @@ copy_page:
|
||||
nop
|
||||
|
||||
.end copy_page
|
||||
EXPORT_SYMBOL(copy_page)
|
||||
|
@ -26,6 +26,8 @@
|
||||
* $1,$2,$3,$4,$5,$6,$7
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
|
||||
/* Allow an exception for an insn; exit if we get one. */
|
||||
#define EXI(x,y...) \
|
||||
99: x,##y; \
|
||||
@ -124,22 +126,9 @@ $65:
|
||||
bis $31,$31,$0
|
||||
$41:
|
||||
$35:
|
||||
$exitin:
|
||||
$exitout:
|
||||
ret $31,($28),1
|
||||
|
||||
$exitin:
|
||||
/* A stupid byte-by-byte zeroing of the rest of the output
|
||||
buffer. This cures security holes by never leaving
|
||||
random kernel data around to be copied elsewhere. */
|
||||
|
||||
mov $0,$1
|
||||
$101:
|
||||
EXO ( ldq_u $2,0($6) )
|
||||
subq $1,1,$1
|
||||
mskbl $2,$6,$2
|
||||
EXO ( stq_u $2,0($6) )
|
||||
addq $6,1,$6
|
||||
bgt $1,$101
|
||||
ret $31,($28),1
|
||||
|
||||
.end __copy_user
|
||||
EXPORT_SYMBOL(__copy_user)
|
||||
|
@ -12,6 +12,7 @@
|
||||
* added by Ivan Kokshaysky <ink@jurassic.park.msu.ru>
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
.globl csum_ipv6_magic
|
||||
.align 4
|
||||
.ent csum_ipv6_magic
|
||||
@ -113,3 +114,4 @@ csum_ipv6_magic:
|
||||
ret # .. e1 :
|
||||
|
||||
.end csum_ipv6_magic
|
||||
EXPORT_SYMBOL(csum_ipv6_magic)
|
||||
|
@ -374,6 +374,7 @@ csum_partial_copy_from_user(const void __user *src, void *dst, int len,
|
||||
}
|
||||
return (__force __wsum)checksum;
|
||||
}
|
||||
EXPORT_SYMBOL(csum_partial_copy_from_user);
|
||||
|
||||
__wsum
|
||||
csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum)
|
||||
@ -386,3 +387,4 @@ csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum)
|
||||
set_fs(oldfs);
|
||||
return checksum;
|
||||
}
|
||||
EXPORT_SYMBOL(csum_partial_copy_nocheck);
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
asm (".text \n\
|
||||
.global _atomic_dec_and_lock \n\
|
||||
@ -39,3 +40,4 @@ static int __used atomic_dec_and_lock_1(atomic_t *atomic, spinlock_t *lock)
|
||||
spin_unlock(lock);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(_atomic_dec_and_lock);
|
||||
|
@ -45,6 +45,7 @@
|
||||
* $28 - compare status
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
#define halt .long 0
|
||||
|
||||
/*
|
||||
@ -151,6 +152,7 @@ ufunction:
|
||||
addq $30,STACK,$30
|
||||
ret $31,($23),1
|
||||
.end ufunction
|
||||
EXPORT_SYMBOL(ufunction)
|
||||
|
||||
/*
|
||||
* Uhh.. Ugly signed division. I'd rather not have it at all, but
|
||||
@ -193,3 +195,4 @@ sfunction:
|
||||
addq $30,STACK,$30
|
||||
ret $31,($23),1
|
||||
.end sfunction
|
||||
EXPORT_SYMBOL(sfunction)
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Zero an entire page.
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
.text
|
||||
.align 4
|
||||
.global clear_page
|
||||
@ -52,3 +52,4 @@ clear_page:
|
||||
nop
|
||||
|
||||
.end clear_page
|
||||
EXPORT_SYMBOL(clear_page)
|
||||
|
@ -43,6 +43,7 @@
|
||||
* want to leave a hole (and we also want to avoid repeating lots of work)
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
/* Allow an exception for an insn; exit if we get one. */
|
||||
#define EX(x,y...) \
|
||||
99: x,##y; \
|
||||
@ -222,4 +223,4 @@ $exception: # Destination for exception recovery(?)
|
||||
nop # .. E .. .. :
|
||||
ret $31, ($28), 1 # L0 .. .. .. : L U L U
|
||||
.end __do_clear_user
|
||||
|
||||
EXPORT_SYMBOL(__do_clear_user)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user