Loading CREDITS +8 −2 Original line number Diff line number Diff line Loading @@ -1412,8 +1412,8 @@ P: 1024D/77D4FC9B F5C5 1C20 1DFC DEC3 3107 54A4 2332 ADFC 77D4 FC9B D: National Language Support D: Linux Internationalization Project D: German Localization for Linux and GNU software S: Kriemhildring 12a S: 65795 Hattersheim am Main S: Auf der Fittel 18 S: 53347 Alfter S: Germany N: Christoph Hellwig Loading Loading @@ -3580,6 +3580,12 @@ N: Dirk Verworner D: Co-author of German book ``Linux-Kernel-Programmierung'' D: Co-founder of Berlin Linux User Group N: Riku Voipio E: riku.voipio@iki.fi D: Author of PCA9532 LED and Fintek f75375s hwmon driver D: Some random ARM board patches S: Finland N: Patrick Volkerding E: volkerdi@ftp.cdrom.com D: Produced the Slackware distribution, updated the SVGAlib Loading Documentation/00-INDEX +2 −2 Original line number Diff line number Diff line Loading @@ -86,6 +86,8 @@ cachetlb.txt - describes the cache/TLB flushing interfaces Linux uses. cdrom/ - directory with information on the CD-ROM drivers that Linux has. cgroups/ - cgroups features, including cpusets and memory controller. connector/ - docs on the netlink based userspace<->kernel space communication mod. console/ Loading @@ -98,8 +100,6 @@ cpu-load.txt - document describing how CPU load statistics are collected. cpuidle/ - info on CPU_IDLE, CPU idle state management subsystem. cpusets.txt - documents the cpusets feature; assign CPUs and Mem to a set of tasks. cputopology.txt - documentation on how CPU topology info is exported via sysfs. cris/ Loading Documentation/ABI/testing/debugfs-kmemtrace 0 → 100644 +71 −0 Original line number Diff line number Diff line What: /sys/kernel/debug/kmemtrace/ Date: July 2008 Contact: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro> Description: In kmemtrace-enabled kernels, the following files are created: /sys/kernel/debug/kmemtrace/ cpu<n> (0400) Per-CPU tracing data, see below. (binary) total_overruns (0400) Total number of bytes which were dropped from cpu<n> files because of full buffer condition, non-binary. (text) abi_version (0400) Kernel's kmemtrace ABI version. (text) Each per-CPU file should be read according to the relay interface. That is, the reader should set affinity to that specific CPU and, as currently done by the userspace application (though there are other methods), use poll() with an infinite timeout before every read(). Otherwise, erroneous data may be read. The binary data has the following _core_ format: Event ID (1 byte) Unsigned integer, one of: 0 - represents an allocation (KMEMTRACE_EVENT_ALLOC) 1 - represents a freeing of previously allocated memory (KMEMTRACE_EVENT_FREE) Type ID (1 byte) Unsigned integer, one of: 0 - this is a kmalloc() / kfree() 1 - this is a kmem_cache_alloc() / kmem_cache_free() 2 - this is a __get_free_pages() et al. Event size (2 bytes) Unsigned integer representing the size of this event. Used to extend kmemtrace. Discard the bytes you don't know about. Sequence number (4 bytes) Signed integer used to reorder data logged on SMP machines. Wraparound must be taken into account, although it is unlikely. Caller address (8 bytes) Return address to the caller. Pointer to mem (8 bytes) Pointer to target memory area. Can be NULL, but not all such calls might be recorded. In case of KMEMTRACE_EVENT_ALLOC events, the next fields follow: Requested bytes (8 bytes) Total number of requested bytes, unsigned, must not be zero. Allocated bytes (8 bytes) Total number of actually allocated bytes, unsigned, must not be lower than requested bytes. Requested flags (4 bytes) GFP flags supplied by the caller. Target CPU (4 bytes) Signed integer, valid for event id 1. If equal to -1, target CPU is the same as origin CPU, but the reverse might not be true. The data is made available in the same endianness the machine has. Other event ids and type ids may be defined and added. Other fields may be added by increasing event size, but see below for details. Every modification to the ABI, including new id definitions, are followed by bumping the ABI version by one. Adding new data to the packet (features) is done at the end of the mandatory data: Feature size (2 byte) Feature ID (1 byte) Feature data (Feature size - 3 bytes) Users: kmemtrace-user - git://repo.or.cz/kmemtrace-user.git Documentation/ABI/testing/sysfs-class-regulator +48 −9 Original line number Diff line number Diff line Loading @@ -4,8 +4,8 @@ KernelVersion: 2.6.26 Contact: Liam Girdwood <lrg@slimlogic.co.uk> Description: Some regulator directories will contain a field called state. This reports the regulator enable status, for regulators which can report that value. state. This reports the regulator enable control, for regulators which can report that input value. This will be one of the following strings: Loading @@ -14,16 +14,54 @@ Description: 'unknown' 'enabled' means the regulator output is ON and is supplying power to the system. power to the system (assuming no error prevents it). 'disabled' means the regulator output is OFF and is not supplying power to the system.. supplying power to the system (unless some non-Linux control has enabled it). 'unknown' means software cannot determine the state, or the reported state is invalid. NOTE: this field can be used in conjunction with microvolts and microamps to determine regulator output levels. or microamps to determine configured regulator output levels. What: /sys/class/regulator/.../status Description: Some regulator directories will contain a field called "status". This reports the current regulator status, for regulators which can report that output value. This will be one of the following strings: off on error fast normal idle standby "off" means the regulator is not supplying power to the system. "on" means the regulator is supplying power to the system, and the regulator can't report a detailed operation mode. "error" indicates an out-of-regulation status such as being disabled due to thermal shutdown, or voltage being unstable because of problems with the input power supply. "fast", "normal", "idle", and "standby" are all detailed regulator operation modes (described elsewhere). They imply "on", but provide more detail. Note that regulator status is a function of many inputs, not limited to control inputs from Linux. For example, the actual load presented may trigger "error" status; or a regulator may be enabled by another user, even though Linux did not enable it. What: /sys/class/regulator/.../type Loading Loading @@ -58,7 +96,7 @@ Description: Some regulator directories will contain a field called microvolts. This holds the regulator output voltage setting measured in microvolts (i.e. E-6 Volts), for regulators which can report that voltage. which can report the control input for voltage. NOTE: This value should not be used to determine the regulator output voltage level as this value is the same regardless of Loading @@ -73,7 +111,7 @@ Description: Some regulator directories will contain a field called microamps. This holds the regulator output current limit setting measured in microamps (i.e. E-6 Amps), for regulators which can report that current. which can report the control input for a current limit. NOTE: This value should not be used to determine the regulator output current level as this value is the same regardless of Loading @@ -87,7 +125,7 @@ Contact: Liam Girdwood <lrg@slimlogic.co.uk> Description: Some regulator directories will contain a field called opmode. This holds the current regulator operating mode, for regulators which can report it. for regulators which can report that control input value. The opmode value can be one of the following strings: Loading @@ -101,7 +139,8 @@ Description: NOTE: This value should not be used to determine the regulator output operating mode as this value is the same regardless of whether the regulator is enabled or disabled. whether the regulator is enabled or disabled. A "status" attribute may be available to determine the actual mode. What: /sys/class/regulator/.../min_microvolts Loading Documentation/DMA-mapping.txt +9 −9 Original line number Diff line number Diff line Loading @@ -136,7 +136,7 @@ exactly why. The standard 32-bit addressing PCI device would do something like this: if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { printk(KERN_WARNING "mydev: No suitable DMA available.\n"); goto ignore_this_device; Loading @@ -155,9 +155,9 @@ all 64-bits when accessing streaming DMA: int using_dac; if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { using_dac = 1; } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { using_dac = 0; } else { printk(KERN_WARNING Loading @@ -170,14 +170,14 @@ the case would look like this: int using_dac, consistent_using_dac; if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { using_dac = 1; consistent_using_dac = 1; pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { using_dac = 0; consistent_using_dac = 0; pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK); pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); } else { printk(KERN_WARNING "mydev: No suitable DMA available.\n"); Loading @@ -192,7 +192,7 @@ check the return value from pci_set_consistent_dma_mask(). Finally, if your device can only drive the low 24-bits of address during PCI bus mastering you might do something like: if (pci_set_dma_mask(pdev, DMA_24BIT_MASK)) { if (pci_set_dma_mask(pdev, DMA_BIT_MASK(24))) { printk(KERN_WARNING "mydev: 24-bit DMA addressing not available.\n"); goto ignore_this_device; Loading @@ -213,7 +213,7 @@ most specific mask. Here is pseudo-code showing how this might be done: #define PLAYBACK_ADDRESS_BITS DMA_32BIT_MASK #define PLAYBACK_ADDRESS_BITS DMA_BIT_MASK(32) #define RECORD_ADDRESS_BITS 0x00ffffff struct my_sound_card *card; Loading Loading
CREDITS +8 −2 Original line number Diff line number Diff line Loading @@ -1412,8 +1412,8 @@ P: 1024D/77D4FC9B F5C5 1C20 1DFC DEC3 3107 54A4 2332 ADFC 77D4 FC9B D: National Language Support D: Linux Internationalization Project D: German Localization for Linux and GNU software S: Kriemhildring 12a S: 65795 Hattersheim am Main S: Auf der Fittel 18 S: 53347 Alfter S: Germany N: Christoph Hellwig Loading Loading @@ -3580,6 +3580,12 @@ N: Dirk Verworner D: Co-author of German book ``Linux-Kernel-Programmierung'' D: Co-founder of Berlin Linux User Group N: Riku Voipio E: riku.voipio@iki.fi D: Author of PCA9532 LED and Fintek f75375s hwmon driver D: Some random ARM board patches S: Finland N: Patrick Volkerding E: volkerdi@ftp.cdrom.com D: Produced the Slackware distribution, updated the SVGAlib Loading
Documentation/00-INDEX +2 −2 Original line number Diff line number Diff line Loading @@ -86,6 +86,8 @@ cachetlb.txt - describes the cache/TLB flushing interfaces Linux uses. cdrom/ - directory with information on the CD-ROM drivers that Linux has. cgroups/ - cgroups features, including cpusets and memory controller. connector/ - docs on the netlink based userspace<->kernel space communication mod. console/ Loading @@ -98,8 +100,6 @@ cpu-load.txt - document describing how CPU load statistics are collected. cpuidle/ - info on CPU_IDLE, CPU idle state management subsystem. cpusets.txt - documents the cpusets feature; assign CPUs and Mem to a set of tasks. cputopology.txt - documentation on how CPU topology info is exported via sysfs. cris/ Loading
Documentation/ABI/testing/debugfs-kmemtrace 0 → 100644 +71 −0 Original line number Diff line number Diff line What: /sys/kernel/debug/kmemtrace/ Date: July 2008 Contact: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro> Description: In kmemtrace-enabled kernels, the following files are created: /sys/kernel/debug/kmemtrace/ cpu<n> (0400) Per-CPU tracing data, see below. (binary) total_overruns (0400) Total number of bytes which were dropped from cpu<n> files because of full buffer condition, non-binary. (text) abi_version (0400) Kernel's kmemtrace ABI version. (text) Each per-CPU file should be read according to the relay interface. That is, the reader should set affinity to that specific CPU and, as currently done by the userspace application (though there are other methods), use poll() with an infinite timeout before every read(). Otherwise, erroneous data may be read. The binary data has the following _core_ format: Event ID (1 byte) Unsigned integer, one of: 0 - represents an allocation (KMEMTRACE_EVENT_ALLOC) 1 - represents a freeing of previously allocated memory (KMEMTRACE_EVENT_FREE) Type ID (1 byte) Unsigned integer, one of: 0 - this is a kmalloc() / kfree() 1 - this is a kmem_cache_alloc() / kmem_cache_free() 2 - this is a __get_free_pages() et al. Event size (2 bytes) Unsigned integer representing the size of this event. Used to extend kmemtrace. Discard the bytes you don't know about. Sequence number (4 bytes) Signed integer used to reorder data logged on SMP machines. Wraparound must be taken into account, although it is unlikely. Caller address (8 bytes) Return address to the caller. Pointer to mem (8 bytes) Pointer to target memory area. Can be NULL, but not all such calls might be recorded. In case of KMEMTRACE_EVENT_ALLOC events, the next fields follow: Requested bytes (8 bytes) Total number of requested bytes, unsigned, must not be zero. Allocated bytes (8 bytes) Total number of actually allocated bytes, unsigned, must not be lower than requested bytes. Requested flags (4 bytes) GFP flags supplied by the caller. Target CPU (4 bytes) Signed integer, valid for event id 1. If equal to -1, target CPU is the same as origin CPU, but the reverse might not be true. The data is made available in the same endianness the machine has. Other event ids and type ids may be defined and added. Other fields may be added by increasing event size, but see below for details. Every modification to the ABI, including new id definitions, are followed by bumping the ABI version by one. Adding new data to the packet (features) is done at the end of the mandatory data: Feature size (2 byte) Feature ID (1 byte) Feature data (Feature size - 3 bytes) Users: kmemtrace-user - git://repo.or.cz/kmemtrace-user.git
Documentation/ABI/testing/sysfs-class-regulator +48 −9 Original line number Diff line number Diff line Loading @@ -4,8 +4,8 @@ KernelVersion: 2.6.26 Contact: Liam Girdwood <lrg@slimlogic.co.uk> Description: Some regulator directories will contain a field called state. This reports the regulator enable status, for regulators which can report that value. state. This reports the regulator enable control, for regulators which can report that input value. This will be one of the following strings: Loading @@ -14,16 +14,54 @@ Description: 'unknown' 'enabled' means the regulator output is ON and is supplying power to the system. power to the system (assuming no error prevents it). 'disabled' means the regulator output is OFF and is not supplying power to the system.. supplying power to the system (unless some non-Linux control has enabled it). 'unknown' means software cannot determine the state, or the reported state is invalid. NOTE: this field can be used in conjunction with microvolts and microamps to determine regulator output levels. or microamps to determine configured regulator output levels. What: /sys/class/regulator/.../status Description: Some regulator directories will contain a field called "status". This reports the current regulator status, for regulators which can report that output value. This will be one of the following strings: off on error fast normal idle standby "off" means the regulator is not supplying power to the system. "on" means the regulator is supplying power to the system, and the regulator can't report a detailed operation mode. "error" indicates an out-of-regulation status such as being disabled due to thermal shutdown, or voltage being unstable because of problems with the input power supply. "fast", "normal", "idle", and "standby" are all detailed regulator operation modes (described elsewhere). They imply "on", but provide more detail. Note that regulator status is a function of many inputs, not limited to control inputs from Linux. For example, the actual load presented may trigger "error" status; or a regulator may be enabled by another user, even though Linux did not enable it. What: /sys/class/regulator/.../type Loading Loading @@ -58,7 +96,7 @@ Description: Some regulator directories will contain a field called microvolts. This holds the regulator output voltage setting measured in microvolts (i.e. E-6 Volts), for regulators which can report that voltage. which can report the control input for voltage. NOTE: This value should not be used to determine the regulator output voltage level as this value is the same regardless of Loading @@ -73,7 +111,7 @@ Description: Some regulator directories will contain a field called microamps. This holds the regulator output current limit setting measured in microamps (i.e. E-6 Amps), for regulators which can report that current. which can report the control input for a current limit. NOTE: This value should not be used to determine the regulator output current level as this value is the same regardless of Loading @@ -87,7 +125,7 @@ Contact: Liam Girdwood <lrg@slimlogic.co.uk> Description: Some regulator directories will contain a field called opmode. This holds the current regulator operating mode, for regulators which can report it. for regulators which can report that control input value. The opmode value can be one of the following strings: Loading @@ -101,7 +139,8 @@ Description: NOTE: This value should not be used to determine the regulator output operating mode as this value is the same regardless of whether the regulator is enabled or disabled. whether the regulator is enabled or disabled. A "status" attribute may be available to determine the actual mode. What: /sys/class/regulator/.../min_microvolts Loading
Documentation/DMA-mapping.txt +9 −9 Original line number Diff line number Diff line Loading @@ -136,7 +136,7 @@ exactly why. The standard 32-bit addressing PCI device would do something like this: if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { if (pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { printk(KERN_WARNING "mydev: No suitable DMA available.\n"); goto ignore_this_device; Loading @@ -155,9 +155,9 @@ all 64-bits when accessing streaming DMA: int using_dac; if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { using_dac = 1; } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { using_dac = 0; } else { printk(KERN_WARNING Loading @@ -170,14 +170,14 @@ the case would look like this: int using_dac, consistent_using_dac; if (!pci_set_dma_mask(pdev, DMA_64BIT_MASK)) { if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { using_dac = 1; consistent_using_dac = 1; pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK); } else if (!pci_set_dma_mask(pdev, DMA_32BIT_MASK)) { pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(64)); } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { using_dac = 0; consistent_using_dac = 0; pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK); pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); } else { printk(KERN_WARNING "mydev: No suitable DMA available.\n"); Loading @@ -192,7 +192,7 @@ check the return value from pci_set_consistent_dma_mask(). Finally, if your device can only drive the low 24-bits of address during PCI bus mastering you might do something like: if (pci_set_dma_mask(pdev, DMA_24BIT_MASK)) { if (pci_set_dma_mask(pdev, DMA_BIT_MASK(24))) { printk(KERN_WARNING "mydev: 24-bit DMA addressing not available.\n"); goto ignore_this_device; Loading @@ -213,7 +213,7 @@ most specific mask. Here is pseudo-code showing how this might be done: #define PLAYBACK_ADDRESS_BITS DMA_32BIT_MASK #define PLAYBACK_ADDRESS_BITS DMA_BIT_MASK(32) #define RECORD_ADDRESS_BITS 0x00ffffff struct my_sound_card *card; Loading