diff options
Diffstat (limited to 'Documentation')
62 files changed, 973 insertions, 187 deletions
diff --git a/Documentation/00-INDEX b/Documentation/00-INDEX index 38f8444bdd0e..07de7e19b4ce 100644 --- a/Documentation/00-INDEX +++ b/Documentation/00-INDEX | |||
| @@ -29,6 +29,8 @@ DMA-ISA-LPC.txt | |||
| 29 | - How to do DMA with ISA (and LPC) devices. | 29 | - How to do DMA with ISA (and LPC) devices. |
| 30 | DMA-attributes.txt | 30 | DMA-attributes.txt |
| 31 | - listing of the various possible attributes a DMA region can have | 31 | - listing of the various possible attributes a DMA region can have |
| 32 | dmatest.txt | ||
| 33 | - how to compile, configure and use the dmatest system. | ||
| 32 | DocBook/ | 34 | DocBook/ |
| 33 | - directory with DocBook templates etc. for kernel documentation. | 35 | - directory with DocBook templates etc. for kernel documentation. |
| 34 | EDID/ | 36 | EDID/ |
| @@ -77,6 +79,8 @@ arm/ | |||
| 77 | - directory with info about Linux on the ARM architecture. | 79 | - directory with info about Linux on the ARM architecture. |
| 78 | arm64/ | 80 | arm64/ |
| 79 | - directory with info about Linux on the 64 bit ARM architecture. | 81 | - directory with info about Linux on the 64 bit ARM architecture. |
| 82 | assoc_array.txt | ||
| 83 | - generic associative array intro. | ||
| 80 | atomic_ops.txt | 84 | atomic_ops.txt |
| 81 | - semantics and behavior of atomic and bitmask operations. | 85 | - semantics and behavior of atomic and bitmask operations. |
| 82 | auxdisplay/ | 86 | auxdisplay/ |
| @@ -87,6 +91,8 @@ bad_memory.txt | |||
| 87 | - how to use kernel parameters to exclude bad RAM regions. | 91 | - how to use kernel parameters to exclude bad RAM regions. |
| 88 | basic_profiling.txt | 92 | basic_profiling.txt |
| 89 | - basic instructions for those who wants to profile Linux kernel. | 93 | - basic instructions for those who wants to profile Linux kernel. |
| 94 | bcache.txt | ||
| 95 | - Block-layer cache on fast SSDs to improve slow (raid) I/O performance. | ||
| 90 | binfmt_misc.txt | 96 | binfmt_misc.txt |
| 91 | - info on the kernel support for extra binary formats. | 97 | - info on the kernel support for extra binary formats. |
| 92 | blackfin/ | 98 | blackfin/ |
| @@ -171,6 +177,8 @@ early-userspace/ | |||
| 171 | - info about initramfs, klibc, and userspace early during boot. | 177 | - info about initramfs, klibc, and userspace early during boot. |
| 172 | edac.txt | 178 | edac.txt |
| 173 | - information on EDAC - Error Detection And Correction | 179 | - information on EDAC - Error Detection And Correction |
| 180 | efi-stub.txt | ||
| 181 | - How to use the EFI boot stub to bypass GRUB or elilo on EFI systems. | ||
| 174 | eisa.txt | 182 | eisa.txt |
| 175 | - info on EISA bus support. | 183 | - info on EISA bus support. |
| 176 | email-clients.txt | 184 | email-clients.txt |
| @@ -195,8 +203,8 @@ futex-requeue-pi.txt | |||
| 195 | - info on requeueing of tasks from a non-PI futex to a PI futex | 203 | - info on requeueing of tasks from a non-PI futex to a PI futex |
| 196 | gcov.txt | 204 | gcov.txt |
| 197 | - use of GCC's coverage testing tool "gcov" with the Linux kernel | 205 | - use of GCC's coverage testing tool "gcov" with the Linux kernel |
| 198 | gpio.txt | 206 | gpio/ |
| 199 | - overview of GPIO (General Purpose Input/Output) access conventions. | 207 | - gpio related documentation |
| 200 | hid/ | 208 | hid/ |
| 201 | - directory with information on human interface devices | 209 | - directory with information on human interface devices |
| 202 | highuid.txt | 210 | highuid.txt |
| @@ -255,6 +263,8 @@ kernel-docs.txt | |||
| 255 | - listing of various WWW + books that document kernel internals. | 263 | - listing of various WWW + books that document kernel internals. |
| 256 | kernel-parameters.txt | 264 | kernel-parameters.txt |
| 257 | - summary listing of command line / boot prompt args for the kernel. | 265 | - summary listing of command line / boot prompt args for the kernel. |
| 266 | kernel-per-CPU-kthreads.txt | ||
| 267 | - List of all per-CPU kthreads and how they introduce jitter. | ||
| 258 | kmemcheck.txt | 268 | kmemcheck.txt |
| 259 | - info on dynamic checker that detects uses of uninitialized memory. | 269 | - info on dynamic checker that detects uses of uninitialized memory. |
| 260 | kmemleak.txt | 270 | kmemleak.txt |
| @@ -299,8 +309,6 @@ memory-devices/ | |||
| 299 | - directory with info on parts like the Texas Instruments EMIF driver | 309 | - directory with info on parts like the Texas Instruments EMIF driver |
| 300 | memory-hotplug.txt | 310 | memory-hotplug.txt |
| 301 | - Hotpluggable memory support, how to use and current status. | 311 | - Hotpluggable memory support, how to use and current status. |
| 302 | memory.txt | ||
| 303 | - info on typical Linux memory problems. | ||
| 304 | metag/ | 312 | metag/ |
| 305 | - directory with info about Linux on Meta architecture. | 313 | - directory with info about Linux on Meta architecture. |
| 306 | mips/ | 314 | mips/ |
| @@ -311,6 +319,8 @@ mmc/ | |||
| 311 | - directory with info about the MMC subsystem | 319 | - directory with info about the MMC subsystem |
| 312 | mn10300/ | 320 | mn10300/ |
| 313 | - directory with info about the mn10300 architecture port | 321 | - directory with info about the mn10300 architecture port |
| 322 | module-signing.txt | ||
| 323 | - Kernel module signing for increased security when loading modules. | ||
| 314 | mtd/ | 324 | mtd/ |
| 315 | - directory with info about memory technology devices (flash) | 325 | - directory with info about memory technology devices (flash) |
| 316 | mono.txt | 326 | mono.txt |
| @@ -343,6 +353,8 @@ pcmcia/ | |||
| 343 | - info on the Linux PCMCIA driver. | 353 | - info on the Linux PCMCIA driver. |
| 344 | percpu-rw-semaphore.txt | 354 | percpu-rw-semaphore.txt |
| 345 | - RCU based read-write semaphore optimized for locking for reading | 355 | - RCU based read-write semaphore optimized for locking for reading |
| 356 | phy.txt | ||
| 357 | - Description of the generic PHY framework. | ||
| 346 | pi-futex.txt | 358 | pi-futex.txt |
| 347 | - documentation on lightweight priority inheritance futexes. | 359 | - documentation on lightweight priority inheritance futexes. |
| 348 | pinctrl.txt | 360 | pinctrl.txt |
| @@ -431,6 +443,8 @@ sysrq.txt | |||
| 431 | - info on the magic SysRq key. | 443 | - info on the magic SysRq key. |
| 432 | target/ | 444 | target/ |
| 433 | - directory with info on generating TCM v4 fabric .ko modules | 445 | - directory with info on generating TCM v4 fabric .ko modules |
| 446 | this_cpu_ops.txt | ||
| 447 | - List rationale behind and the way to use this_cpu operations. | ||
| 434 | thermal/ | 448 | thermal/ |
| 435 | - directory with information on managing thermal issues (CPU/temp) | 449 | - directory with information on managing thermal issues (CPU/temp) |
| 436 | trace/ | 450 | trace/ |
| @@ -469,6 +483,8 @@ wimax/ | |||
| 469 | - directory with info about Intel Wireless Wimax Connections | 483 | - directory with info about Intel Wireless Wimax Connections |
| 470 | workqueue.txt | 484 | workqueue.txt |
| 471 | - information on the Concurrency Managed Workqueue implementation | 485 | - information on the Concurrency Managed Workqueue implementation |
| 486 | ww-mutex-design.txt | ||
| 487 | - Intro to Mutex wait/would deadlock handling.s | ||
| 472 | x86/x86_64/ | 488 | x86/x86_64/ |
| 473 | - directory with info on Linux support for AMD x86-64 (Hammer) machines. | 489 | - directory with info on Linux support for AMD x86-64 (Hammer) machines. |
| 474 | xtensa/ | 490 | xtensa/ |
diff --git a/Documentation/PCI/MSI-HOWTO.txt b/Documentation/PCI/MSI-HOWTO.txt index a8d01005f480..10a93696e55a 100644 --- a/Documentation/PCI/MSI-HOWTO.txt +++ b/Documentation/PCI/MSI-HOWTO.txt | |||
| @@ -82,7 +82,19 @@ Most of the hard work is done for the driver in the PCI layer. It simply | |||
| 82 | has to request that the PCI layer set up the MSI capability for this | 82 | has to request that the PCI layer set up the MSI capability for this |
| 83 | device. | 83 | device. |
| 84 | 84 | ||
| 85 | 4.2.1 pci_enable_msi_range | 85 | 4.2.1 pci_enable_msi |
| 86 | |||
| 87 | int pci_enable_msi(struct pci_dev *dev) | ||
| 88 | |||
| 89 | A successful call allocates ONE interrupt to the device, regardless | ||
| 90 | of how many MSIs the device supports. The device is switched from | ||
| 91 | pin-based interrupt mode to MSI mode. The dev->irq number is changed | ||
| 92 | to a new number which represents the message signaled interrupt; | ||
| 93 | consequently, this function should be called before the driver calls | ||
| 94 | request_irq(), because an MSI is delivered via a vector that is | ||
| 95 | different from the vector of a pin-based interrupt. | ||
| 96 | |||
| 97 | 4.2.2 pci_enable_msi_range | ||
| 86 | 98 | ||
| 87 | int pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec) | 99 | int pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec) |
| 88 | 100 | ||
| @@ -147,6 +159,11 @@ static int foo_driver_enable_msi(struct pci_dev *pdev, int nvec) | |||
| 147 | return pci_enable_msi_range(pdev, nvec, nvec); | 159 | return pci_enable_msi_range(pdev, nvec, nvec); |
| 148 | } | 160 | } |
| 149 | 161 | ||
| 162 | Note, unlike pci_enable_msi_exact() function, which could be also used to | ||
| 163 | enable a particular number of MSI-X interrupts, pci_enable_msi_range() | ||
| 164 | returns either a negative errno or 'nvec' (not negative errno or 0 - as | ||
| 165 | pci_enable_msi_exact() does). | ||
| 166 | |||
| 150 | 4.2.1.3 Single MSI mode | 167 | 4.2.1.3 Single MSI mode |
| 151 | 168 | ||
| 152 | The most notorious example of the request type described above is | 169 | The most notorious example of the request type described above is |
| @@ -158,7 +175,27 @@ static int foo_driver_enable_single_msi(struct pci_dev *pdev) | |||
| 158 | return pci_enable_msi_range(pdev, 1, 1); | 175 | return pci_enable_msi_range(pdev, 1, 1); |
| 159 | } | 176 | } |
| 160 | 177 | ||
| 161 | 4.2.2 pci_disable_msi | 178 | Note, unlike pci_enable_msi() function, which could be also used to |
| 179 | enable the single MSI mode, pci_enable_msi_range() returns either a | ||
| 180 | negative errno or 1 (not negative errno or 0 - as pci_enable_msi() | ||
| 181 | does). | ||
| 182 | |||
| 183 | 4.2.3 pci_enable_msi_exact | ||
| 184 | |||
| 185 | int pci_enable_msi_exact(struct pci_dev *dev, int nvec) | ||
| 186 | |||
| 187 | This variation on pci_enable_msi_range() call allows a device driver to | ||
| 188 | request exactly 'nvec' MSIs. | ||
| 189 | |||
| 190 | If this function returns a negative number, it indicates an error and | ||
| 191 | the driver should not attempt to request any more MSI interrupts for | ||
| 192 | this device. | ||
| 193 | |||
| 194 | By contrast with pci_enable_msi_range() function, pci_enable_msi_exact() | ||
| 195 | returns zero in case of success, which indicates MSI interrupts have been | ||
| 196 | successfully allocated. | ||
| 197 | |||
| 198 | 4.2.4 pci_disable_msi | ||
| 162 | 199 | ||
| 163 | void pci_disable_msi(struct pci_dev *dev) | 200 | void pci_disable_msi(struct pci_dev *dev) |
| 164 | 201 | ||
| @@ -172,7 +209,7 @@ on any interrupt for which it previously called request_irq(). | |||
| 172 | Failure to do so results in a BUG_ON(), leaving the device with | 209 | Failure to do so results in a BUG_ON(), leaving the device with |
| 173 | MSI enabled and thus leaking its vector. | 210 | MSI enabled and thus leaking its vector. |
| 174 | 211 | ||
| 175 | 4.2.3 pci_msi_vec_count | 212 | 4.2.4 pci_msi_vec_count |
| 176 | 213 | ||
| 177 | int pci_msi_vec_count(struct pci_dev *dev) | 214 | int pci_msi_vec_count(struct pci_dev *dev) |
| 178 | 215 | ||
| @@ -257,8 +294,8 @@ possible, likely up to the limit returned by pci_msix_vec_count() function: | |||
| 257 | 294 | ||
| 258 | static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) | 295 | static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) |
| 259 | { | 296 | { |
| 260 | return pci_enable_msi_range(adapter->pdev, adapter->msix_entries, | 297 | return pci_enable_msix_range(adapter->pdev, adapter->msix_entries, |
| 261 | 1, nvec); | 298 | 1, nvec); |
| 262 | } | 299 | } |
| 263 | 300 | ||
| 264 | Note the value of 'minvec' parameter is 1. As 'minvec' is inclusive, | 301 | Note the value of 'minvec' parameter is 1. As 'minvec' is inclusive, |
| @@ -269,8 +306,8 @@ In this case the function could look like this: | |||
| 269 | 306 | ||
| 270 | static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) | 307 | static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) |
| 271 | { | 308 | { |
| 272 | return pci_enable_msi_range(adapter->pdev, adapter->msix_entries, | 309 | return pci_enable_msix_range(adapter->pdev, adapter->msix_entries, |
| 273 | FOO_DRIVER_MINIMUM_NVEC, nvec); | 310 | FOO_DRIVER_MINIMUM_NVEC, nvec); |
| 274 | } | 311 | } |
| 275 | 312 | ||
| 276 | 4.3.1.2 Exact number of MSI-X interrupts | 313 | 4.3.1.2 Exact number of MSI-X interrupts |
| @@ -282,10 +319,15 @@ parameters: | |||
| 282 | 319 | ||
| 283 | static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) | 320 | static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) |
| 284 | { | 321 | { |
| 285 | return pci_enable_msi_range(adapter->pdev, adapter->msix_entries, | 322 | return pci_enable_msix_range(adapter->pdev, adapter->msix_entries, |
| 286 | nvec, nvec); | 323 | nvec, nvec); |
| 287 | } | 324 | } |
| 288 | 325 | ||
| 326 | Note, unlike pci_enable_msix_exact() function, which could be also used to | ||
| 327 | enable a particular number of MSI-X interrupts, pci_enable_msix_range() | ||
| 328 | returns either a negative errno or 'nvec' (not negative errno or 0 - as | ||
| 329 | pci_enable_msix_exact() does). | ||
| 330 | |||
| 289 | 4.3.1.3 Specific requirements to the number of MSI-X interrupts | 331 | 4.3.1.3 Specific requirements to the number of MSI-X interrupts |
| 290 | 332 | ||
| 291 | As noted above, there could be devices that can not operate with just any | 333 | As noted above, there could be devices that can not operate with just any |
| @@ -332,7 +374,64 @@ Note how pci_enable_msix_range() return value is analized for a fallback - | |||
| 332 | any error code other than -ENOSPC indicates a fatal error and should not | 374 | any error code other than -ENOSPC indicates a fatal error and should not |
| 333 | be retried. | 375 | be retried. |
| 334 | 376 | ||
| 335 | 4.3.2 pci_disable_msix | 377 | 4.3.2 pci_enable_msix_exact |
| 378 | |||
| 379 | int pci_enable_msix_exact(struct pci_dev *dev, | ||
| 380 | struct msix_entry *entries, int nvec) | ||
| 381 | |||
| 382 | This variation on pci_enable_msix_range() call allows a device driver to | ||
| 383 | request exactly 'nvec' MSI-Xs. | ||
| 384 | |||
| 385 | If this function returns a negative number, it indicates an error and | ||
| 386 | the driver should not attempt to allocate any more MSI-X interrupts for | ||
| 387 | this device. | ||
| 388 | |||
| 389 | By contrast with pci_enable_msix_range() function, pci_enable_msix_exact() | ||
| 390 | returns zero in case of success, which indicates MSI-X interrupts have been | ||
| 391 | successfully allocated. | ||
| 392 | |||
| 393 | Another version of a routine that enables MSI-X mode for a device with | ||
| 394 | specific requirements described in chapter 4.3.1.3 might look like this: | ||
| 395 | |||
| 396 | /* | ||
| 397 | * Assume 'minvec' and 'maxvec' are non-zero | ||
| 398 | */ | ||
| 399 | static int foo_driver_enable_msix(struct foo_adapter *adapter, | ||
| 400 | int minvec, int maxvec) | ||
| 401 | { | ||
| 402 | int rc; | ||
| 403 | |||
| 404 | minvec = roundup_pow_of_two(minvec); | ||
| 405 | maxvec = rounddown_pow_of_two(maxvec); | ||
| 406 | |||
| 407 | if (minvec > maxvec) | ||
| 408 | return -ERANGE; | ||
| 409 | |||
| 410 | retry: | ||
| 411 | rc = pci_enable_msix_exact(adapter->pdev, | ||
| 412 | adapter->msix_entries, maxvec); | ||
| 413 | |||
| 414 | /* | ||
| 415 | * -ENOSPC is the only error code allowed to be analyzed | ||
| 416 | */ | ||
| 417 | if (rc == -ENOSPC) { | ||
| 418 | if (maxvec == 1) | ||
| 419 | return -ENOSPC; | ||
| 420 | |||
| 421 | maxvec /= 2; | ||
| 422 | |||
| 423 | if (minvec > maxvec) | ||
| 424 | return -ENOSPC; | ||
| 425 | |||
| 426 | goto retry; | ||
| 427 | } else if (rc < 0) { | ||
| 428 | return rc; | ||
| 429 | } | ||
| 430 | |||
| 431 | return maxvec; | ||
| 432 | } | ||
| 433 | |||
| 434 | 4.3.3 pci_disable_msix | ||
| 336 | 435 | ||
| 337 | void pci_disable_msix(struct pci_dev *dev) | 436 | void pci_disable_msix(struct pci_dev *dev) |
| 338 | 437 | ||
diff --git a/Documentation/RCU/00-INDEX b/Documentation/RCU/00-INDEX index 1d7a885761f5..fa57139f50bf 100644 --- a/Documentation/RCU/00-INDEX +++ b/Documentation/RCU/00-INDEX | |||
| @@ -8,6 +8,8 @@ listRCU.txt | |||
| 8 | - Using RCU to Protect Read-Mostly Linked Lists | 8 | - Using RCU to Protect Read-Mostly Linked Lists |
| 9 | lockdep.txt | 9 | lockdep.txt |
| 10 | - RCU and lockdep checking | 10 | - RCU and lockdep checking |
| 11 | lockdep-splat.txt | ||
| 12 | - RCU Lockdep splats explained. | ||
| 11 | NMI-RCU.txt | 13 | NMI-RCU.txt |
| 12 | - Using RCU to Protect Dynamic NMI Handlers | 14 | - Using RCU to Protect Dynamic NMI Handlers |
| 13 | rcubarrier.txt | 15 | rcubarrier.txt |
diff --git a/Documentation/arm/00-INDEX b/Documentation/arm/00-INDEX index 36420e116c90..a94090cc785d 100644 --- a/Documentation/arm/00-INDEX +++ b/Documentation/arm/00-INDEX | |||
| @@ -4,6 +4,8 @@ Booting | |||
| 4 | - requirements for booting | 4 | - requirements for booting |
| 5 | Interrupts | 5 | Interrupts |
| 6 | - ARM Interrupt subsystem documentation | 6 | - ARM Interrupt subsystem documentation |
| 7 | IXP4xx | ||
| 8 | - Intel IXP4xx Network processor. | ||
| 7 | msm | 9 | msm |
| 8 | - MSM specific documentation | 10 | - MSM specific documentation |
| 9 | Netwinder | 11 | Netwinder |
| @@ -24,8 +26,16 @@ SPEAr | |||
| 24 | - ST SPEAr platform Linux Overview | 26 | - ST SPEAr platform Linux Overview |
| 25 | VFP/ | 27 | VFP/ |
| 26 | - Release notes for Linux Kernel Vector Floating Point support code | 28 | - Release notes for Linux Kernel Vector Floating Point support code |
| 29 | cluster-pm-race-avoidance.txt | ||
| 30 | - Algorithm for CPU and Cluster setup/teardown | ||
| 27 | empeg/ | 31 | empeg/ |
| 28 | - Ltd's Empeg MP3 Car Audio Player | 32 | - Ltd's Empeg MP3 Car Audio Player |
| 33 | firmware.txt | ||
| 34 | - Secure firmware registration and calling. | ||
| 35 | kernel_mode_neon.txt | ||
| 36 | - How to use NEON instructions in kernel mode | ||
| 37 | kernel_user_helpers.txt | ||
| 38 | - Helper functions in kernel space made available for userspace. | ||
| 29 | mem_alignment | 39 | mem_alignment |
| 30 | - alignment abort handler documentation | 40 | - alignment abort handler documentation |
| 31 | memory.txt | 41 | memory.txt |
| @@ -34,3 +44,7 @@ nwfpe/ | |||
| 34 | - NWFPE floating point emulator documentation | 44 | - NWFPE floating point emulator documentation |
| 35 | swp_emulation | 45 | swp_emulation |
| 36 | - SWP/SWPB emulation handler/logging description | 46 | - SWP/SWPB emulation handler/logging description |
| 47 | tcm.txt | ||
| 48 | - ARM Tightly Coupled Memory | ||
| 49 | vlocks.txt | ||
| 50 | - Voting locks, low-level mechanism relying on memory system atomic writes. | ||
diff --git a/Documentation/blackfin/00-INDEX b/Documentation/blackfin/00-INDEX index 2df0365f2dff..c54fcdd4ae9f 100644 --- a/Documentation/blackfin/00-INDEX +++ b/Documentation/blackfin/00-INDEX | |||
| @@ -1,8 +1,10 @@ | |||
| 1 | 00-INDEX | 1 | 00-INDEX |
| 2 | - This file | 2 | - This file |
| 3 | 3 | Makefile | |
| 4 | - Makefile for gptimers example file. | ||
| 4 | bfin-gpio-notes.txt | 5 | bfin-gpio-notes.txt |
| 5 | - Notes in developing/using bfin-gpio driver. | 6 | - Notes in developing/using bfin-gpio driver. |
| 6 | |||
| 7 | bfin-spi-notes.txt | 7 | bfin-spi-notes.txt |
| 8 | - Notes for using bfin spi bus driver. | 8 | - Notes for using bfin spi bus driver. |
| 9 | gptimers-example.c | ||
| 10 | - gptimers example | ||
diff --git a/Documentation/block/00-INDEX b/Documentation/block/00-INDEX index 929d9904f74b..e840b47613f7 100644 --- a/Documentation/block/00-INDEX +++ b/Documentation/block/00-INDEX | |||
| @@ -14,6 +14,8 @@ deadline-iosched.txt | |||
| 14 | - Deadline IO scheduler tunables | 14 | - Deadline IO scheduler tunables |
| 15 | ioprio.txt | 15 | ioprio.txt |
| 16 | - Block io priorities (in CFQ scheduler) | 16 | - Block io priorities (in CFQ scheduler) |
| 17 | null_blk.txt | ||
| 18 | - Null block for block-layer benchmarking. | ||
| 17 | queue-sysfs.txt | 19 | queue-sysfs.txt |
| 18 | - Queue's sysfs entries | 20 | - Queue's sysfs entries |
| 19 | request.txt | 21 | request.txt |
diff --git a/Documentation/device-mapper/cache.txt b/Documentation/device-mapper/cache.txt index e6b72d355151..68c0f517c60e 100644 --- a/Documentation/device-mapper/cache.txt +++ b/Documentation/device-mapper/cache.txt | |||
| @@ -124,12 +124,11 @@ the default being 204800 sectors (or 100MB). | |||
| 124 | Updating on-disk metadata | 124 | Updating on-disk metadata |
| 125 | ------------------------- | 125 | ------------------------- |
| 126 | 126 | ||
| 127 | On-disk metadata is committed every time a REQ_SYNC or REQ_FUA bio is | 127 | On-disk metadata is committed every time a FLUSH or FUA bio is written. |
| 128 | written. If no such requests are made then commits will occur every | 128 | If no such requests are made then commits will occur every second. This |
| 129 | second. This means the cache behaves like a physical disk that has a | 129 | means the cache behaves like a physical disk that has a volatile write |
| 130 | write cache (the same is true of the thin-provisioning target). If | 130 | cache. If power is lost you may lose some recent writes. The metadata |
| 131 | power is lost you may lose some recent writes. The metadata should | 131 | should always be consistent in spite of any crash. |
| 132 | always be consistent in spite of any crash. | ||
| 133 | 132 | ||
| 134 | The 'dirty' state for a cache block changes far too frequently for us | 133 | The 'dirty' state for a cache block changes far too frequently for us |
| 135 | to keep updating it on the fly. So we treat it as a hint. In normal | 134 | to keep updating it on the fly. So we treat it as a hint. In normal |
diff --git a/Documentation/device-mapper/thin-provisioning.txt b/Documentation/device-mapper/thin-provisioning.txt index 8a7a3d46e0da..05a27e9442bd 100644 --- a/Documentation/device-mapper/thin-provisioning.txt +++ b/Documentation/device-mapper/thin-provisioning.txt | |||
| @@ -116,6 +116,35 @@ Resuming a device with a new table itself triggers an event so the | |||
| 116 | userspace daemon can use this to detect a situation where a new table | 116 | userspace daemon can use this to detect a situation where a new table |
| 117 | already exceeds the threshold. | 117 | already exceeds the threshold. |
| 118 | 118 | ||
| 119 | A low water mark for the metadata device is maintained in the kernel and | ||
| 120 | will trigger a dm event if free space on the metadata device drops below | ||
| 121 | it. | ||
| 122 | |||
| 123 | Updating on-disk metadata | ||
| 124 | ------------------------- | ||
| 125 | |||
| 126 | On-disk metadata is committed every time a FLUSH or FUA bio is written. | ||
| 127 | If no such requests are made then commits will occur every second. This | ||
| 128 | means the thin-provisioning target behaves like a physical disk that has | ||
| 129 | a volatile write cache. If power is lost you may lose some recent | ||
| 130 | writes. The metadata should always be consistent in spite of any crash. | ||
| 131 | |||
| 132 | If data space is exhausted the pool will either error or queue IO | ||
| 133 | according to the configuration (see: error_if_no_space). If metadata | ||
| 134 | space is exhausted or a metadata operation fails: the pool will error IO | ||
| 135 | until the pool is taken offline and repair is performed to 1) fix any | ||
| 136 | potential inconsistencies and 2) clear the flag that imposes repair. | ||
| 137 | Once the pool's metadata device is repaired it may be resized, which | ||
| 138 | will allow the pool to return to normal operation. Note that if a pool | ||
| 139 | is flagged as needing repair, the pool's data and metadata devices | ||
| 140 | cannot be resized until repair is performed. It should also be noted | ||
| 141 | that when the pool's metadata space is exhausted the current metadata | ||
| 142 | transaction is aborted. Given that the pool will cache IO whose | ||
| 143 | completion may have already been acknowledged to upper IO layers | ||
| 144 | (e.g. filesystem) it is strongly suggested that consistency checks | ||
| 145 | (e.g. fsck) be performed on those layers when repair of the pool is | ||
| 146 | required. | ||
| 147 | |||
| 119 | Thin provisioning | 148 | Thin provisioning |
| 120 | ----------------- | 149 | ----------------- |
| 121 | 150 | ||
| @@ -258,10 +287,9 @@ ii) Status | |||
| 258 | should register for the event and then check the target's status. | 287 | should register for the event and then check the target's status. |
| 259 | 288 | ||
| 260 | held metadata root: | 289 | held metadata root: |
| 261 | The location, in sectors, of the metadata root that has been | 290 | The location, in blocks, of the metadata root that has been |
| 262 | 'held' for userspace read access. '-' indicates there is no | 291 | 'held' for userspace read access. '-' indicates there is no |
| 263 | held root. This feature is not yet implemented so '-' is | 292 | held root. |
| 264 | always returned. | ||
| 265 | 293 | ||
| 266 | discard_passdown|no_discard_passdown | 294 | discard_passdown|no_discard_passdown |
| 267 | Whether or not discards are actually being passed down to the | 295 | Whether or not discards are actually being passed down to the |
diff --git a/Documentation/devicetree/00-INDEX b/Documentation/devicetree/00-INDEX index b78f691fd847..8c4102c6a5e7 100644 --- a/Documentation/devicetree/00-INDEX +++ b/Documentation/devicetree/00-INDEX | |||
| @@ -8,3 +8,5 @@ https://lists.ozlabs.org/listinfo/devicetree-discuss | |||
| 8 | - this file | 8 | - this file |
| 9 | booting-without-of.txt | 9 | booting-without-of.txt |
| 10 | - Booting Linux without Open Firmware, describes history and format of device trees. | 10 | - Booting Linux without Open Firmware, describes history and format of device trees. |
| 11 | usage-model.txt | ||
| 12 | - How Linux uses DT and what DT aims to solve. \ No newline at end of file | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt index 34dc40cffdfd..af9b4a0d902b 100644 --- a/Documentation/devicetree/bindings/arm/omap/omap.txt +++ b/Documentation/devicetree/bindings/arm/omap/omap.txt | |||
| @@ -91,7 +91,7 @@ Boards: | |||
| 91 | compatible = "ti,omap3-beagle", "ti,omap3" | 91 | compatible = "ti,omap3-beagle", "ti,omap3" |
| 92 | 92 | ||
| 93 | - OMAP3 Tobi with Overo : Commercial expansion board with daughter board | 93 | - OMAP3 Tobi with Overo : Commercial expansion board with daughter board |
| 94 | compatible = "ti,omap3-tobi", "ti,omap3-overo", "ti,omap3" | 94 | compatible = "gumstix,omap3-overo-tobi", "gumstix,omap3-overo", "ti,omap3" |
| 95 | 95 | ||
| 96 | - OMAP4 SDP : Software Development Board | 96 | - OMAP4 SDP : Software Development Board |
| 97 | compatible = "ti,omap4-sdp", "ti,omap4430" | 97 | compatible = "ti,omap4-sdp", "ti,omap4430" |
diff --git a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt index a6a352c2771e..5992dceec7af 100644 --- a/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt +++ b/Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt | |||
| @@ -21,9 +21,9 @@ Required Properties: | |||
| 21 | must appear in the same order as the output clocks. | 21 | must appear in the same order as the output clocks. |
| 22 | - #clock-cells: Must be 1 | 22 | - #clock-cells: Must be 1 |
| 23 | - clock-output-names: The name of the clocks as free-form strings | 23 | - clock-output-names: The name of the clocks as free-form strings |
| 24 | - renesas,indices: Indices of the gate clocks into the group (0 to 31) | 24 | - renesas,clock-indices: Indices of the gate clocks into the group (0 to 31) |
| 25 | 25 | ||
| 26 | The clocks, clock-output-names and renesas,indices properties contain one | 26 | The clocks, clock-output-names and renesas,clock-indices properties contain one |
| 27 | entry per gate clock. The MSTP groups are sparsely populated. Unimplemented | 27 | entry per gate clock. The MSTP groups are sparsely populated. Unimplemented |
| 28 | gate clocks must not be declared. | 28 | gate clocks must not be declared. |
| 29 | 29 | ||
diff --git a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt index 68b83ecc3850..ee9be9961524 100644 --- a/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +++ b/Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt | |||
| @@ -1,12 +1,16 @@ | |||
| 1 | * Freescale Smart Direct Memory Access (SDMA) Controller for i.MX | 1 | * Freescale Smart Direct Memory Access (SDMA) Controller for i.MX |
| 2 | 2 | ||
| 3 | Required properties: | 3 | Required properties: |
| 4 | - compatible : Should be "fsl,imx31-sdma", "fsl,imx31-to1-sdma", | 4 | - compatible : Should be one of |
| 5 | "fsl,imx31-to2-sdma", "fsl,imx35-sdma", "fsl,imx35-to1-sdma", | 5 | "fsl,imx25-sdma" |
| 6 | "fsl,imx35-to2-sdma", "fsl,imx51-sdma", "fsl,imx53-sdma" or | 6 | "fsl,imx31-sdma", "fsl,imx31-to1-sdma", "fsl,imx31-to2-sdma" |
| 7 | "fsl,imx6q-sdma". The -to variants should be preferred since they | 7 | "fsl,imx35-sdma", "fsl,imx35-to1-sdma", "fsl,imx35-to2-sdma" |
| 8 | allow to determnine the correct ROM script addresses needed for | 8 | "fsl,imx51-sdma" |
| 9 | the driver to work without additional firmware. | 9 | "fsl,imx53-sdma" |
| 10 | "fsl,imx6q-sdma" | ||
| 11 | The -to variants should be preferred since they allow to determnine the | ||
| 12 | correct ROM script addresses needed for the driver to work without additional | ||
| 13 | firmware. | ||
| 10 | - reg : Should contain SDMA registers location and length | 14 | - reg : Should contain SDMA registers location and length |
| 11 | - interrupts : Should contain SDMA interrupt | 15 | - interrupts : Should contain SDMA interrupt |
| 12 | - #dma-cells : Must be <3>. | 16 | - #dma-cells : Must be <3>. |
diff --git a/Documentation/devicetree/bindings/interrupt-controller/lsi,zevio-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/lsi,zevio-intc.txt new file mode 100644 index 000000000000..aee38e7c13e7 --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/lsi,zevio-intc.txt | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | TI-NSPIRE interrupt controller | ||
| 2 | |||
| 3 | Required properties: | ||
| 4 | - compatible: Compatible property value should be "lsi,zevio-intc". | ||
| 5 | |||
| 6 | - reg: Physical base address of the controller and length of memory mapped | ||
| 7 | region. | ||
| 8 | |||
| 9 | - interrupt-controller : Identifies the node as an interrupt controller | ||
| 10 | |||
| 11 | Example: | ||
| 12 | |||
| 13 | interrupt-controller { | ||
| 14 | compatible = "lsi,zevio-intc"; | ||
| 15 | interrupt-controller; | ||
| 16 | reg = <0xDC000000 0x1000>; | ||
| 17 | #interrupt-cells = <1>; | ||
| 18 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/s2mpa01.txt b/Documentation/devicetree/bindings/mfd/s2mpa01.txt new file mode 100644 index 000000000000..c13d3d8c3947 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/s2mpa01.txt | |||
| @@ -0,0 +1,90 @@ | |||
| 1 | |||
| 2 | * Samsung S2MPA01 Voltage and Current Regulator | ||
| 3 | |||
| 4 | The Samsung S2MPA01 is a multi-function device which includes high | ||
| 5 | efficiency buck converters including Dual-Phase buck converter, various LDOs, | ||
| 6 | and an RTC. It is interfaced to the host controller using an I2C interface. | ||
| 7 | Each sub-block is addressed by the host system using different I2C slave | ||
| 8 | addresses. | ||
| 9 | |||
| 10 | Required properties: | ||
| 11 | - compatible: Should be "samsung,s2mpa01-pmic". | ||
| 12 | - reg: Specifies the I2C slave address of the PMIC block. It should be 0x66. | ||
| 13 | |||
| 14 | Optional properties: | ||
| 15 | - interrupt-parent: Specifies the phandle of the interrupt controller to which | ||
| 16 | the interrupts from s2mpa01 are delivered to. | ||
| 17 | - interrupts: An interrupt specifier for the sole interrupt generated by the | ||
| 18 | device. | ||
| 19 | |||
| 20 | Optional nodes: | ||
| 21 | - regulators: The regulators of s2mpa01 that have to be instantiated should be | ||
| 22 | included in a sub-node named 'regulators'. Regulator nodes and constraints | ||
| 23 | included in this sub-node use the standard regulator bindings which are | ||
| 24 | documented elsewhere. | ||
| 25 | |||
| 26 | Properties for BUCK regulator nodes: | ||
| 27 | - regulator-ramp-delay: ramp delay in uV/us. May be 6250, 12500 | ||
| 28 | (default), 25000, or 50000. May be 0 for disabling the ramp delay on | ||
| 29 | BUCK{1,2,3,4}. | ||
| 30 | |||
| 31 | In the absence of the regulator-ramp-delay property, the default ramp | ||
| 32 | delay will be used. | ||
| 33 | |||
| 34 | NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set | ||
| 35 | for a particular group of BUCKs. So provide same regulator-ramp-delay=<value>. | ||
| 36 | |||
| 37 | The following BUCKs share ramp settings: | ||
| 38 | * 1 and 6 | ||
| 39 | * 2 and 4 | ||
| 40 | * 8, 9, and 10 | ||
| 41 | |||
| 42 | The following are the names of the regulators that the s2mpa01 PMIC block | ||
| 43 | supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number | ||
| 44 | as per the datasheet of s2mpa01. | ||
| 45 | |||
| 46 | - LDOn | ||
| 47 | - valid values for n are 1 to 26 | ||
| 48 | - Example: LDO1, LD02, LDO26 | ||
| 49 | - BUCKn | ||
| 50 | - valid values for n are 1 to 10. | ||
| 51 | - Example: BUCK1, BUCK2, BUCK9 | ||
| 52 | |||
| 53 | Example: | ||
| 54 | |||
| 55 | s2mpa01_pmic@66 { | ||
| 56 | compatible = "samsung,s2mpa01-pmic"; | ||
| 57 | reg = <0x66>; | ||
| 58 | |||
| 59 | regulators { | ||
| 60 | ldo1_reg: LDO1 { | ||
| 61 | regulator-name = "VDD_ALIVE"; | ||
| 62 | regulator-min-microvolt = <1000000>; | ||
| 63 | regulator-max-microvolt = <1000000>; | ||
| 64 | }; | ||
| 65 | |||
| 66 | ldo2_reg: LDO2 { | ||
| 67 | regulator-name = "VDDQ_MMC2"; | ||
| 68 | regulator-min-microvolt = <2800000>; | ||
| 69 | regulator-max-microvolt = <2800000>; | ||
| 70 | regulator-always-on; | ||
| 71 | }; | ||
| 72 | |||
| 73 | buck1_reg: BUCK1 { | ||
| 74 | regulator-name = "vdd_mif"; | ||
| 75 | regulator-min-microvolt = <950000>; | ||
| 76 | regulator-max-microvolt = <1350000>; | ||
| 77 | regulator-always-on; | ||
| 78 | regulator-boot-on; | ||
| 79 | }; | ||
| 80 | |||
| 81 | buck2_reg: BUCK2 { | ||
| 82 | regulator-name = "vdd_arm"; | ||
| 83 | regulator-min-microvolt = <950000>; | ||
| 84 | regulator-max-microvolt = <1350000>; | ||
| 85 | regulator-always-on; | ||
| 86 | regulator-boot-on; | ||
| 87 | regulator-ramp-delay = <50000>; | ||
| 88 | }; | ||
| 89 | }; | ||
| 90 | }; | ||
diff --git a/Documentation/devicetree/bindings/mfd/s2mps11.txt b/Documentation/devicetree/bindings/mfd/s2mps11.txt index 15ee89c3cc7b..f69bec294f02 100644 --- a/Documentation/devicetree/bindings/mfd/s2mps11.txt +++ b/Documentation/devicetree/bindings/mfd/s2mps11.txt | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | 1 | ||
| 2 | * Samsung S2MPS11 Voltage and Current Regulator | 2 | * Samsung S2MPS11 and S2MPS14 Voltage and Current Regulator |
| 3 | 3 | ||
| 4 | The Samsung S2MPS11 is a multi-function device which includes voltage and | 4 | The Samsung S2MPS11 is a multi-function device which includes voltage and |
| 5 | current regulators, RTC, charger controller and other sub-blocks. It is | 5 | current regulators, RTC, charger controller and other sub-blocks. It is |
| @@ -7,7 +7,7 @@ interfaced to the host controller using an I2C interface. Each sub-block is | |||
| 7 | addressed by the host system using different I2C slave addresses. | 7 | addressed by the host system using different I2C slave addresses. |
| 8 | 8 | ||
| 9 | Required properties: | 9 | Required properties: |
| 10 | - compatible: Should be "samsung,s2mps11-pmic". | 10 | - compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic". |
| 11 | - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. | 11 | - reg: Specifies the I2C slave address of the pmic block. It should be 0x66. |
| 12 | 12 | ||
| 13 | Optional properties: | 13 | Optional properties: |
| @@ -59,10 +59,14 @@ supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number | |||
| 59 | as per the datasheet of s2mps11. | 59 | as per the datasheet of s2mps11. |
| 60 | 60 | ||
| 61 | - LDOn | 61 | - LDOn |
| 62 | - valid values for n are 1 to 38 | 62 | - valid values for n are: |
| 63 | - S2MPS11: 1 to 38 | ||
| 64 | - S2MPS14: 1 to 25 | ||
| 63 | - Example: LDO1, LD02, LDO28 | 65 | - Example: LDO1, LD02, LDO28 |
| 64 | - BUCKn | 66 | - BUCKn |
| 65 | - valid values for n are 1 to 10. | 67 | - valid values for n are: |
| 68 | - S2MPS11: 1 to 10 | ||
| 69 | - S2MPS14: 1 to 5 | ||
| 66 | - Example: BUCK1, BUCK2, BUCK9 | 70 | - Example: BUCK1, BUCK2, BUCK9 |
| 67 | 71 | ||
| 68 | Example: | 72 | Example: |
diff --git a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt index 0a85c70cd30a..07ad02075a93 100644 --- a/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt +++ b/Documentation/devicetree/bindings/mmc/atmel-hsmci.txt | |||
| @@ -13,6 +13,9 @@ Required properties: | |||
| 13 | - #address-cells: should be one. The cell is the slot id. | 13 | - #address-cells: should be one. The cell is the slot id. |
| 14 | - #size-cells: should be zero. | 14 | - #size-cells: should be zero. |
| 15 | - at least one slot node | 15 | - at least one slot node |
| 16 | - clock-names: tuple listing input clock names. | ||
| 17 | Required elements: "mci_clk" | ||
| 18 | - clocks: phandles to input clocks. | ||
| 16 | 19 | ||
| 17 | The node contains child nodes for each slot that the platform uses | 20 | The node contains child nodes for each slot that the platform uses |
| 18 | 21 | ||
| @@ -24,6 +27,8 @@ mmc0: mmc@f0008000 { | |||
| 24 | interrupts = <12 4>; | 27 | interrupts = <12 4>; |
| 25 | #address-cells = <1>; | 28 | #address-cells = <1>; |
| 26 | #size-cells = <0>; | 29 | #size-cells = <0>; |
| 30 | clock-names = "mci_clk"; | ||
| 31 | clocks = <&mci0_clk>; | ||
| 27 | 32 | ||
| 28 | [ child node definitions...] | 33 | [ child node definitions...] |
| 29 | }; | 34 | }; |
diff --git a/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt b/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt index b90bfcd138ff..863d5b8155c7 100644 --- a/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt +++ b/Documentation/devicetree/bindings/net/allwinner,sun4i-emac.txt | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | * Allwinner EMAC ethernet controller | 1 | * Allwinner EMAC ethernet controller |
| 2 | 2 | ||
| 3 | Required properties: | 3 | Required properties: |
| 4 | - compatible: should be "allwinner,sun4i-emac". | 4 | - compatible: should be "allwinner,sun4i-a10-emac" (Deprecated: |
| 5 | "allwinner,sun4i-emac") | ||
| 5 | - reg: address and length of the register set for the device. | 6 | - reg: address and length of the register set for the device. |
| 6 | - interrupts: interrupt for the device | 7 | - interrupts: interrupt for the device |
| 7 | - phy: A phandle to a phy node defining the PHY address (as the reg | 8 | - phy: A phandle to a phy node defining the PHY address (as the reg |
| @@ -14,7 +15,7 @@ Optional properties: | |||
| 14 | Example: | 15 | Example: |
| 15 | 16 | ||
| 16 | emac: ethernet@01c0b000 { | 17 | emac: ethernet@01c0b000 { |
| 17 | compatible = "allwinner,sun4i-emac"; | 18 | compatible = "allwinner,sun4i-a10-emac"; |
| 18 | reg = <0x01c0b000 0x1000>; | 19 | reg = <0x01c0b000 0x1000>; |
| 19 | interrupts = <55>; | 20 | interrupts = <55>; |
| 20 | clocks = <&ahb_gates 17>; | 21 | clocks = <&ahb_gates 17>; |
diff --git a/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt b/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt index 00b9f9a3ec1d..4ec56413779d 100644 --- a/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt +++ b/Documentation/devicetree/bindings/net/allwinner,sun4i-mdio.txt | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | * Allwinner A10 MDIO Ethernet Controller interface | 1 | * Allwinner A10 MDIO Ethernet Controller interface |
| 2 | 2 | ||
| 3 | Required properties: | 3 | Required properties: |
| 4 | - compatible: should be "allwinner,sun4i-mdio". | 4 | - compatible: should be "allwinner,sun4i-a10-mdio" |
| 5 | (Deprecated: "allwinner,sun4i-mdio"). | ||
| 5 | - reg: address and length of the register set for the device. | 6 | - reg: address and length of the register set for the device. |
| 6 | 7 | ||
| 7 | Optional properties: | 8 | Optional properties: |
| @@ -9,7 +10,7 @@ Optional properties: | |||
| 9 | 10 | ||
| 10 | Example at the SoC level: | 11 | Example at the SoC level: |
| 11 | mdio@01c0b080 { | 12 | mdio@01c0b080 { |
| 12 | compatible = "allwinner,sun4i-mdio"; | 13 | compatible = "allwinner,sun4i-a10-mdio"; |
| 13 | reg = <0x01c0b080 0x14>; | 14 | reg = <0x01c0b080 0x14>; |
| 14 | #address-cells = <1>; | 15 | #address-cells = <1>; |
| 15 | #size-cells = <0>; | 16 | #size-cells = <0>; |
diff --git a/Documentation/devicetree/bindings/net/micrel-ks8851.txt b/Documentation/devicetree/bindings/net/micrel-ks8851.txt index 11ace3c3d805..4fc392763611 100644 --- a/Documentation/devicetree/bindings/net/micrel-ks8851.txt +++ b/Documentation/devicetree/bindings/net/micrel-ks8851.txt | |||
| @@ -7,3 +7,4 @@ Required properties: | |||
| 7 | 7 | ||
| 8 | Optional properties: | 8 | Optional properties: |
| 9 | - local-mac-address : Ethernet mac address to use | 9 | - local-mac-address : Ethernet mac address to use |
| 10 | - vdd-supply: supply for Ethernet mac | ||
diff --git a/Documentation/devicetree/bindings/net/opencores-ethoc.txt b/Documentation/devicetree/bindings/net/opencores-ethoc.txt new file mode 100644 index 000000000000..2dc127c30d9b --- /dev/null +++ b/Documentation/devicetree/bindings/net/opencores-ethoc.txt | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | * OpenCores MAC 10/100 Mbps | ||
| 2 | |||
| 3 | Required properties: | ||
| 4 | - compatible: Should be "opencores,ethoc". | ||
| 5 | - reg: two memory regions (address and length), | ||
| 6 | first region is for the device registers and descriptor rings, | ||
| 7 | second is for the device packet memory. | ||
| 8 | - interrupts: interrupt for the device. | ||
| 9 | |||
| 10 | Optional properties: | ||
| 11 | - clocks: phandle to refer to the clk used as per | ||
| 12 | Documentation/devicetree/bindings/clock/clock-bindings.txt | ||
| 13 | |||
| 14 | Examples: | ||
| 15 | |||
| 16 | enet0: ethoc@fd030000 { | ||
| 17 | compatible = "opencores,ethoc"; | ||
| 18 | reg = <0xfd030000 0x4000 0xfd800000 0x4000>; | ||
| 19 | interrupts = <1>; | ||
| 20 | local-mac-address = [00 50 c2 13 6f 00]; | ||
| 21 | clocks = <&osc>; | ||
| 22 | }; | ||
diff --git a/Documentation/devicetree/bindings/net/sti-dwmac.txt b/Documentation/devicetree/bindings/net/sti-dwmac.txt new file mode 100644 index 000000000000..3dd3d0bf112f --- /dev/null +++ b/Documentation/devicetree/bindings/net/sti-dwmac.txt | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | STMicroelectronics SoC DWMAC glue layer controller | ||
| 2 | |||
| 3 | The device node has following properties. | ||
| 4 | |||
| 5 | Required properties: | ||
| 6 | - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac" or | ||
| 7 | "st,stid127-dwmac". | ||
| 8 | - reg : Offset of the glue configuration register map in system | ||
| 9 | configuration regmap pointed by st,syscon property and size. | ||
| 10 | |||
| 11 | - reg-names : Should be "sti-ethconf". | ||
| 12 | |||
| 13 | - st,syscon : Should be phandle to system configuration node which | ||
| 14 | encompases this glue registers. | ||
| 15 | |||
| 16 | - st,tx-retime-src: On STi Parts for Giga bit speeds, 125Mhz clocks can be | ||
| 17 | wired up in from different sources. One via TXCLK pin and other via CLK_125 | ||
| 18 | pin. This wiring is totally board dependent. However the retiming glue | ||
| 19 | logic should be configured accordingly. Possible values for this property | ||
| 20 | |||
| 21 | "txclk" - if 125Mhz clock is wired up via txclk line. | ||
| 22 | "clk_125" - if 125Mhz clock is wired up via clk_125 line. | ||
| 23 | |||
| 24 | This property is only valid for Giga bit setup( GMII, RGMII), and it is | ||
| 25 | un-used for non-giga bit (MII and RMII) setups. Also note that internal | ||
| 26 | clockgen can not generate stable 125Mhz clock. | ||
| 27 | |||
| 28 | - st,ext-phyclk: This boolean property indicates who is generating the clock | ||
| 29 | for tx and rx. This property is only valid for RMII case where the clock can | ||
| 30 | be generated from the MAC or PHY. | ||
| 31 | |||
| 32 | - clock-names: should be "sti-ethclk". | ||
| 33 | - clocks: Should point to ethernet clockgen which can generate phyclk. | ||
| 34 | |||
| 35 | |||
| 36 | Example: | ||
| 37 | |||
| 38 | ethernet0: dwmac@fe810000 { | ||
| 39 | device_type = "network"; | ||
| 40 | compatible = "st,stih416-dwmac", "snps,dwmac", "snps,dwmac-3.710"; | ||
| 41 | reg = <0xfe810000 0x8000>, <0x8bc 0x4>; | ||
| 42 | reg-names = "stmmaceth", "sti-ethconf"; | ||
| 43 | interrupts = <0 133 0>, <0 134 0>, <0 135 0>; | ||
| 44 | interrupt-names = "macirq", "eth_wake_irq", "eth_lpi"; | ||
| 45 | phy-mode = "mii"; | ||
| 46 | |||
| 47 | st,syscon = <&syscfg_rear>; | ||
| 48 | |||
| 49 | snps,pbl = <32>; | ||
| 50 | snps,mixed-burst; | ||
| 51 | |||
| 52 | resets = <&softreset STIH416_ETH0_SOFTRESET>; | ||
| 53 | reset-names = "stmmaceth"; | ||
| 54 | pinctrl-0 = <&pinctrl_mii0>; | ||
| 55 | pinctrl-names = "default"; | ||
| 56 | clocks = <&CLK_S_GMAC0_PHY>; | ||
| 57 | clock-names = "stmmaceth"; | ||
| 58 | }; | ||
diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt index 9e9e9ef9f852..c119debe6bab 100644 --- a/Documentation/devicetree/bindings/pinctrl/brcm,capri-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm11351-pinctrl.txt | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | Broadcom Capri Pin Controller | 1 | Broadcom BCM281xx Pin Controller |
| 2 | 2 | ||
| 3 | This is a pin controller for the Broadcom BCM281xx SoC family, which includes | 3 | This is a pin controller for the Broadcom BCM281xx SoC family, which includes |
| 4 | BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. | 4 | BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. |
| @@ -7,14 +7,14 @@ BCM11130, BCM11140, BCM11351, BCM28145, and BCM28155 SoCs. | |||
| 7 | 7 | ||
| 8 | Required Properties: | 8 | Required Properties: |
| 9 | 9 | ||
| 10 | - compatible: Must be "brcm,capri-pinctrl". | 10 | - compatible: Must be "brcm,bcm11351-pinctrl" |
| 11 | - reg: Base address of the PAD Controller register block and the size | 11 | - reg: Base address of the PAD Controller register block and the size |
| 12 | of the block. | 12 | of the block. |
| 13 | 13 | ||
| 14 | For example, the following is the bare minimum node: | 14 | For example, the following is the bare minimum node: |
| 15 | 15 | ||
| 16 | pinctrl@35004800 { | 16 | pinctrl@35004800 { |
| 17 | compatible = "brcm,capri-pinctrl"; | 17 | compatible = "brcm,bcm11351-pinctrl"; |
| 18 | reg = <0x35004800 0x430>; | 18 | reg = <0x35004800 0x430>; |
| 19 | }; | 19 | }; |
| 20 | 20 | ||
| @@ -119,7 +119,7 @@ Optional Properties (for HDMI pins): | |||
| 119 | Example: | 119 | Example: |
| 120 | // pin controller node | 120 | // pin controller node |
| 121 | pinctrl@35004800 { | 121 | pinctrl@35004800 { |
| 122 | compatible = "brcm,capri-pinctrl"; | 122 | compatible = "brcmbcm11351-pinctrl"; |
| 123 | reg = <0x35004800 0x430>; | 123 | reg = <0x35004800 0x430>; |
| 124 | 124 | ||
| 125 | // pin configuration node | 125 | // pin configuration node |
diff --git a/Documentation/devicetree/bindings/power/bq2415x.txt b/Documentation/devicetree/bindings/power/bq2415x.txt new file mode 100644 index 000000000000..d0327f0b59ad --- /dev/null +++ b/Documentation/devicetree/bindings/power/bq2415x.txt | |||
| @@ -0,0 +1,47 @@ | |||
| 1 | Binding for TI bq2415x Li-Ion Charger | ||
| 2 | |||
| 3 | Required properties: | ||
| 4 | - compatible: Should contain one of the following: | ||
| 5 | * "ti,bq24150" | ||
| 6 | * "ti,bq24150" | ||
| 7 | * "ti,bq24150a" | ||
| 8 | * "ti,bq24151" | ||
| 9 | * "ti,bq24151a" | ||
| 10 | * "ti,bq24152" | ||
| 11 | * "ti,bq24153" | ||
| 12 | * "ti,bq24153a" | ||
| 13 | * "ti,bq24155" | ||
| 14 | * "ti,bq24156" | ||
| 15 | * "ti,bq24156a" | ||
| 16 | * "ti,bq24158" | ||
| 17 | - reg: integer, i2c address of the device. | ||
| 18 | - ti,current-limit: integer, initial maximum current charger can pull | ||
| 19 | from power supply in mA. | ||
| 20 | - ti,weak-battery-voltage: integer, weak battery voltage threshold in mV. | ||
| 21 | The chip will use slow precharge if battery voltage | ||
| 22 | is below this value. | ||
| 23 | - ti,battery-regulation-voltage: integer, maximum charging voltage in mV. | ||
| 24 | - ti,charge-current: integer, maximum charging current in mA. | ||
| 25 | - ti,termination-current: integer, charge will be terminated when current in | ||
| 26 | constant-voltage phase drops below this value (in mA). | ||
| 27 | - ti,resistor-sense: integer, value of sensing resistor in milliohm. | ||
| 28 | |||
| 29 | Optional properties: | ||
| 30 | - ti,usb-charger-detection: phandle to usb charger detection device. | ||
| 31 | (required for auto mode) | ||
| 32 | |||
| 33 | Example from Nokia N900: | ||
| 34 | |||
| 35 | bq24150a { | ||
| 36 | compatible = "ti,bq24150a"; | ||
| 37 | reg = <0x6b>; | ||
| 38 | |||
| 39 | ti,current-limit = <100>; | ||
| 40 | ti,weak-battery-voltage = <3400>; | ||
| 41 | ti,battery-regulation-voltage = <4200>; | ||
| 42 | ti,charge-current = <650>; | ||
| 43 | ti,termination-current = <100>; | ||
| 44 | ti,resistor-sense = <68>; | ||
| 45 | |||
| 46 | ti,usb-charger-detection = <&isp1704>; | ||
| 47 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/gpio-regulator.txt b/Documentation/devicetree/bindings/regulator/gpio-regulator.txt index 63c659800c03..e5cac1e0ca8a 100644 --- a/Documentation/devicetree/bindings/regulator/gpio-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/gpio-regulator.txt | |||
| @@ -8,8 +8,12 @@ Required properties: | |||
| 8 | Optional properties: | 8 | Optional properties: |
| 9 | - enable-gpio : GPIO to use to enable/disable the regulator. | 9 | - enable-gpio : GPIO to use to enable/disable the regulator. |
| 10 | - gpios : GPIO group used to control voltage. | 10 | - gpios : GPIO group used to control voltage. |
| 11 | - gpios-states : gpios pin's initial states array. 0: LOW, 1: HIGH. | ||
| 12 | defualt is LOW if nothing is specified. | ||
| 11 | - startup-delay-us : Startup time in microseconds. | 13 | - startup-delay-us : Startup time in microseconds. |
| 12 | - enable-active-high : Polarity of GPIO is active high (default is low). | 14 | - enable-active-high : Polarity of GPIO is active high (default is low). |
| 15 | - regulator-type : Specifies what is being regulated, must be either | ||
| 16 | "voltage" or "current", defaults to current. | ||
| 13 | 17 | ||
| 14 | Any property defined as part of the core regulator binding defined in | 18 | Any property defined as part of the core regulator binding defined in |
| 15 | regulator.txt can also be used. | 19 | regulator.txt can also be used. |
diff --git a/Documentation/devicetree/bindings/regulator/pfuze100.txt b/Documentation/devicetree/bindings/regulator/pfuze100.txt index fc989b2e8057..34ef5d16d0f1 100644 --- a/Documentation/devicetree/bindings/regulator/pfuze100.txt +++ b/Documentation/devicetree/bindings/regulator/pfuze100.txt | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | PFUZE100 family of regulators | 1 | PFUZE100 family of regulators |
| 2 | 2 | ||
| 3 | Required properties: | 3 | Required properties: |
| 4 | - compatible: "fsl,pfuze100" | 4 | - compatible: "fsl,pfuze100" or "fsl,pfuze200" |
| 5 | - reg: I2C slave address | 5 | - reg: I2C slave address |
| 6 | 6 | ||
| 7 | Required child node: | 7 | Required child node: |
| @@ -10,11 +10,14 @@ Required child node: | |||
| 10 | Documentation/devicetree/bindings/regulator/regulator.txt. | 10 | Documentation/devicetree/bindings/regulator/regulator.txt. |
| 11 | 11 | ||
| 12 | The valid names for regulators are: | 12 | The valid names for regulators are: |
| 13 | --PFUZE100 | ||
| 13 | sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6 | 14 | sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6 |
| 15 | --PFUZE200 | ||
| 16 | sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6 | ||
| 14 | 17 | ||
| 15 | Each regulator is defined using the standard binding for regulators. | 18 | Each regulator is defined using the standard binding for regulators. |
| 16 | 19 | ||
| 17 | Example: | 20 | Example 1: PFUZE100 |
| 18 | 21 | ||
| 19 | pmic: pfuze100@08 { | 22 | pmic: pfuze100@08 { |
| 20 | compatible = "fsl,pfuze100"; | 23 | compatible = "fsl,pfuze100"; |
| @@ -113,3 +116,92 @@ Example: | |||
| 113 | }; | 116 | }; |
| 114 | }; | 117 | }; |
| 115 | }; | 118 | }; |
| 119 | |||
| 120 | |||
| 121 | Example 2: PFUZE200 | ||
| 122 | |||
| 123 | pmic: pfuze200@08 { | ||
| 124 | compatible = "fsl,pfuze200"; | ||
| 125 | reg = <0x08>; | ||
| 126 | |||
| 127 | regulators { | ||
| 128 | sw1a_reg: sw1ab { | ||
| 129 | regulator-min-microvolt = <300000>; | ||
| 130 | regulator-max-microvolt = <1875000>; | ||
| 131 | regulator-boot-on; | ||
| 132 | regulator-always-on; | ||
| 133 | regulator-ramp-delay = <6250>; | ||
| 134 | }; | ||
| 135 | |||
| 136 | sw2_reg: sw2 { | ||
| 137 | regulator-min-microvolt = <800000>; | ||
| 138 | regulator-max-microvolt = <3300000>; | ||
| 139 | regulator-boot-on; | ||
| 140 | regulator-always-on; | ||
| 141 | }; | ||
| 142 | |||
| 143 | sw3a_reg: sw3a { | ||
| 144 | regulator-min-microvolt = <400000>; | ||
| 145 | regulator-max-microvolt = <1975000>; | ||
| 146 | regulator-boot-on; | ||
| 147 | regulator-always-on; | ||
| 148 | }; | ||
| 149 | |||
| 150 | sw3b_reg: sw3b { | ||
| 151 | regulator-min-microvolt = <400000>; | ||
| 152 | regulator-max-microvolt = <1975000>; | ||
| 153 | regulator-boot-on; | ||
| 154 | regulator-always-on; | ||
| 155 | }; | ||
| 156 | |||
| 157 | swbst_reg: swbst { | ||
| 158 | regulator-min-microvolt = <5000000>; | ||
| 159 | regulator-max-microvolt = <5150000>; | ||
| 160 | }; | ||
| 161 | |||
| 162 | snvs_reg: vsnvs { | ||
| 163 | regulator-min-microvolt = <1000000>; | ||
| 164 | regulator-max-microvolt = <3000000>; | ||
| 165 | regulator-boot-on; | ||
| 166 | regulator-always-on; | ||
| 167 | }; | ||
| 168 | |||
| 169 | vref_reg: vrefddr { | ||
| 170 | regulator-boot-on; | ||
| 171 | regulator-always-on; | ||
| 172 | }; | ||
| 173 | |||
| 174 | vgen1_reg: vgen1 { | ||
| 175 | regulator-min-microvolt = <800000>; | ||
| 176 | regulator-max-microvolt = <1550000>; | ||
| 177 | }; | ||
| 178 | |||
| 179 | vgen2_reg: vgen2 { | ||
| 180 | regulator-min-microvolt = <800000>; | ||
| 181 | regulator-max-microvolt = <1550000>; | ||
| 182 | }; | ||
| 183 | |||
| 184 | vgen3_reg: vgen3 { | ||
| 185 | regulator-min-microvolt = <1800000>; | ||
| 186 | regulator-max-microvolt = <3300000>; | ||
| 187 | }; | ||
| 188 | |||
| 189 | vgen4_reg: vgen4 { | ||
| 190 | regulator-min-microvolt = <1800000>; | ||
| 191 | regulator-max-microvolt = <3300000>; | ||
| 192 | regulator-always-on; | ||
| 193 | }; | ||
| 194 | |||
| 195 | vgen5_reg: vgen5 { | ||
| 196 | regulator-min-microvolt = <1800000>; | ||
| 197 | regulator-max-microvolt = <3300000>; | ||
| 198 | regulator-always-on; | ||
| 199 | }; | ||
| 200 | |||
| 201 | vgen6_reg: vgen6 { | ||
| 202 | regulator-min-microvolt = <1800000>; | ||
| 203 | regulator-max-microvolt = <3300000>; | ||
| 204 | regulator-always-on; | ||
| 205 | }; | ||
| 206 | }; | ||
| 207 | }; | ||
diff --git a/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt b/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt index fc6b38f035bd..d290988ed975 100644 --- a/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt +++ b/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt | |||
| @@ -69,13 +69,16 @@ sub-node should be of the format as listed below. | |||
| 69 | }; | 69 | }; |
| 70 | }; | 70 | }; |
| 71 | The above regulator entries are defined in regulator bindings documentation | 71 | The above regulator entries are defined in regulator bindings documentation |
| 72 | except op_mode description. | 72 | except these properties: |
| 73 | - op_mode: describes the different operating modes of the LDO's with | 73 | - op_mode: describes the different operating modes of the LDO's with |
| 74 | power mode change in SOC. The different possible values are, | 74 | power mode change in SOC. The different possible values are, |
| 75 | 0 - always off mode | 75 | 0 - always off mode |
| 76 | 1 - on in normal mode | 76 | 1 - on in normal mode |
| 77 | 2 - low power mode | 77 | 2 - low power mode |
| 78 | 3 - suspend mode | 78 | 3 - suspend mode |
| 79 | - s5m8767,pmic-ext-control-gpios: (optional) GPIO specifier for one | ||
| 80 | GPIO controlling this regulator (enable/disable); This is | ||
| 81 | valid only for buck9. | ||
| 79 | 82 | ||
| 80 | The following are the names of the regulators that the s5m8767 pmic block | 83 | The following are the names of the regulators that the s5m8767 pmic block |
| 81 | supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number | 84 | supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number |
| @@ -148,5 +151,13 @@ Example: | |||
| 148 | regulator-always-on; | 151 | regulator-always-on; |
| 149 | regulator-boot-on; | 152 | regulator-boot-on; |
| 150 | }; | 153 | }; |
| 154 | |||
| 155 | vemmc_reg: BUCK9 { | ||
| 156 | regulator-name = "VMEM_VDD_2.8V"; | ||
| 157 | regulator-min-microvolt = <2800000>; | ||
| 158 | regulator-max-microvolt = <2800000>; | ||
| 159 | op_mode = <3>; /* Standby Mode */ | ||
| 160 | s5m8767,pmic-ext-control-gpios = <&gpk0 2 0>; | ||
| 161 | }; | ||
| 151 | }; | 162 | }; |
| 152 | }; | 163 | }; |
diff --git a/Documentation/devicetree/bindings/spi/spi_atmel.txt b/Documentation/devicetree/bindings/spi/spi_atmel.txt index 07e04cdc0c9e..4f8184d069cb 100644 --- a/Documentation/devicetree/bindings/spi/spi_atmel.txt +++ b/Documentation/devicetree/bindings/spi/spi_atmel.txt | |||
| @@ -5,6 +5,9 @@ Required properties: | |||
| 5 | - reg: Address and length of the register set for the device | 5 | - reg: Address and length of the register set for the device |
| 6 | - interrupts: Should contain spi interrupt | 6 | - interrupts: Should contain spi interrupt |
| 7 | - cs-gpios: chipselects | 7 | - cs-gpios: chipselects |
| 8 | - clock-names: tuple listing input clock names. | ||
| 9 | Required elements: "spi_clk" | ||
| 10 | - clocks: phandles to input clocks. | ||
| 8 | 11 | ||
| 9 | Example: | 12 | Example: |
| 10 | 13 | ||
| @@ -14,6 +17,8 @@ spi1: spi@fffcc000 { | |||
| 14 | interrupts = <13 4 5>; | 17 | interrupts = <13 4 5>; |
| 15 | #address-cells = <1>; | 18 | #address-cells = <1>; |
| 16 | #size-cells = <0>; | 19 | #size-cells = <0>; |
| 20 | clocks = <&spi1_clk>; | ||
| 21 | clock-names = "spi_clk"; | ||
| 17 | cs-gpios = <&pioB 3 0>; | 22 | cs-gpios = <&pioB 3 0>; |
| 18 | status = "okay"; | 23 | status = "okay"; |
| 19 | 24 | ||
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt index 3f900cd51bf0..40ce2df0e0e9 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt | |||
| @@ -8,6 +8,7 @@ ad Avionic Design GmbH | |||
| 8 | adi Analog Devices, Inc. | 8 | adi Analog Devices, Inc. |
| 9 | aeroflexgaisler Aeroflex Gaisler AB | 9 | aeroflexgaisler Aeroflex Gaisler AB |
| 10 | ak Asahi Kasei Corp. | 10 | ak Asahi Kasei Corp. |
| 11 | allwinner Allwinner Technology Co., Ltd. | ||
| 11 | altr Altera Corp. | 12 | altr Altera Corp. |
| 12 | amcc Applied Micro Circuits Corporation (APM, formally AMCC) | 13 | amcc Applied Micro Circuits Corporation (APM, formally AMCC) |
| 13 | amstaos AMS-Taos Inc. | 14 | amstaos AMS-Taos Inc. |
| @@ -40,6 +41,7 @@ gmt Global Mixed-mode Technology, Inc. | |||
| 40 | gumstix Gumstix, Inc. | 41 | gumstix Gumstix, Inc. |
| 41 | haoyu Haoyu Microelectronic Co. Ltd. | 42 | haoyu Haoyu Microelectronic Co. Ltd. |
| 42 | hisilicon Hisilicon Limited. | 43 | hisilicon Hisilicon Limited. |
| 44 | honeywell Honeywell | ||
| 43 | hp Hewlett Packard | 45 | hp Hewlett Packard |
| 44 | ibm International Business Machines (IBM) | 46 | ibm International Business Machines (IBM) |
| 45 | idt Integrated Device Technologies, Inc. | 47 | idt Integrated Device Technologies, Inc. |
| @@ -55,6 +57,7 @@ maxim Maxim Integrated Products | |||
| 55 | microchip Microchip Technology Inc. | 57 | microchip Microchip Technology Inc. |
| 56 | mosaixtech Mosaix Technologies, Inc. | 58 | mosaixtech Mosaix Technologies, Inc. |
| 57 | national National Semiconductor | 59 | national National Semiconductor |
| 60 | neonode Neonode Inc. | ||
| 58 | nintendo Nintendo | 61 | nintendo Nintendo |
| 59 | nvidia NVIDIA | 62 | nvidia NVIDIA |
| 60 | nxp NXP Semiconductors | 63 | nxp NXP Semiconductors |
| @@ -64,7 +67,7 @@ phytec PHYTEC Messtechnik GmbH | |||
| 64 | picochip Picochip Ltd | 67 | picochip Picochip Ltd |
| 65 | powervr PowerVR (deprecated, use img) | 68 | powervr PowerVR (deprecated, use img) |
| 66 | qca Qualcomm Atheros, Inc. | 69 | qca Qualcomm Atheros, Inc. |
| 67 | qcom Qualcomm, Inc. | 70 | qcom Qualcomm Technologies, Inc |
| 68 | ralink Mediatek/Ralink Technology Corp. | 71 | ralink Mediatek/Ralink Technology Corp. |
| 69 | ramtron Ramtron International | 72 | ramtron Ramtron International |
| 70 | realtek Realtek Semiconductor Corp. | 73 | realtek Realtek Semiconductor Corp. |
| @@ -78,6 +81,7 @@ silabs Silicon Laboratories | |||
| 78 | simtek | 81 | simtek |
| 79 | sirf SiRF Technology, Inc. | 82 | sirf SiRF Technology, Inc. |
| 80 | snps Synopsys, Inc. | 83 | snps Synopsys, Inc. |
| 84 | spansion Spansion Inc. | ||
| 81 | st STMicroelectronics | 85 | st STMicroelectronics |
| 82 | ste ST-Ericsson | 86 | ste ST-Ericsson |
| 83 | stericsson ST-Ericsson | 87 | stericsson ST-Ericsson |
diff --git a/Documentation/dvb/contributors.txt b/Documentation/dvb/contributors.txt index 47c30098dab6..731a009723c7 100644 --- a/Documentation/dvb/contributors.txt +++ b/Documentation/dvb/contributors.txt | |||
| @@ -78,7 +78,7 @@ Peter Beutner <p.beutner@gmx.net> | |||
| 78 | Wilson Michaels <wilsonmichaels@earthlink.net> | 78 | Wilson Michaels <wilsonmichaels@earthlink.net> |
| 79 | for the lgdt330x frontend driver, and various bugfixes | 79 | for the lgdt330x frontend driver, and various bugfixes |
| 80 | 80 | ||
| 81 | Michael Krufky <mkrufky@m1k.net> | 81 | Michael Krufky <mkrufky@linuxtv.org> |
| 82 | for maintaining v4l/dvb inter-tree dependencies | 82 | for maintaining v4l/dvb inter-tree dependencies |
| 83 | 83 | ||
| 84 | Taylor Jacob <rtjacob@earthlink.net> | 84 | Taylor Jacob <rtjacob@earthlink.net> |
diff --git a/Documentation/fb/00-INDEX b/Documentation/fb/00-INDEX index 30a70542e823..fe85e7c5907a 100644 --- a/Documentation/fb/00-INDEX +++ b/Documentation/fb/00-INDEX | |||
| @@ -5,6 +5,8 @@ please mail me. | |||
| 5 | 5 | ||
| 6 | 00-INDEX | 6 | 00-INDEX |
| 7 | - this file. | 7 | - this file. |
| 8 | api.txt | ||
| 9 | - The frame buffer API between applications and buffer devices. | ||
| 8 | arkfb.txt | 10 | arkfb.txt |
| 9 | - info on the fbdev driver for ARK Logic chips. | 11 | - info on the fbdev driver for ARK Logic chips. |
| 10 | aty128fb.txt | 12 | aty128fb.txt |
| @@ -51,12 +53,16 @@ sh7760fb.txt | |||
| 51 | - info on the SH7760/SH7763 integrated LCDC Framebuffer driver. | 53 | - info on the SH7760/SH7763 integrated LCDC Framebuffer driver. |
| 52 | sisfb.txt | 54 | sisfb.txt |
| 53 | - info on the framebuffer device driver for various SiS chips. | 55 | - info on the framebuffer device driver for various SiS chips. |
| 56 | sm501.txt | ||
| 57 | - info on the framebuffer device driver for sm501 videoframebuffer. | ||
| 54 | sstfb.txt | 58 | sstfb.txt |
| 55 | - info on the frame buffer driver for 3dfx' Voodoo Graphics boards. | 59 | - info on the frame buffer driver for 3dfx' Voodoo Graphics boards. |
| 56 | tgafb.txt | 60 | tgafb.txt |
| 57 | - info on the TGA (DECChip 21030) frame buffer driver. | 61 | - info on the TGA (DECChip 21030) frame buffer driver. |
| 58 | tridentfb.txt | 62 | tridentfb.txt |
| 59 | info on the framebuffer driver for some Trident chip based cards. | 63 | info on the framebuffer driver for some Trident chip based cards. |
| 64 | udlfb.txt | ||
| 65 | - Driver for DisplayLink USB 2.0 chips. | ||
| 60 | uvesafb.txt | 66 | uvesafb.txt |
| 61 | - info on the userspace VESA (VBE2+ compliant) frame buffer device. | 67 | - info on the userspace VESA (VBE2+ compliant) frame buffer device. |
| 62 | vesafb.txt | 68 | vesafb.txt |
diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX index 632211cbdd56..ac28149aede4 100644 --- a/Documentation/filesystems/00-INDEX +++ b/Documentation/filesystems/00-INDEX | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | - this file (info on some of the filesystems supported by linux). | 2 | - this file (info on some of the filesystems supported by linux). |
| 3 | Locking | 3 | Locking |
| 4 | - info on locking rules as they pertain to Linux VFS. | 4 | - info on locking rules as they pertain to Linux VFS. |
| 5 | Makefile | ||
| 6 | - Makefile for building the filsystems-part of DocBook. | ||
| 5 | 9p.txt | 7 | 9p.txt |
| 6 | - 9p (v9fs) is an implementation of the Plan 9 remote fs protocol. | 8 | - 9p (v9fs) is an implementation of the Plan 9 remote fs protocol. |
| 7 | adfs.txt | 9 | adfs.txt |
diff --git a/Documentation/filesystems/nfs/00-INDEX b/Documentation/filesystems/nfs/00-INDEX index 66eb6c8c5334..53f3b596ac0d 100644 --- a/Documentation/filesystems/nfs/00-INDEX +++ b/Documentation/filesystems/nfs/00-INDEX | |||
| @@ -12,6 +12,8 @@ nfs41-server.txt | |||
| 12 | - info on the Linux server implementation of NFSv4 minor version 1. | 12 | - info on the Linux server implementation of NFSv4 minor version 1. |
| 13 | nfs-rdma.txt | 13 | nfs-rdma.txt |
| 14 | - how to install and setup the Linux NFS/RDMA client and server software | 14 | - how to install and setup the Linux NFS/RDMA client and server software |
| 15 | nfsd-admin-interfaces.txt | ||
| 16 | - Administrative interfaces for nfsd. | ||
| 15 | nfsroot.txt | 17 | nfsroot.txt |
| 16 | - short guide on setting up a diskless box with NFS root filesystem. | 18 | - short guide on setting up a diskless box with NFS root filesystem. |
| 17 | pnfs.txt | 19 | pnfs.txt |
| @@ -20,5 +22,5 @@ rpc-cache.txt | |||
| 20 | - introduction to the caching mechanisms in the sunrpc layer. | 22 | - introduction to the caching mechanisms in the sunrpc layer. |
| 21 | idmapper.txt | 23 | idmapper.txt |
| 22 | - information for configuring request-keys to be used by idmapper | 24 | - information for configuring request-keys to be used by idmapper |
| 23 | knfsd-rpcgss.txt | 25 | rpc-server-gss.txt |
| 24 | - Information on GSS authentication support in the NFS Server | 26 | - Information on GSS authentication support in the NFS Server |
diff --git a/Documentation/i2c/instantiating-devices b/Documentation/i2c/instantiating-devices index c70e7a7638d1..0d85ac1935b7 100644 --- a/Documentation/i2c/instantiating-devices +++ b/Documentation/i2c/instantiating-devices | |||
| @@ -8,8 +8,8 @@ reason, the kernel code must instantiate I2C devices explicitly. There are | |||
| 8 | several ways to achieve this, depending on the context and requirements. | 8 | several ways to achieve this, depending on the context and requirements. |
| 9 | 9 | ||
| 10 | 10 | ||
| 11 | Method 1: Declare the I2C devices by bus number | 11 | Method 1a: Declare the I2C devices by bus number |
| 12 | ----------------------------------------------- | 12 | ------------------------------------------------ |
| 13 | 13 | ||
| 14 | This method is appropriate when the I2C bus is a system bus as is the case | 14 | This method is appropriate when the I2C bus is a system bus as is the case |
| 15 | for many embedded systems. On such systems, each I2C bus has a number | 15 | for many embedded systems. On such systems, each I2C bus has a number |
| @@ -51,6 +51,43 @@ The devices will be automatically unbound and destroyed when the I2C bus | |||
| 51 | they sit on goes away (if ever.) | 51 | they sit on goes away (if ever.) |
| 52 | 52 | ||
| 53 | 53 | ||
| 54 | Method 1b: Declare the I2C devices via devicetree | ||
| 55 | ------------------------------------------------- | ||
| 56 | |||
| 57 | This method has the same implications as method 1a. The declaration of I2C | ||
| 58 | devices is here done via devicetree as subnodes of the master controller. | ||
| 59 | |||
| 60 | Example: | ||
| 61 | |||
| 62 | i2c1: i2c@400a0000 { | ||
| 63 | /* ... master properties skipped ... */ | ||
| 64 | clock-frequency = <100000>; | ||
| 65 | |||
| 66 | flash@50 { | ||
| 67 | compatible = "atmel,24c256"; | ||
| 68 | reg = <0x50>; | ||
| 69 | }; | ||
| 70 | |||
| 71 | pca9532: gpio@60 { | ||
| 72 | compatible = "nxp,pca9532"; | ||
| 73 | gpio-controller; | ||
| 74 | #gpio-cells = <2>; | ||
| 75 | reg = <0x60>; | ||
| 76 | }; | ||
| 77 | }; | ||
| 78 | |||
| 79 | Here, two devices are attached to the bus using a speed of 100kHz. For | ||
| 80 | additional properties which might be needed to set up the device, please refer | ||
| 81 | to its devicetree documentation in Documentation/devicetree/bindings/. | ||
| 82 | |||
| 83 | |||
| 84 | Method 1c: Declare the I2C devices via ACPI | ||
| 85 | ------------------------------------------- | ||
| 86 | |||
| 87 | ACPI can also describe I2C devices. There is special documentation for this | ||
| 88 | which is currently located at Documentation/acpi/enumeration.txt. | ||
| 89 | |||
| 90 | |||
| 54 | Method 2: Instantiate the devices explicitly | 91 | Method 2: Instantiate the devices explicitly |
| 55 | -------------------------------------------- | 92 | -------------------------------------------- |
| 56 | 93 | ||
diff --git a/Documentation/ide/00-INDEX b/Documentation/ide/00-INDEX index d6b778842b75..22f98ca79539 100644 --- a/Documentation/ide/00-INDEX +++ b/Documentation/ide/00-INDEX | |||
| @@ -10,3 +10,5 @@ ide-tape.txt | |||
| 10 | - info on the IDE ATAPI streaming tape driver | 10 | - info on the IDE ATAPI streaming tape driver |
| 11 | ide.txt | 11 | ide.txt |
| 12 | - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS). | 12 | - important info for users of ATA devices (IDE/EIDE disks and CD-ROMS). |
| 13 | warm-plug-howto.txt | ||
| 14 | - using sysfs to remove and add IDE devices. \ No newline at end of file | ||
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 8f441dab0396..7116fda7077f 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
| @@ -1726,16 +1726,16 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
| 1726 | option description. | 1726 | option description. |
| 1727 | 1727 | ||
| 1728 | memmap=nn[KMG]@ss[KMG] | 1728 | memmap=nn[KMG]@ss[KMG] |
| 1729 | [KNL] Force usage of a specific region of memory | 1729 | [KNL] Force usage of a specific region of memory. |
| 1730 | Region of memory to be used, from ss to ss+nn. | 1730 | Region of memory to be used is from ss to ss+nn. |
| 1731 | 1731 | ||
| 1732 | memmap=nn[KMG]#ss[KMG] | 1732 | memmap=nn[KMG]#ss[KMG] |
| 1733 | [KNL,ACPI] Mark specific memory as ACPI data. | 1733 | [KNL,ACPI] Mark specific memory as ACPI data. |
| 1734 | Region of memory to be used, from ss to ss+nn. | 1734 | Region of memory to be marked is from ss to ss+nn. |
| 1735 | 1735 | ||
| 1736 | memmap=nn[KMG]$ss[KMG] | 1736 | memmap=nn[KMG]$ss[KMG] |
| 1737 | [KNL,ACPI] Mark specific memory as reserved. | 1737 | [KNL,ACPI] Mark specific memory as reserved. |
| 1738 | Region of memory to be used, from ss to ss+nn. | 1738 | Region of memory to be reserved is from ss to ss+nn. |
| 1739 | Example: Exclude memory from 0x18690000-0x1869ffff | 1739 | Example: Exclude memory from 0x18690000-0x1869ffff |
| 1740 | memmap=64K$0x18690000 | 1740 | memmap=64K$0x18690000 |
| 1741 | or | 1741 | or |
diff --git a/Documentation/laptops/00-INDEX b/Documentation/laptops/00-INDEX index fa688538e757..d13b9a9a9e00 100644 --- a/Documentation/laptops/00-INDEX +++ b/Documentation/laptops/00-INDEX | |||
| @@ -1,13 +1,15 @@ | |||
| 1 | 00-INDEX | 1 | 00-INDEX |
| 2 | - This file | 2 | - This file |
| 3 | acer-wmi.txt | 3 | Makefile |
| 4 | - information on the Acer Laptop WMI Extras driver. | 4 | - Makefile for building dslm example program. |
| 5 | asus-laptop.txt | 5 | asus-laptop.txt |
| 6 | - information on the Asus Laptop Extras driver. | 6 | - information on the Asus Laptop Extras driver. |
| 7 | disk-shock-protection.txt | 7 | disk-shock-protection.txt |
| 8 | - information on hard disk shock protection. | 8 | - information on hard disk shock protection. |
| 9 | dslm.c | 9 | dslm.c |
| 10 | - Simple Disk Sleep Monitor program | 10 | - Simple Disk Sleep Monitor program |
| 11 | hpfall.c | ||
| 12 | - (HP) laptop accelerometer program for disk protection. | ||
| 11 | laptop-mode.txt | 13 | laptop-mode.txt |
| 12 | - how to conserve battery power using laptop-mode. | 14 | - how to conserve battery power using laptop-mode. |
| 13 | sony-laptop.txt | 15 | sony-laptop.txt |
diff --git a/Documentation/leds/00-INDEX b/Documentation/leds/00-INDEX index 1ecd1596633e..b4ef1f34e25f 100644 --- a/Documentation/leds/00-INDEX +++ b/Documentation/leds/00-INDEX | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 00-INDEX | ||
| 2 | - This file | ||
| 3 | leds-blinkm.txt | ||
| 4 | - Driver for BlinkM LED-devices. | ||
| 1 | leds-class.txt | 5 | leds-class.txt |
| 2 | - documents LED handling under Linux. | 6 | - documents LED handling under Linux. |
| 3 | leds-lp3944.txt | 7 | leds-lp3944.txt |
| @@ -12,3 +16,7 @@ leds-lp55xx.txt | |||
| 12 | - description about lp55xx common driver. | 16 | - description about lp55xx common driver. |
| 13 | leds-lm3556.txt | 17 | leds-lm3556.txt |
| 14 | - notes on how to use the leds-lm3556 driver. | 18 | - notes on how to use the leds-lm3556 driver. |
| 19 | ledtrig-oneshot.txt | ||
| 20 | - One-shot LED trigger for both sporadic and dense events. | ||
| 21 | ledtrig-transient.txt | ||
| 22 | - LED Transient Trigger, one shot timer activation. | ||
diff --git a/Documentation/m68k/00-INDEX b/Documentation/m68k/00-INDEX index a014e9f00765..2be8c6b00e74 100644 --- a/Documentation/m68k/00-INDEX +++ b/Documentation/m68k/00-INDEX | |||
| @@ -1,5 +1,7 @@ | |||
| 1 | 00-INDEX | 1 | 00-INDEX |
| 2 | - this file | 2 | - this file |
| 3 | README.buddha | ||
| 4 | - Amiga Buddha and Catweasel IDE Driver | ||
| 3 | kernel-options.txt | 5 | kernel-options.txt |
| 4 | - command line options for Linux/m68k | 6 | - command line options for Linux/m68k |
| 5 | 7 | ||
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX index f11580f8719a..557b6ef70c26 100644 --- a/Documentation/networking/00-INDEX +++ b/Documentation/networking/00-INDEX | |||
| @@ -6,8 +6,14 @@ | |||
| 6 | - information on the 3Com Etherlink III Series Ethernet cards. | 6 | - information on the 3Com Etherlink III Series Ethernet cards. |
| 7 | 6pack.txt | 7 | 6pack.txt |
| 8 | - info on the 6pack protocol, an alternative to KISS for AX.25 | 8 | - info on the 6pack protocol, an alternative to KISS for AX.25 |
| 9 | DLINK.txt | 9 | LICENSE.qla3xxx |
| 10 | - info on the D-Link DE-600/DE-620 parallel port pocket adapters | 10 | - GPLv2 for QLogic Linux Networking HBA Driver |
| 11 | LICENSE.qlge | ||
| 12 | - GPLv2 for QLogic Linux qlge NIC Driver | ||
| 13 | LICENSE.qlcnic | ||
| 14 | - GPLv2 for QLogic Linux qlcnic NIC Driver | ||
| 15 | Makefile | ||
| 16 | - Makefile for docsrc. | ||
| 11 | PLIP.txt | 17 | PLIP.txt |
| 12 | - PLIP: The Parallel Line Internet Protocol device driver | 18 | - PLIP: The Parallel Line Internet Protocol device driver |
| 13 | README.ipw2100 | 19 | README.ipw2100 |
| @@ -17,7 +23,7 @@ README.ipw2200 | |||
| 17 | README.sb1000 | 23 | README.sb1000 |
| 18 | - info on General Instrument/NextLevel SURFboard1000 cable modem. | 24 | - info on General Instrument/NextLevel SURFboard1000 cable modem. |
| 19 | alias.txt | 25 | alias.txt |
| 20 | - info on using alias network devices | 26 | - info on using alias network devices. |
| 21 | arcnet-hardware.txt | 27 | arcnet-hardware.txt |
| 22 | - tons of info on ARCnet, hubs, jumper settings for ARCnet cards, etc. | 28 | - tons of info on ARCnet, hubs, jumper settings for ARCnet cards, etc. |
| 23 | arcnet.txt | 29 | arcnet.txt |
| @@ -80,7 +86,7 @@ framerelay.txt | |||
| 80 | - info on using Frame Relay/Data Link Connection Identifier (DLCI). | 86 | - info on using Frame Relay/Data Link Connection Identifier (DLCI). |
| 81 | gen_stats.txt | 87 | gen_stats.txt |
| 82 | - Generic networking statistics for netlink users. | 88 | - Generic networking statistics for netlink users. |
| 83 | generic_hdlc.txt | 89 | generic-hdlc.txt |
| 84 | - The generic High Level Data Link Control (HDLC) layer. | 90 | - The generic High Level Data Link Control (HDLC) layer. |
| 85 | generic_netlink.txt | 91 | generic_netlink.txt |
| 86 | - info on Generic Netlink | 92 | - info on Generic Netlink |
| @@ -88,6 +94,8 @@ gianfar.txt | |||
| 88 | - Gianfar Ethernet Driver. | 94 | - Gianfar Ethernet Driver. |
| 89 | i40e.txt | 95 | i40e.txt |
| 90 | - README for the Intel Ethernet Controller XL710 Driver (i40e). | 96 | - README for the Intel Ethernet Controller XL710 Driver (i40e). |
| 97 | i40evf.txt | ||
| 98 | - Short note on the Driver for the Intel(R) XL710 X710 Virtual Function | ||
| 91 | ieee802154.txt | 99 | ieee802154.txt |
| 92 | - Linux IEEE 802.15.4 implementation, API and drivers | 100 | - Linux IEEE 802.15.4 implementation, API and drivers |
| 93 | igb.txt | 101 | igb.txt |
| @@ -102,6 +110,8 @@ ipddp.txt | |||
| 102 | - AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation | 110 | - AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation |
| 103 | iphase.txt | 111 | iphase.txt |
| 104 | - Interphase PCI ATM (i)Chip IA Linux driver info. | 112 | - Interphase PCI ATM (i)Chip IA Linux driver info. |
| 113 | ipsec.txt | ||
| 114 | - Note on not compressing IPSec payload and resulting failed policy check. | ||
| 105 | ipv6.txt | 115 | ipv6.txt |
| 106 | - Options to the ipv6 kernel module. | 116 | - Options to the ipv6 kernel module. |
| 107 | ipvs-sysctl.txt | 117 | ipvs-sysctl.txt |
| @@ -120,6 +130,8 @@ lapb-module.txt | |||
| 120 | - programming information of the LAPB module. | 130 | - programming information of the LAPB module. |
| 121 | ltpc.txt | 131 | ltpc.txt |
| 122 | - the Apple or Farallon LocalTalk PC card driver | 132 | - the Apple or Farallon LocalTalk PC card driver |
| 133 | mac80211-auth-assoc-deauth.txt | ||
| 134 | - authentication and association / deauth-disassoc with max80211 | ||
| 123 | mac80211-injection.txt | 135 | mac80211-injection.txt |
| 124 | - HOWTO use packet injection with mac80211 | 136 | - HOWTO use packet injection with mac80211 |
| 125 | multiqueue.txt | 137 | multiqueue.txt |
| @@ -134,6 +146,10 @@ netdevices.txt | |||
| 134 | - info on network device driver functions exported to the kernel. | 146 | - info on network device driver functions exported to the kernel. |
| 135 | netif-msg.txt | 147 | netif-msg.txt |
| 136 | - Design of the network interface message level setting (NETIF_MSG_*). | 148 | - Design of the network interface message level setting (NETIF_MSG_*). |
| 149 | netlink_mmap.txt | ||
| 150 | - memory mapped I/O with netlink | ||
| 151 | nf_conntrack-sysctl.txt | ||
| 152 | - list of netfilter-sysctl knobs. | ||
| 137 | nfc.txt | 153 | nfc.txt |
| 138 | - The Linux Near Field Communication (NFS) subsystem. | 154 | - The Linux Near Field Communication (NFS) subsystem. |
| 139 | openvswitch.txt | 155 | openvswitch.txt |
| @@ -176,7 +192,7 @@ skfp.txt | |||
| 176 | - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info. | 192 | - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info. |
| 177 | smc9.txt | 193 | smc9.txt |
| 178 | - the driver for SMC's 9000 series of Ethernet cards | 194 | - the driver for SMC's 9000 series of Ethernet cards |
| 179 | spider-net.txt | 195 | spider_net.txt |
| 180 | - README for the Spidernet Driver (as found in PS3 / Cell BE). | 196 | - README for the Spidernet Driver (as found in PS3 / Cell BE). |
| 181 | stmmac.txt | 197 | stmmac.txt |
| 182 | - README for the STMicro Synopsys Ethernet driver. | 198 | - README for the STMicro Synopsys Ethernet driver. |
| @@ -188,6 +204,8 @@ tcp.txt | |||
| 188 | - short blurb on how TCP output takes place. | 204 | - short blurb on how TCP output takes place. |
| 189 | tcp-thin.txt | 205 | tcp-thin.txt |
| 190 | - kernel tuning options for low rate 'thin' TCP streams. | 206 | - kernel tuning options for low rate 'thin' TCP streams. |
| 207 | team.txt | ||
| 208 | - pointer to information for ethernet teaming devices. | ||
| 191 | tlan.txt | 209 | tlan.txt |
| 192 | - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. | 210 | - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. |
| 193 | tproxy.txt | 211 | tproxy.txt |
| @@ -200,6 +218,8 @@ vortex.txt | |||
| 200 | - info on using 3Com Vortex (3c590, 3c592, 3c595, 3c597) Ethernet cards. | 218 | - info on using 3Com Vortex (3c590, 3c592, 3c595, 3c597) Ethernet cards. |
| 201 | vxge.txt | 219 | vxge.txt |
| 202 | - README for the Neterion X3100 PCIe Server Adapter. | 220 | - README for the Neterion X3100 PCIe Server Adapter. |
| 221 | vxlan.txt | ||
| 222 | - Virtual extensible LAN overview | ||
| 203 | x25.txt | 223 | x25.txt |
| 204 | - general info on X.25 development. | 224 | - general info on X.25 development. |
| 205 | x25-iface.txt | 225 | x25-iface.txt |
diff --git a/Documentation/networking/3c505.txt b/Documentation/networking/3c505.txt deleted file mode 100644 index 72f38b13101d..000000000000 --- a/Documentation/networking/3c505.txt +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | The 3Com Etherlink Plus (3c505) driver. | ||
| 2 | |||
| 3 | This driver now uses DMA. There is currently no support for PIO operation. | ||
| 4 | The default DMA channel is 6; this is _not_ autoprobed, so you must | ||
| 5 | make sure you configure it correctly. If loading the driver as a | ||
| 6 | module, you can do this with "modprobe 3c505 dma=n". If the driver is | ||
| 7 | linked statically into the kernel, you must either use an "ether=" | ||
| 8 | statement on the command line, or change the definition of ELP_DMA in 3c505.h. | ||
| 9 | |||
| 10 | The driver will warn you if it has to fall back on the compiled in | ||
| 11 | default DMA channel. | ||
| 12 | |||
| 13 | If no base address is given at boot time, the driver will autoprobe | ||
| 14 | ports 0x300, 0x280 and 0x310 (in that order). If no IRQ is given, the driver | ||
| 15 | will try to probe for it. | ||
| 16 | |||
| 17 | The driver can be used as a loadable module. | ||
| 18 | |||
| 19 | Theoretically, one instance of the driver can now run multiple cards, | ||
| 20 | in the standard way (when loading a module, say "modprobe 3c505 | ||
| 21 | io=0x300,0x340 irq=10,11 dma=6,7" or whatever). I have not tested | ||
| 22 | this, though. | ||
| 23 | |||
| 24 | The driver may now support revision 2 hardware; the dependency on | ||
| 25 | being able to read the host control register has been removed. This | ||
| 26 | is also untested, since I don't have a suitable card. | ||
| 27 | |||
| 28 | Known problems: | ||
| 29 | I still see "DMA upload timed out" messages from time to time. These | ||
| 30 | seem to be fairly non-fatal though. | ||
| 31 | The card is old and slow. | ||
| 32 | |||
| 33 | To do: | ||
| 34 | Improve probe/setup code | ||
| 35 | Test multicast and promiscuous operation | ||
| 36 | |||
| 37 | Authors: | ||
| 38 | The driver is mainly written by Craig Southeren, email | ||
| 39 | <craigs@ineluki.apana.org.au>. | ||
| 40 | Parts of the driver (adapting the driver to 1.1.4+ kernels, | ||
| 41 | IRQ/address detection, some changes) and this README by | ||
| 42 | Juha Laiho <jlaiho@ichaos.nullnet.fi>. | ||
| 43 | DMA mode, more fixes, etc, by Philip Blundell <pjb27@cam.ac.uk> | ||
| 44 | Multicard support, Software configurable DMA, etc., by | ||
| 45 | Christopher Collins <ccollins@pcug.org.au> | ||
diff --git a/Documentation/networking/can.txt b/Documentation/networking/can.txt index f3089d423515..0cbe6ec22d6f 100644 --- a/Documentation/networking/can.txt +++ b/Documentation/networking/can.txt | |||
| @@ -554,12 +554,6 @@ solution for a couple of reasons: | |||
| 554 | not specified in the struct can_frame and therefore it is only valid in | 554 | not specified in the struct can_frame and therefore it is only valid in |
| 555 | CANFD_MTU sized CAN FD frames. | 555 | CANFD_MTU sized CAN FD frames. |
| 556 | 556 | ||
| 557 | As long as the payload length is <=8 the received CAN frames from CAN FD | ||
| 558 | capable CAN devices can be received and read by legacy sockets too. When | ||
| 559 | user-generated CAN FD frames have a payload length <=8 these can be send | ||
| 560 | by legacy CAN network interfaces too. Sending CAN FD frames with payload | ||
| 561 | length > 8 to a legacy CAN network interface returns an -EMSGSIZE error. | ||
| 562 | |||
| 563 | Implementation hint for new CAN applications: | 557 | Implementation hint for new CAN applications: |
| 564 | 558 | ||
| 565 | To build a CAN FD aware application use struct canfd_frame as basic CAN | 559 | To build a CAN FD aware application use struct canfd_frame as basic CAN |
diff --git a/Documentation/networking/netlink_mmap.txt b/Documentation/networking/netlink_mmap.txt index b26122973525..c6af4bac5aa8 100644 --- a/Documentation/networking/netlink_mmap.txt +++ b/Documentation/networking/netlink_mmap.txt | |||
| @@ -226,9 +226,9 @@ Ring setup: | |||
| 226 | void *rx_ring, *tx_ring; | 226 | void *rx_ring, *tx_ring; |
| 227 | 227 | ||
| 228 | /* Configure ring parameters */ | 228 | /* Configure ring parameters */ |
| 229 | if (setsockopt(fd, NETLINK_RX_RING, &req, sizeof(req)) < 0) | 229 | if (setsockopt(fd, SOL_NETLINK, NETLINK_RX_RING, &req, sizeof(req)) < 0) |
| 230 | exit(1); | 230 | exit(1); |
| 231 | if (setsockopt(fd, NETLINK_TX_RING, &req, sizeof(req)) < 0) | 231 | if (setsockopt(fd, SOL_NETLINK, NETLINK_TX_RING, &req, sizeof(req)) < 0) |
| 232 | exit(1) | 232 | exit(1) |
| 233 | 233 | ||
| 234 | /* Calculate size of each individual ring */ | 234 | /* Calculate size of each individual ring */ |
diff --git a/Documentation/networking/packet_mmap.txt b/Documentation/networking/packet_mmap.txt index 1404674c0a02..6fea79efb4cb 100644 --- a/Documentation/networking/packet_mmap.txt +++ b/Documentation/networking/packet_mmap.txt | |||
| @@ -453,7 +453,7 @@ TP_STATUS_COPY : This flag indicates that the frame (and associated | |||
| 453 | enabled previously with setsockopt() and | 453 | enabled previously with setsockopt() and |
| 454 | the PACKET_COPY_THRESH option. | 454 | the PACKET_COPY_THRESH option. |
| 455 | 455 | ||
| 456 | The number of frames than can be buffered to | 456 | The number of frames that can be buffered to |
| 457 | be read with recvfrom is limited like a normal socket. | 457 | be read with recvfrom is limited like a normal socket. |
| 458 | See the SO_RCVBUF option in the socket (7) man page. | 458 | See the SO_RCVBUF option in the socket (7) man page. |
| 459 | 459 | ||
diff --git a/Documentation/networking/timestamping.txt b/Documentation/networking/timestamping.txt index 661d3c316a17..048c92b487f6 100644 --- a/Documentation/networking/timestamping.txt +++ b/Documentation/networking/timestamping.txt | |||
| @@ -21,26 +21,38 @@ has such a feature). | |||
| 21 | 21 | ||
| 22 | SO_TIMESTAMPING: | 22 | SO_TIMESTAMPING: |
| 23 | 23 | ||
| 24 | Instructs the socket layer which kind of information is wanted. The | 24 | Instructs the socket layer which kind of information should be collected |
| 25 | parameter is an integer with some of the following bits set. Setting | 25 | and/or reported. The parameter is an integer with some of the following |
| 26 | other bits is an error and doesn't change the current state. | 26 | bits set. Setting other bits is an error and doesn't change the current |
| 27 | 27 | state. | |
| 28 | SOF_TIMESTAMPING_TX_HARDWARE: try to obtain send time stamp in hardware | 28 | |
| 29 | SOF_TIMESTAMPING_TX_SOFTWARE: if SOF_TIMESTAMPING_TX_HARDWARE is off or | 29 | Four of the bits are requests to the stack to try to generate |
| 30 | fails, then do it in software | 30 | timestamps. Any combination of them is valid. |
| 31 | SOF_TIMESTAMPING_RX_HARDWARE: return the original, unmodified time stamp | 31 | |
| 32 | as generated by the hardware | 32 | SOF_TIMESTAMPING_TX_HARDWARE: try to obtain send time stamps in hardware |
| 33 | SOF_TIMESTAMPING_RX_SOFTWARE: if SOF_TIMESTAMPING_RX_HARDWARE is off or | 33 | SOF_TIMESTAMPING_TX_SOFTWARE: try to obtain send time stamps in software |
| 34 | fails, then do it in software | 34 | SOF_TIMESTAMPING_RX_HARDWARE: try to obtain receive time stamps in hardware |
| 35 | SOF_TIMESTAMPING_RAW_HARDWARE: return original raw hardware time stamp | 35 | SOF_TIMESTAMPING_RX_SOFTWARE: try to obtain receive time stamps in software |
| 36 | SOF_TIMESTAMPING_SYS_HARDWARE: return hardware time stamp transformed to | 36 | |
| 37 | the system time base | 37 | The other three bits control which timestamps will be reported in a |
| 38 | SOF_TIMESTAMPING_SOFTWARE: return system time stamp generated in | 38 | generated control message. If none of these bits are set or if none of |
| 39 | software | 39 | the set bits correspond to data that is available, then the control |
| 40 | 40 | message will not be generated: | |
| 41 | SOF_TIMESTAMPING_TX/RX determine how time stamps are generated. | 41 | |
| 42 | SOF_TIMESTAMPING_RAW/SYS determine how they are reported in the | 42 | SOF_TIMESTAMPING_SOFTWARE: report systime if available |
| 43 | following control message: | 43 | SOF_TIMESTAMPING_SYS_HARDWARE: report hwtimetrans if available |
| 44 | SOF_TIMESTAMPING_RAW_HARDWARE: report hwtimeraw if available | ||
| 45 | |||
| 46 | It is worth noting that timestamps may be collected for reasons other | ||
| 47 | than being requested by a particular socket with | ||
| 48 | SOF_TIMESTAMPING_[TR]X_(HARD|SOFT)WARE. For example, most drivers that | ||
| 49 | can generate hardware receive timestamps ignore | ||
| 50 | SOF_TIMESTAMPING_RX_HARDWARE. It is still a good idea to set that flag | ||
| 51 | in case future drivers pay attention. | ||
| 52 | |||
| 53 | If timestamps are reported, they will appear in a control message with | ||
| 54 | cmsg_level==SOL_SOCKET, cmsg_type==SO_TIMESTAMPING, and a payload like | ||
| 55 | this: | ||
| 44 | 56 | ||
| 45 | struct scm_timestamping { | 57 | struct scm_timestamping { |
| 46 | struct timespec systime; | 58 | struct timespec systime; |
diff --git a/Documentation/phy.txt b/Documentation/phy.txt index 0103e4b15b0e..ebff6ee52441 100644 --- a/Documentation/phy.txt +++ b/Documentation/phy.txt | |||
| @@ -75,14 +75,26 @@ Before the controller can make use of the PHY, it has to get a reference to | |||
| 75 | it. This framework provides the following APIs to get a reference to the PHY. | 75 | it. This framework provides the following APIs to get a reference to the PHY. |
| 76 | 76 | ||
| 77 | struct phy *phy_get(struct device *dev, const char *string); | 77 | struct phy *phy_get(struct device *dev, const char *string); |
| 78 | struct phy *phy_optional_get(struct device *dev, const char *string); | ||
| 78 | struct phy *devm_phy_get(struct device *dev, const char *string); | 79 | struct phy *devm_phy_get(struct device *dev, const char *string); |
| 79 | 80 | struct phy *devm_phy_optional_get(struct device *dev, const char *string); | |
| 80 | phy_get and devm_phy_get can be used to get the PHY. In the case of dt boot, | 81 | |
| 81 | the string arguments should contain the phy name as given in the dt data and | 82 | phy_get, phy_optional_get, devm_phy_get and devm_phy_optional_get can |
| 82 | in the case of non-dt boot, it should contain the label of the PHY. | 83 | be used to get the PHY. In the case of dt boot, the string arguments |
| 83 | The only difference between the two APIs is that devm_phy_get associates the | 84 | should contain the phy name as given in the dt data and in the case of |
| 84 | device with the PHY using devres on successful PHY get. On driver detach, | 85 | non-dt boot, it should contain the label of the PHY. The two |
| 85 | release function is invoked on the the devres data and devres data is freed. | 86 | devm_phy_get associates the device with the PHY using devres on |
| 87 | successful PHY get. On driver detach, release function is invoked on | ||
| 88 | the the devres data and devres data is freed. phy_optional_get and | ||
| 89 | devm_phy_optional_get should be used when the phy is optional. These | ||
| 90 | two functions will never return -ENODEV, but instead returns NULL when | ||
| 91 | the phy cannot be found. | ||
| 92 | |||
| 93 | It should be noted that NULL is a valid phy reference. All phy | ||
| 94 | consumer calls on the NULL phy become NOPs. That is the release calls, | ||
| 95 | the phy_init() and phy_exit() calls, and phy_power_on() and | ||
| 96 | phy_power_off() calls are all NOP when applied to a NULL phy. The NULL | ||
| 97 | phy is useful in devices for handling optional phy devices. | ||
| 86 | 98 | ||
| 87 | 5. Releasing a reference to the PHY | 99 | 5. Releasing a reference to the PHY |
| 88 | 100 | ||
diff --git a/Documentation/power/00-INDEX b/Documentation/power/00-INDEX index a4d682f54231..ad04cc8097ed 100644 --- a/Documentation/power/00-INDEX +++ b/Documentation/power/00-INDEX | |||
| @@ -4,6 +4,8 @@ apm-acpi.txt | |||
| 4 | - basic info about the APM and ACPI support. | 4 | - basic info about the APM and ACPI support. |
| 5 | basic-pm-debugging.txt | 5 | basic-pm-debugging.txt |
| 6 | - Debugging suspend and resume | 6 | - Debugging suspend and resume |
| 7 | charger-manager.txt | ||
| 8 | - Battery charger management. | ||
| 7 | devices.txt | 9 | devices.txt |
| 8 | - How drivers interact with system-wide power management | 10 | - How drivers interact with system-wide power management |
| 9 | drivers-testing.txt | 11 | drivers-testing.txt |
| @@ -22,6 +24,8 @@ pm_qos_interface.txt | |||
| 22 | - info on Linux PM Quality of Service interface | 24 | - info on Linux PM Quality of Service interface |
| 23 | power_supply_class.txt | 25 | power_supply_class.txt |
| 24 | - Tells userspace about battery, UPS, AC or DC power supply properties | 26 | - Tells userspace about battery, UPS, AC or DC power supply properties |
| 27 | runtime_pm.txt | ||
| 28 | - Power management framework for I/O devices. | ||
| 25 | s2ram.txt | 29 | s2ram.txt |
| 26 | - How to get suspend to ram working (and debug it when it isn't) | 30 | - How to get suspend to ram working (and debug it when it isn't) |
| 27 | states.txt | 31 | states.txt |
| @@ -38,7 +42,5 @@ tricks.txt | |||
| 38 | - How to trick software suspend (to disk) into working when it isn't | 42 | - How to trick software suspend (to disk) into working when it isn't |
| 39 | userland-swsusp.txt | 43 | userland-swsusp.txt |
| 40 | - Experimental implementation of software suspend in userspace | 44 | - Experimental implementation of software suspend in userspace |
| 41 | video_extension.txt | ||
| 42 | - ACPI video extensions | ||
| 43 | video.txt | 45 | video.txt |
| 44 | - Video issues during resume from suspend | 46 | - Video issues during resume from suspend |
diff --git a/Documentation/ptp/testptp.c b/Documentation/ptp/testptp.c index a74d0a84d329..4aba0436da65 100644 --- a/Documentation/ptp/testptp.c +++ b/Documentation/ptp/testptp.c | |||
| @@ -117,6 +117,7 @@ static void usage(char *progname) | |||
| 117 | " -f val adjust the ptp clock frequency by 'val' ppb\n" | 117 | " -f val adjust the ptp clock frequency by 'val' ppb\n" |
| 118 | " -g get the ptp clock time\n" | 118 | " -g get the ptp clock time\n" |
| 119 | " -h prints this message\n" | 119 | " -h prints this message\n" |
| 120 | " -i val index for event/trigger\n" | ||
| 120 | " -k val measure the time offset between system and phc clock\n" | 121 | " -k val measure the time offset between system and phc clock\n" |
| 121 | " for 'val' times (Maximum 25)\n" | 122 | " for 'val' times (Maximum 25)\n" |
| 122 | " -p val enable output with a period of 'val' nanoseconds\n" | 123 | " -p val enable output with a period of 'val' nanoseconds\n" |
| @@ -154,6 +155,7 @@ int main(int argc, char *argv[]) | |||
| 154 | int capabilities = 0; | 155 | int capabilities = 0; |
| 155 | int extts = 0; | 156 | int extts = 0; |
| 156 | int gettime = 0; | 157 | int gettime = 0; |
| 158 | int index = 0; | ||
| 157 | int oneshot = 0; | 159 | int oneshot = 0; |
| 158 | int pct_offset = 0; | 160 | int pct_offset = 0; |
| 159 | int n_samples = 0; | 161 | int n_samples = 0; |
| @@ -167,7 +169,7 @@ int main(int argc, char *argv[]) | |||
| 167 | 169 | ||
| 168 | progname = strrchr(argv[0], '/'); | 170 | progname = strrchr(argv[0], '/'); |
| 169 | progname = progname ? 1+progname : argv[0]; | 171 | progname = progname ? 1+progname : argv[0]; |
| 170 | while (EOF != (c = getopt(argc, argv, "a:A:cd:e:f:ghk:p:P:sSt:v"))) { | 172 | while (EOF != (c = getopt(argc, argv, "a:A:cd:e:f:ghi:k:p:P:sSt:v"))) { |
| 171 | switch (c) { | 173 | switch (c) { |
| 172 | case 'a': | 174 | case 'a': |
| 173 | oneshot = atoi(optarg); | 175 | oneshot = atoi(optarg); |
| @@ -190,6 +192,9 @@ int main(int argc, char *argv[]) | |||
| 190 | case 'g': | 192 | case 'g': |
| 191 | gettime = 1; | 193 | gettime = 1; |
| 192 | break; | 194 | break; |
| 195 | case 'i': | ||
| 196 | index = atoi(optarg); | ||
| 197 | break; | ||
| 193 | case 'k': | 198 | case 'k': |
| 194 | pct_offset = 1; | 199 | pct_offset = 1; |
| 195 | n_samples = atoi(optarg); | 200 | n_samples = atoi(optarg); |
| @@ -301,7 +306,7 @@ int main(int argc, char *argv[]) | |||
| 301 | 306 | ||
| 302 | if (extts) { | 307 | if (extts) { |
| 303 | memset(&extts_request, 0, sizeof(extts_request)); | 308 | memset(&extts_request, 0, sizeof(extts_request)); |
| 304 | extts_request.index = 0; | 309 | extts_request.index = index; |
| 305 | extts_request.flags = PTP_ENABLE_FEATURE; | 310 | extts_request.flags = PTP_ENABLE_FEATURE; |
| 306 | if (ioctl(fd, PTP_EXTTS_REQUEST, &extts_request)) { | 311 | if (ioctl(fd, PTP_EXTTS_REQUEST, &extts_request)) { |
| 307 | perror("PTP_EXTTS_REQUEST"); | 312 | perror("PTP_EXTTS_REQUEST"); |
| @@ -375,7 +380,7 @@ int main(int argc, char *argv[]) | |||
| 375 | return -1; | 380 | return -1; |
| 376 | } | 381 | } |
| 377 | memset(&perout_request, 0, sizeof(perout_request)); | 382 | memset(&perout_request, 0, sizeof(perout_request)); |
| 378 | perout_request.index = 0; | 383 | perout_request.index = index; |
| 379 | perout_request.start.sec = ts.tv_sec + 2; | 384 | perout_request.start.sec = ts.tv_sec + 2; |
| 380 | perout_request.start.nsec = 0; | 385 | perout_request.start.nsec = 0; |
| 381 | perout_request.period.sec = 0; | 386 | perout_request.period.sec = 0; |
diff --git a/Documentation/s390/00-INDEX b/Documentation/s390/00-INDEX index 3a2b96302ecc..10c874ebdfe5 100644 --- a/Documentation/s390/00-INDEX +++ b/Documentation/s390/00-INDEX | |||
| @@ -16,11 +16,13 @@ Debugging390.txt | |||
| 16 | - hints for debugging on s390 systems. | 16 | - hints for debugging on s390 systems. |
| 17 | driver-model.txt | 17 | driver-model.txt |
| 18 | - information on s390 devices and the driver model. | 18 | - information on s390 devices and the driver model. |
| 19 | kvm.txt | ||
| 20 | - ioctl calls to /dev/kvm on s390. | ||
| 19 | monreader.txt | 21 | monreader.txt |
| 20 | - information on accessing the z/VM monitor stream from Linux. | 22 | - information on accessing the z/VM monitor stream from Linux. |
| 23 | qeth.txt | ||
| 24 | - HiperSockets Bridge Port Support. | ||
| 21 | s390dbf.txt | 25 | s390dbf.txt |
| 22 | - information on using the s390 debug feature. | 26 | - information on using the s390 debug feature. |
| 23 | TAPE | 27 | zfcpdump.txt |
| 24 | - information on the driver for channel-attached tapes. | ||
| 25 | zfcpdump | ||
| 26 | - information on the s390 SCSI dump tool. | 28 | - information on the s390 SCSI dump tool. |
diff --git a/Documentation/scheduler/00-INDEX b/Documentation/scheduler/00-INDEX index 46702e4f89c9..eccf7ad2e7f9 100644 --- a/Documentation/scheduler/00-INDEX +++ b/Documentation/scheduler/00-INDEX | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | - this file. | 2 | - this file. |
| 3 | sched-arch.txt | 3 | sched-arch.txt |
| 4 | - CPU Scheduler implementation hints for architecture specific code. | 4 | - CPU Scheduler implementation hints for architecture specific code. |
| 5 | sched-bwc.txt | ||
| 6 | - CFS bandwidth control overview. | ||
| 5 | sched-design-CFS.txt | 7 | sched-design-CFS.txt |
| 6 | - goals, design and implementation of the Completely Fair Scheduler. | 8 | - goals, design and implementation of the Completely Fair Scheduler. |
| 7 | sched-domains.txt | 9 | sched-domains.txt |
diff --git a/Documentation/scsi/00-INDEX b/Documentation/scsi/00-INDEX index 2044be565d93..c4b978a72f78 100644 --- a/Documentation/scsi/00-INDEX +++ b/Documentation/scsi/00-INDEX | |||
| @@ -36,6 +36,8 @@ NinjaSCSI.txt | |||
| 36 | - info on WorkBiT NinjaSCSI-32/32Bi driver | 36 | - info on WorkBiT NinjaSCSI-32/32Bi driver |
| 37 | aacraid.txt | 37 | aacraid.txt |
| 38 | - Driver supporting Adaptec RAID controllers | 38 | - Driver supporting Adaptec RAID controllers |
| 39 | advansys.txt | ||
| 40 | - List of Advansys Host Adapters | ||
| 39 | aha152x.txt | 41 | aha152x.txt |
| 40 | - info on driver for Adaptec AHA152x based adapters | 42 | - info on driver for Adaptec AHA152x based adapters |
| 41 | aic79xx.txt | 43 | aic79xx.txt |
| @@ -44,6 +46,12 @@ aic7xxx.txt | |||
| 44 | - info on driver for Adaptec controllers | 46 | - info on driver for Adaptec controllers |
| 45 | arcmsr_spec.txt | 47 | arcmsr_spec.txt |
| 46 | - ARECA FIRMWARE SPEC (for IOP331 adapter) | 48 | - ARECA FIRMWARE SPEC (for IOP331 adapter) |
| 49 | bfa.txt | ||
| 50 | - Brocade FC/FCOE adapter driver. | ||
| 51 | bnx2fc.txt | ||
| 52 | - FCoE hardware offload for Broadcom network interfaces. | ||
| 53 | cxgb3i.txt | ||
| 54 | - Chelsio iSCSI Linux Driver | ||
| 47 | dc395x.txt | 55 | dc395x.txt |
| 48 | - README file for the dc395x SCSI driver | 56 | - README file for the dc395x SCSI driver |
| 49 | dpti.txt | 57 | dpti.txt |
| @@ -52,18 +60,24 @@ dtc3x80.txt | |||
| 52 | - info on driver for DTC 2x80 based adapters | 60 | - info on driver for DTC 2x80 based adapters |
| 53 | g_NCR5380.txt | 61 | g_NCR5380.txt |
| 54 | - info on driver for NCR5380 and NCR53c400 based adapters | 62 | - info on driver for NCR5380 and NCR53c400 based adapters |
| 63 | hpsa.txt | ||
| 64 | - HP Smart Array Controller SCSI driver. | ||
| 55 | hptiop.txt | 65 | hptiop.txt |
| 56 | - HIGHPOINT ROCKETRAID 3xxx RAID DRIVER | 66 | - HIGHPOINT ROCKETRAID 3xxx RAID DRIVER |
| 57 | in2000.txt | 67 | in2000.txt |
| 58 | - info on in2000 driver | 68 | - info on in2000 driver |
| 59 | libsas.txt | 69 | libsas.txt |
| 60 | - Serial Attached SCSI management layer. | 70 | - Serial Attached SCSI management layer. |
| 71 | link_power_management_policy.txt | ||
| 72 | - Link power management options. | ||
| 61 | lpfc.txt | 73 | lpfc.txt |
| 62 | - LPFC driver release notes | 74 | - LPFC driver release notes |
| 63 | megaraid.txt | 75 | megaraid.txt |
| 64 | - Common Management Module, shared code handling ioctls for LSI drivers | 76 | - Common Management Module, shared code handling ioctls for LSI drivers |
| 65 | ncr53c8xx.txt | 77 | ncr53c8xx.txt |
| 66 | - info on driver for NCR53c8xx based adapters | 78 | - info on driver for NCR53c8xx based adapters |
| 79 | osd.txt | ||
| 80 | Object-Based Storage Device, command set introduction. | ||
| 67 | osst.txt | 81 | osst.txt |
| 68 | - info on driver for OnStream SC-x0 SCSI tape | 82 | - info on driver for OnStream SC-x0 SCSI tape |
| 69 | ppa.txt | 83 | ppa.txt |
| @@ -74,6 +88,8 @@ scsi-changer.txt | |||
| 74 | - README for the SCSI media changer driver | 88 | - README for the SCSI media changer driver |
| 75 | scsi-generic.txt | 89 | scsi-generic.txt |
| 76 | - info on the sg driver for generic (non-disk/CD/tape) SCSI devices. | 90 | - info on the sg driver for generic (non-disk/CD/tape) SCSI devices. |
| 91 | scsi-parameters.txt | ||
| 92 | - List of SCSI-parameters to pass to the kernel at module load-time. | ||
| 77 | scsi.txt | 93 | scsi.txt |
| 78 | - short blurb on using SCSI support as a module. | 94 | - short blurb on using SCSI support as a module. |
| 79 | scsi_mid_low_api.txt | 95 | scsi_mid_low_api.txt |
diff --git a/Documentation/serial/00-INDEX b/Documentation/serial/00-INDEX index 1f1b22fbd739..f9c6b5ed03e7 100644 --- a/Documentation/serial/00-INDEX +++ b/Documentation/serial/00-INDEX | |||
| @@ -4,10 +4,12 @@ README.cycladesZ | |||
| 4 | - info on Cyclades-Z firmware loading. | 4 | - info on Cyclades-Z firmware loading. |
| 5 | digiepca.txt | 5 | digiepca.txt |
| 6 | - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. | 6 | - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. |
| 7 | hayes-esp.txt | 7 | driver |
| 8 | - info on using the Hayes ESP serial driver. | 8 | - intro to the low level serial driver. |
| 9 | moxa-smartio | 9 | moxa-smartio |
| 10 | - file with info on installing/using Moxa multiport serial driver. | 10 | - file with info on installing/using Moxa multiport serial driver. |
| 11 | n_gsm.txt | ||
| 12 | - GSM 0710 tty multiplexer howto. | ||
| 11 | riscom8.txt | 13 | riscom8.txt |
| 12 | - notes on using the RISCom/8 multi-port serial driver. | 14 | - notes on using the RISCom/8 multi-port serial driver. |
| 13 | rocket.txt | 15 | rocket.txt |
diff --git a/Documentation/spi/00-INDEX b/Documentation/spi/00-INDEX new file mode 100644 index 000000000000..a128fa835512 --- /dev/null +++ b/Documentation/spi/00-INDEX | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | 00-INDEX | ||
| 2 | - this file. | ||
| 3 | Makefile | ||
| 4 | - Makefile for the example sourcefiles. | ||
| 5 | butterfly | ||
| 6 | - AVR Butterfly SPI driver overview and pin configuration. | ||
| 7 | ep93xx_spi | ||
| 8 | - Basic EP93xx SPI driver configuration. | ||
| 9 | pxa2xx | ||
| 10 | - PXA2xx SPI master controller build by spi_message fifo wq | ||
| 11 | spidev | ||
| 12 | - Intro to the userspace API for spi devices | ||
| 13 | spidev_fdx.c | ||
| 14 | - spidev example file | ||
| 15 | spi-lm70llp | ||
| 16 | - Connecting an LM70-LLP sensor to the kernel via the SPI subsys. | ||
| 17 | spi-sc18is602 | ||
| 18 | - NXP SC18IS602/603 I2C-bus to SPI bridge | ||
| 19 | spi-summary | ||
| 20 | - (Linux) SPI overview. If unsure about SPI or SPI in Linux, start here. | ||
| 21 | spidev_test.c | ||
| 22 | - SPI testing utility. | ||
diff --git a/Documentation/spi/spi-summary b/Documentation/spi/spi-summary index f72e0d1e0da8..7982bcc4d151 100644 --- a/Documentation/spi/spi-summary +++ b/Documentation/spi/spi-summary | |||
| @@ -543,7 +543,22 @@ SPI MASTER METHODS | |||
| 543 | queuing transfers that arrive in the meantime. When the driver is | 543 | queuing transfers that arrive in the meantime. When the driver is |
| 544 | finished with this message, it must call | 544 | finished with this message, it must call |
| 545 | spi_finalize_current_message() so the subsystem can issue the next | 545 | spi_finalize_current_message() so the subsystem can issue the next |
| 546 | transfer. This may sleep. | 546 | message. This may sleep. |
| 547 | |||
| 548 | master->transfer_one(struct spi_master *master, struct spi_device *spi, | ||
| 549 | struct spi_transfer *transfer) | ||
| 550 | The subsystem calls the driver to transfer a single transfer while | ||
| 551 | queuing transfers that arrive in the meantime. When the driver is | ||
| 552 | finished with this transfer, it must call | ||
| 553 | spi_finalize_current_transfer() so the subsystem can issue the next | ||
| 554 | transfer. This may sleep. Note: transfer_one and transfer_one_message | ||
| 555 | are mutually exclusive; when both are set, the generic subsystem does | ||
| 556 | not call your transfer_one callback. | ||
| 557 | |||
| 558 | Return values: | ||
| 559 | negative errno: error | ||
| 560 | 0: transfer is finished | ||
| 561 | 1: transfer is still in progress | ||
| 547 | 562 | ||
| 548 | DEPRECATED METHODS | 563 | DEPRECATED METHODS |
| 549 | 564 | ||
diff --git a/Documentation/timers/00-INDEX b/Documentation/timers/00-INDEX index ef2ccbf77fa2..6d042dc1cce0 100644 --- a/Documentation/timers/00-INDEX +++ b/Documentation/timers/00-INDEX | |||
| @@ -8,6 +8,8 @@ hpet_example.c | |||
| 8 | - sample hpet timer test program | 8 | - sample hpet timer test program |
| 9 | hrtimers.txt | 9 | hrtimers.txt |
| 10 | - subsystem for high-resolution kernel timers | 10 | - subsystem for high-resolution kernel timers |
| 11 | Makefile | ||
| 12 | - Build and link hpet_example | ||
| 11 | NO_HZ.txt | 13 | NO_HZ.txt |
| 12 | - Summary of the different methods for the scheduler clock-interrupts management. | 14 | - Summary of the different methods for the scheduler clock-interrupts management. |
| 13 | timers-howto.txt | 15 | timers-howto.txt |
diff --git a/Documentation/virtual/kvm/00-INDEX b/Documentation/virtual/kvm/00-INDEX index 641ec9220179..fee9f2bf9c64 100644 --- a/Documentation/virtual/kvm/00-INDEX +++ b/Documentation/virtual/kvm/00-INDEX | |||
| @@ -20,5 +20,7 @@ ppc-pv.txt | |||
| 20 | - the paravirtualization interface on PowerPC. | 20 | - the paravirtualization interface on PowerPC. |
| 21 | review-checklist.txt | 21 | review-checklist.txt |
| 22 | - review checklist for KVM patches. | 22 | - review checklist for KVM patches. |
| 23 | s390-diag.txt | ||
| 24 | - Diagnose hypercall description (for IBM S/390) | ||
| 23 | timekeeping.txt | 25 | timekeeping.txt |
| 24 | - timekeeping virtualization for x86-based architectures. | 26 | - timekeeping virtualization for x86-based architectures. |
diff --git a/Documentation/vm/00-INDEX b/Documentation/vm/00-INDEX index a39d06680e1c..081c49777abb 100644 --- a/Documentation/vm/00-INDEX +++ b/Documentation/vm/00-INDEX | |||
| @@ -16,8 +16,6 @@ hwpoison.txt | |||
| 16 | - explains what hwpoison is | 16 | - explains what hwpoison is |
| 17 | ksm.txt | 17 | ksm.txt |
| 18 | - how to use the Kernel Samepage Merging feature. | 18 | - how to use the Kernel Samepage Merging feature. |
| 19 | locking | ||
| 20 | - info on how locking and synchronization is done in the Linux vm code. | ||
| 21 | numa | 19 | numa |
| 22 | - information about NUMA specific code in the Linux vm. | 20 | - information about NUMA specific code in the Linux vm. |
| 23 | numa_memory_policy.txt | 21 | numa_memory_policy.txt |
| @@ -32,6 +30,8 @@ slub.txt | |||
| 32 | - a short users guide for SLUB. | 30 | - a short users guide for SLUB. |
| 33 | soft-dirty.txt | 31 | soft-dirty.txt |
| 34 | - short explanation for soft-dirty PTEs | 32 | - short explanation for soft-dirty PTEs |
| 33 | split_page_table_lock | ||
| 34 | - Separate per-table lock to improve scalability of the old page_table_lock. | ||
| 35 | transhuge.txt | 35 | transhuge.txt |
| 36 | - Transparent Hugepage Support, alternative way of using hugepages. | 36 | - Transparent Hugepage Support, alternative way of using hugepages. |
| 37 | unevictable-lru.txt | 37 | unevictable-lru.txt |
diff --git a/Documentation/w1/masters/00-INDEX b/Documentation/w1/masters/00-INDEX index d63fa024ac05..8330cf9325f0 100644 --- a/Documentation/w1/masters/00-INDEX +++ b/Documentation/w1/masters/00-INDEX | |||
| @@ -4,7 +4,9 @@ ds2482 | |||
| 4 | - The Maxim/Dallas Semiconductor DS2482 provides 1-wire busses. | 4 | - The Maxim/Dallas Semiconductor DS2482 provides 1-wire busses. |
| 5 | ds2490 | 5 | ds2490 |
| 6 | - The Maxim/Dallas Semiconductor DS2490 builds USB <-> W1 bridges. | 6 | - The Maxim/Dallas Semiconductor DS2490 builds USB <-> W1 bridges. |
| 7 | mxc_w1 | 7 | mxc-w1 |
| 8 | - W1 master controller driver found on Freescale MX2/MX3 SoCs | 8 | - W1 master controller driver found on Freescale MX2/MX3 SoCs |
| 9 | omap-hdq | ||
| 10 | - HDQ/1-wire module of TI OMAP 2430/3430. | ||
| 9 | w1-gpio | 11 | w1-gpio |
| 10 | - GPIO 1-wire bus master driver. | 12 | - GPIO 1-wire bus master driver. |
diff --git a/Documentation/w1/slaves/00-INDEX b/Documentation/w1/slaves/00-INDEX index 75613c9ac4db..6e18c70c3474 100644 --- a/Documentation/w1/slaves/00-INDEX +++ b/Documentation/w1/slaves/00-INDEX | |||
| @@ -4,3 +4,5 @@ w1_therm | |||
| 4 | - The Maxim/Dallas Semiconductor ds18*20 temperature sensor. | 4 | - The Maxim/Dallas Semiconductor ds18*20 temperature sensor. |
| 5 | w1_ds2423 | 5 | w1_ds2423 |
| 6 | - The Maxim/Dallas Semiconductor ds2423 counter device. | 6 | - The Maxim/Dallas Semiconductor ds2423 counter device. |
| 7 | w1_ds28e04 | ||
| 8 | - The Maxim/Dallas Semiconductor ds28e04 eeprom. | ||
diff --git a/Documentation/x86/00-INDEX b/Documentation/x86/00-INDEX index f37b46d34861..692264456f0f 100644 --- a/Documentation/x86/00-INDEX +++ b/Documentation/x86/00-INDEX | |||
| @@ -1,6 +1,20 @@ | |||
| 1 | 00-INDEX | 1 | 00-INDEX |
| 2 | - this file | 2 | - this file |
| 3 | mtrr.txt | 3 | boot.txt |
| 4 | - how to use x86 Memory Type Range Registers to increase performance | 4 | - List of boot protocol versions |
| 5 | early-microcode.txt | ||
| 6 | - How to load microcode from an initrd-CPIO archive early to fix CPU issues. | ||
| 7 | earlyprintk.txt | ||
| 8 | - Using earlyprintk with a USB2 debug port key. | ||
| 9 | entry_64.txt | ||
| 10 | - Describe (some of the) kernel entry points for x86. | ||
| 5 | exception-tables.txt | 11 | exception-tables.txt |
| 6 | - why and how Linux kernel uses exception tables on x86 | 12 | - why and how Linux kernel uses exception tables on x86 |
| 13 | mtrr.txt | ||
| 14 | - how to use x86 Memory Type Range Registers to increase performance | ||
| 15 | pat.txt | ||
| 16 | - Page Attribute Table intro and API | ||
| 17 | usb-legacy-support.txt | ||
| 18 | - how to fix/avoid quirks when using emulated PS/2 mouse/keyboard. | ||
| 19 | zero-page.txt | ||
| 20 | - layout of the first page of memory. | ||
diff --git a/Documentation/zh_CN/arm64/booting.txt b/Documentation/zh_CN/arm64/booting.txt index 28fa325b7461..6f6d956ac1c9 100644 --- a/Documentation/zh_CN/arm64/booting.txt +++ b/Documentation/zh_CN/arm64/booting.txt | |||
| @@ -7,7 +7,7 @@ help. Contact the Chinese maintainer if this translation is outdated | |||
| 7 | or if there is a problem with the translation. | 7 | or if there is a problem with the translation. |
| 8 | 8 | ||
| 9 | Maintainer: Will Deacon <will.deacon@arm.com> | 9 | Maintainer: Will Deacon <will.deacon@arm.com> |
| 10 | Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> | 10 | Chinese maintainer: Fu Wei <wefu@redhat.com> |
| 11 | --------------------------------------------------------------------- | 11 | --------------------------------------------------------------------- |
| 12 | Documentation/arm64/booting.txt 的中文翻译 | 12 | Documentation/arm64/booting.txt 的中文翻译 |
| 13 | 13 | ||
| @@ -16,9 +16,9 @@ Documentation/arm64/booting.txt 的中文翻译 | |||
| 16 | 译存在问题,请联系中文版维护者。 | 16 | 译存在问题,请联系中文版维护者。 |
| 17 | 17 | ||
| 18 | 英文版维护者: Will Deacon <will.deacon@arm.com> | 18 | 英文版维护者: Will Deacon <will.deacon@arm.com> |
| 19 | 中文版维护者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | 19 | 中文版维护者: 傅炜 Fu Wei <wefu@redhat.com> |
| 20 | 中文版翻译者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | 20 | 中文版翻译者: 傅炜 Fu Wei <wefu@redhat.com> |
| 21 | 中文版校译者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | 21 | 中文版校译者: 傅炜 Fu Wei <wefu@redhat.com> |
| 22 | 22 | ||
| 23 | 以下为正文 | 23 | 以下为正文 |
| 24 | --------------------------------------------------------------------- | 24 | --------------------------------------------------------------------- |
| @@ -64,8 +64,8 @@ RAM,或可能使用对这个设备已知的 RAM 信息,还可能使用任何 | |||
| 64 | 64 | ||
| 65 | 必要性: 强制 | 65 | 必要性: 强制 |
| 66 | 66 | ||
| 67 | 设备树数据块(dtb)小须不大于 2 MB,于从内核映像起始算起第一个 | 67 | 设备树数据块(dtb)必须 8 字节对齐,并位于从内核映像起始算起第一个 512MB |
| 68 | 512MB 内的 2MB 边界上。这使得内核可以通过初始页表中的单个节描述符来 | 68 | 内,且不得跨越 2MB 对齐边界。这使得内核可以通过初始页表中的单个节描述符来 |
| 69 | 映射此数据块。 | 69 | 映射此数据块。 |
| 70 | 70 | ||
| 71 | 71 | ||
| @@ -84,13 +84,23 @@ AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内 | |||
| 84 | 84 | ||
| 85 | 必要性: 强制 | 85 | 必要性: 强制 |
| 86 | 86 | ||
| 87 | 已解压的内核映像包含一个 32 字节的头,内容如下: | 87 | 已解压的内核映像包含一个 64 字节的头,内容如下: |
| 88 | 88 | ||
| 89 | u32 magic = 0x14000008; /* 跳转到 stext, */ | 89 | u32 code0; /* 可执行代码 */ |
| 90 | u32 res0 = 0; /* */ | 90 | u32 code1; /* 可执行 */ |
| 91 | u64 text_offset; /* 映像装载偏移 */ | 91 | u64 text_offset; /* 映像装载偏移 */ |
| 92 | u64 res0 = 0; /* 保留 */ | ||
| 92 | u64 res1 = 0; /* 保留 */ | 93 | u64 res1 = 0; /* 保留 */ |
| 93 | u64 res2 = 0; /* 保留 */ | 94 | u64 res2 = 0; /* 保留 */ |
| 95 | u64 res3 = 0; /* 保留 */ | ||
| 96 | u64 res4 = 0; /* 保留 */ | ||
| 97 | u32 magic = 0x644d5241; /* 魔数, 小端, "ARM\x64" */ | ||
| 98 | u32 res5 = 0; /* 保留 */ | ||
| 99 | |||
| 100 | |||
| 101 | 映像头注释: | ||
| 102 | |||
| 103 | - code0/code1 负责跳转到 stext. | ||
| 94 | 104 | ||
| 95 | 映像必须位于系统 RAM 起始处的特定偏移(当前是 0x80000)。系统 RAM | 105 | 映像必须位于系统 RAM 起始处的特定偏移(当前是 0x80000)。系统 RAM |
| 96 | 的起始地址必须是以 2MB 对齐的。 | 106 | 的起始地址必须是以 2MB 对齐的。 |
| @@ -118,9 +128,9 @@ AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内 | |||
| 118 | 外部高速缓存(如果存在)必须配置并禁用。 | 128 | 外部高速缓存(如果存在)必须配置并禁用。 |
| 119 | 129 | ||
| 120 | - 架构计时器 | 130 | - 架构计时器 |
| 121 | CNTFRQ 必须设定为计时器的频率 | 131 | CNTFRQ 必须设定为计时器的频率,且 CNTVOFF 必须设定为对有 CPU |
| 122 | 如果在 EL1 模式下进入内核,则 CNTHCTL_EL2 中的 EL1PCTEN (bit 0) | 132 | 都一致的。果在 EL1 模式下进入内核,则 CNTHCTL_EL2 中的 |
| 123 | 必须置位。 | 133 | EL1PCTEN (bit 0) 必须置位。 |
| 124 | 134 | ||
| 125 | - 一致性 | 135 | - 一致性 |
| 126 | 通过内核启动的所有 CPU 在内核入口地址上必须处于相同的一致性域中。 | 136 | 通过内核启动的所有 CPU 在内核入口地址上必须处于相同的一致性域中。 |
| @@ -131,23 +141,40 @@ AArch64 内核当前没有提供自解压代码,因此如果使用了压缩内 | |||
| 131 | 在进入内核映像的异常级中,所有构架中可写的系统寄存器必须通过软件 | 141 | 在进入内核映像的异常级中,所有构架中可写的系统寄存器必须通过软件 |
| 132 | 在一个更高的异常级别下初始化,以防止在 未知 状态下运行。 | 142 | 在一个更高的异常级别下初始化,以防止在 未知 状态下运行。 |
| 133 | 143 | ||
| 144 | 以上对于 CPU 模式、高速缓存、MMU、架构计时器、一致性、系统寄存器的 | ||
| 145 | 必要条件描述适用于所有 CPU。所有 CPU 必须在同一异常级别跳入内核。 | ||
| 146 | |||
| 134 | 引导装载程序必须在每个 CPU 处于以下状态时跳入内核入口: | 147 | 引导装载程序必须在每个 CPU 处于以下状态时跳入内核入口: |
| 135 | 148 | ||
| 136 | - 主 CPU 必须直接跳入内核映像的第一条指令。通过此 CPU 传递的设备树 | 149 | - 主 CPU 必须直接跳入内核映像的第一条指令。通过此 CPU 传递的设备树 |
| 137 | 数据块必须在每个 CPU 节点中包含以下内容: | 150 | 数据块必须在每个 CPU 节点中包含一个 ‘enable-method’ 属性,所 |
| 138 | 151 | 支持的 enable-method 请见下文。 | |
| 139 | 1、‘enable-method’属性。目前,此字段支持的值仅为字符串“spin-table”。 | ||
| 140 | |||
| 141 | 2、‘cpu-release-addr’标识一个 64-bit、初始化为零的内存位置。 | ||
| 142 | 152 | ||
| 143 | 引导装载程序必须生成这些设备树属性,并在跳入内核入口之前将其插入 | 153 | 引导装载程序必须生成这些设备树属性,并在跳入内核入口之前将其插入 |
| 144 | 数据块。 | 154 | 数据块。 |
| 145 | 155 | ||
| 146 | - 任何辅助 CPU 必须在内存保留区(通过设备树中的 /memreserve/ 域传递 | 156 | - enable-method 为 “spin-table” 的 CPU 必须在它们的 CPU |
| 157 | 节点中包含一个 ‘cpu-release-addr’ 属性。这个属性标识了一个 | ||
| 158 | 64 位自然对齐且初始化为零的内存位置。 | ||
| 159 | |||
| 160 | 这些 CPU 必须在内存保留区(通过设备树中的 /memreserve/ 域传递 | ||
| 147 | 给内核)中自旋于内核之外,轮询它们的 cpu-release-addr 位置(必须 | 161 | 给内核)中自旋于内核之外,轮询它们的 cpu-release-addr 位置(必须 |
| 148 | 包含在保留区中)。可通过插入 wfe 指令来降低忙循环开销,而主 CPU 将 | 162 | 包含在保留区中)。可通过插入 wfe 指令来降低忙循环开销,而主 CPU 将 |
| 149 | 发出 sev 指令。当对 cpu-release-addr 所指位置的读取操作返回非零值 | 163 | 发出 sev 指令。当对 cpu-release-addr 所指位置的读取操作返回非零值 |
| 150 | 时,CPU 必须直接跳入此值所指向的地址。 | 164 | 时,CPU 必须跳入此值所指向的地址。此值为一个单独的 64 位小端值, |
| 165 | 因此 CPU 须在跳转前将所读取的值转换为其本身的端模式。 | ||
| 166 | |||
| 167 | - enable-method 为 “psci” 的 CPU 保持在内核外(比如,在 | ||
| 168 | memory 节点中描述为内核空间的内存区外,或在通过设备树 /memreserve/ | ||
| 169 | 域中描述为内核保留区的空间中)。内核将会发起在 ARM 文档(编号 | ||
| 170 | ARM DEN 0022A:用于 ARM 上的电源状态协调接口系统软件)中描述的 | ||
| 171 | CPU_ON 调用来将 CPU 带入内核。 | ||
| 172 | |||
| 173 | *译者注:到文档翻译时,此文档已更新为 ARM DEN 0022B。 | ||
| 174 | |||
| 175 | 设备树必须包含一个 ‘psci’ 节点,请参考以下文档: | ||
| 176 | Documentation/devicetree/bindings/arm/psci.txt | ||
| 177 | |||
| 151 | 178 | ||
| 152 | - 辅助 CPU 通用寄存器设置 | 179 | - 辅助 CPU 通用寄存器设置 |
| 153 | x0 = 0 (保留,将来可能使用) | 180 | x0 = 0 (保留,将来可能使用) |
diff --git a/Documentation/zh_CN/arm64/memory.txt b/Documentation/zh_CN/arm64/memory.txt index a5f6283829f9..a782704c1cb5 100644 --- a/Documentation/zh_CN/arm64/memory.txt +++ b/Documentation/zh_CN/arm64/memory.txt | |||
| @@ -7,7 +7,7 @@ help. Contact the Chinese maintainer if this translation is outdated | |||
| 7 | or if there is a problem with the translation. | 7 | or if there is a problem with the translation. |
| 8 | 8 | ||
| 9 | Maintainer: Catalin Marinas <catalin.marinas@arm.com> | 9 | Maintainer: Catalin Marinas <catalin.marinas@arm.com> |
| 10 | Chinese maintainer: Fu Wei <tekkamanninja@gmail.com> | 10 | Chinese maintainer: Fu Wei <wefu@redhat.com> |
| 11 | --------------------------------------------------------------------- | 11 | --------------------------------------------------------------------- |
| 12 | Documentation/arm64/memory.txt 的中文翻译 | 12 | Documentation/arm64/memory.txt 的中文翻译 |
| 13 | 13 | ||
| @@ -16,9 +16,9 @@ Documentation/arm64/memory.txt 的中文翻译 | |||
| 16 | 译存在问题,请联系中文版维护者。 | 16 | 译存在问题,请联系中文版维护者。 |
| 17 | 17 | ||
| 18 | 英文版维护者: Catalin Marinas <catalin.marinas@arm.com> | 18 | 英文版维护者: Catalin Marinas <catalin.marinas@arm.com> |
| 19 | 中文版维护者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | 19 | 中文版维护者: 傅炜 Fu Wei <wefu@redhat.com> |
| 20 | 中文版翻译者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | 20 | 中文版翻译者: 傅炜 Fu Wei <wefu@redhat.com> |
| 21 | 中文版校译者: 傅炜 Fu Wei <tekkamanninja@gmail.com> | 21 | 中文版校译者: 傅炜 Fu Wei <wefu@redhat.com> |
| 22 | 22 | ||
| 23 | 以下为正文 | 23 | 以下为正文 |
| 24 | --------------------------------------------------------------------- | 24 | --------------------------------------------------------------------- |
| @@ -41,7 +41,7 @@ AArch64 Linux 使用页大小为 4KB 的 3 级转换表配置,对于用户和 | |||
| 41 | TTBR1 中,且从不写入 TTBR0。 | 41 | TTBR1 中,且从不写入 TTBR0。 |
| 42 | 42 | ||
| 43 | 43 | ||
| 44 | AArch64 Linux 内存布局: | 44 | AArch64 Linux 页大小为 4KB 时的存布局: |
| 45 | 45 | ||
| 46 | 起始地址 结束地址 大小 用途 | 46 | 起始地址 结束地址 大小 用途 |
| 47 | ----------------------------------------------------------------------- | 47 | ----------------------------------------------------------------------- |
| @@ -55,15 +55,42 @@ ffffffbc00000000 ffffffbdffffffff 8GB vmemmap | |||
| 55 | 55 | ||
| 56 | ffffffbe00000000 ffffffbffbbfffff ~8GB [防护页,未来用于 vmmemap] | 56 | ffffffbe00000000 ffffffbffbbfffff ~8GB [防护页,未来用于 vmmemap] |
| 57 | 57 | ||
| 58 | ffffffbffbc00000 ffffffbffbdfffff 2MB earlyprintk 设备 | ||
| 59 | |||
| 58 | ffffffbffbe00000 ffffffbffbe0ffff 64KB PCI I/O 空间 | 60 | ffffffbffbe00000 ffffffbffbe0ffff 64KB PCI I/O 空间 |
| 59 | 61 | ||
| 60 | ffffffbbffff0000 ffffffbcffffffff ~2MB [防护页] | 62 | ffffffbffbe10000 ffffffbcffffffff ~2MB [防护页] |
| 61 | 63 | ||
| 62 | ffffffbffc000000 ffffffbfffffffff 64MB 模块 | 64 | ffffffbffc000000 ffffffbfffffffff 64MB 模块 |
| 63 | 65 | ||
| 64 | ffffffc000000000 ffffffffffffffff 256GB 内核逻辑内存映射 | 66 | ffffffc000000000 ffffffffffffffff 256GB 内核逻辑内存映射 |
| 65 | 67 | ||
| 66 | 68 | ||
| 69 | AArch64 Linux 在页大小为 64KB 时的内存布局: | ||
| 70 | |||
| 71 | 起始地址 结束地址 大小 用途 | ||
| 72 | ----------------------------------------------------------------------- | ||
| 73 | 0000000000000000 000003ffffffffff 4TB 用户空间 | ||
| 74 | |||
| 75 | fffffc0000000000 fffffdfbfffeffff ~2TB vmalloc | ||
| 76 | |||
| 77 | fffffdfbffff0000 fffffdfbffffffff 64KB [防护页] | ||
| 78 | |||
| 79 | fffffdfc00000000 fffffdfdffffffff 8GB vmemmap | ||
| 80 | |||
| 81 | fffffdfe00000000 fffffdfffbbfffff ~8GB [防护页,未来用于 vmmemap] | ||
| 82 | |||
| 83 | fffffdfffbc00000 fffffdfffbdfffff 2MB earlyprintk 设备 | ||
| 84 | |||
| 85 | fffffdfffbe00000 fffffdfffbe0ffff 64KB PCI I/O 空间 | ||
| 86 | |||
| 87 | fffffdfffbe10000 fffffdfffbffffff ~2MB [防护页] | ||
| 88 | |||
| 89 | fffffdfffc000000 fffffdffffffffff 64MB 模块 | ||
| 90 | |||
| 91 | fffffe0000000000 ffffffffffffffff 2TB 内核逻辑内存映射 | ||
| 92 | |||
| 93 | |||
| 67 | 4KB 页大小的转换表查找: | 94 | 4KB 页大小的转换表查找: |
| 68 | 95 | ||
| 69 | +--------+--------+--------+--------+--------+--------+--------+--------+ | 96 | +--------+--------+--------+--------+--------+--------+--------+--------+ |
| @@ -91,3 +118,10 @@ ffffffc000000000 ffffffffffffffff 256GB 内核逻辑内存映射 | |||
| 91 | | | +--------------------------> [41:29] L2 索引 (仅使用 38:29 ) | 118 | | | +--------------------------> [41:29] L2 索引 (仅使用 38:29 ) |
| 92 | | +-------------------------------> [47:42] L1 索引 (未使用) | 119 | | +-------------------------------> [47:42] L1 索引 (未使用) |
| 93 | +-------------------------------------------------> [63] TTBR0/1 | 120 | +-------------------------------------------------> [63] TTBR0/1 |
| 121 | |||
| 122 | 当使用 KVM 时, 管理程序(hypervisor)在 EL2 中通过相对内核虚拟地址的 | ||
| 123 | 一个固定偏移来映射内核页(内核虚拟地址的高 24 位设为零): | ||
| 124 | |||
| 125 | 起始地址 结束地址 大小 用途 | ||
| 126 | ----------------------------------------------------------------------- | ||
| 127 | 0000004000000000 0000007fffffffff 256GB 在 HYP 中映射的内核对象 | ||
diff --git a/Documentation/zh_CN/arm64/tagged-pointers.txt b/Documentation/zh_CN/arm64/tagged-pointers.txt new file mode 100644 index 000000000000..2664d1bd5a1c --- /dev/null +++ b/Documentation/zh_CN/arm64/tagged-pointers.txt | |||
| @@ -0,0 +1,52 @@ | |||
| 1 | Chinese translated version of Documentation/arm64/tagged-pointers.txt | ||
| 2 | |||
| 3 | If you have any comment or update to the content, please contact the | ||
| 4 | original document maintainer directly. However, if you have a problem | ||
| 5 | communicating in English you can also ask the Chinese maintainer for | ||
| 6 | help. Contact the Chinese maintainer if this translation is outdated | ||
| 7 | or if there is a problem with the translation. | ||
| 8 | |||
| 9 | Maintainer: Will Deacon <will.deacon@arm.com> | ||
| 10 | Chinese maintainer: Fu Wei <wefu@redhat.com> | ||
| 11 | --------------------------------------------------------------------- | ||
| 12 | Documentation/arm64/tagged-pointers.txt 的中文翻译 | ||
| 13 | |||
| 14 | 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 | ||
| 15 | 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 | ||
| 16 | 译存在问题,请联系中文版维护者。 | ||
| 17 | |||
| 18 | 英文版维护者: Will Deacon <will.deacon@arm.com> | ||
| 19 | 中文版维护者: 傅炜 Fu Wei <wefu@redhat.com> | ||
| 20 | 中文版翻译者: 傅炜 Fu Wei <wefu@redhat.com> | ||
| 21 | 中文版校译者: 傅炜 Fu Wei <wefu@redhat.com> | ||
| 22 | |||
| 23 | 以下为正文 | ||
| 24 | --------------------------------------------------------------------- | ||
| 25 | Linux 在 AArch64 中带标记的虚拟地址 | ||
| 26 | ================================= | ||
| 27 | |||
| 28 | 作者: Will Deacon <will.deacon@arm.com> | ||
| 29 | 日期: 2013 年 06 月 12 日 | ||
| 30 | |||
| 31 | 本文档简述了在 AArch64 地址转换系统中提供的带标记的虚拟地址及其在 | ||
| 32 | AArch64 Linux 中的潜在用途。 | ||
| 33 | |||
| 34 | 内核提供的地址转换表配置使通过 TTBR0 完成的虚拟地址转换(即用户空间 | ||
| 35 | 映射),其虚拟地址的最高 8 位(63:56)会被转换硬件所忽略。这种机制 | ||
| 36 | 让这些位可供应用程序自由使用,其注意事项如下: | ||
| 37 | |||
| 38 | (1) 内核要求所有传递到 EL1 的用户空间地址带有 0x00 标记。 | ||
| 39 | 这意味着任何携带用户空间虚拟地址的系统调用(syscall) | ||
| 40 | 参数 *必须* 在陷入内核前使它们的最高字节被清零。 | ||
| 41 | |||
| 42 | (2) 非零标记在传递信号时不被保存。这意味着在应用程序中利用了 | ||
| 43 | 标记的信号处理函数无法依赖 siginfo_t 的用户空间虚拟 | ||
| 44 | 地址所携带的包含其内部域信息的标记。此规则的一个例外是 | ||
| 45 | 当信号是在调试观察点的异常处理程序中产生的,此时标记的 | ||
| 46 | 信息将被保存。 | ||
| 47 | |||
| 48 | (3) 当使用带标记的指针时需特别留心,因为仅对两个虚拟地址 | ||
| 49 | 的高字节,C 编译器很可能无法判断它们是不同的。 | ||
| 50 | |||
| 51 | 此构架会阻止对带标记的 PC 指针的利用,因此在异常返回时,其高字节 | ||
| 52 | 将被设置成一个为 “55” 的扩展符。 | ||
