Mauro Carvalho Chehab | 4ef7f57 | 2020-04-15 16:45:15 +0200 | [diff] [blame] | 1 | .. SPDX-License-Identifier: GPL-2.0 |
| 2 | |
Mauro Carvalho Chehab | dc7a12b | 2019-04-14 15:51:10 -0300 | [diff] [blame] | 3 | |
Jani Nikula | 22cba31 | 2016-05-19 15:14:05 +0300 | [diff] [blame] | 4 | .. The Linux Kernel documentation master file, created by |
| 5 | sphinx-quickstart on Fri Feb 12 13:51:46 2016. |
| 6 | You can adapt this file completely to your liking, but it should at least |
| 7 | contain the root `toctree` directive. |
| 8 | |
Federico Vaga | aa586e2 | 2018-06-06 00:49:01 +0200 | [diff] [blame] | 9 | .. _linux_doc: |
| 10 | |
Konstantin Ryabitsev | 61ca5fd | 2017-06-06 16:50:04 -0400 | [diff] [blame] | 11 | The Linux Kernel documentation |
| 12 | ============================== |
Jani Nikula | 22cba31 | 2016-05-19 15:14:05 +0300 | [diff] [blame] | 13 | |
Jonathan Corbet | b51208d | 2016-10-26 15:43:00 -0600 | [diff] [blame] | 14 | This is the top level of the kernel's documentation tree. Kernel |
| 15 | documentation, like the kernel itself, is very much a work in progress; |
| 16 | that is especially true as we work to integrate our many scattered |
| 17 | documents into a coherent whole. Please note that improvements to the |
| 18 | documentation are welcome; join the linux-doc list at vger.kernel.org if |
| 19 | you want to help out. |
| 20 | |
Thomas Gleixner | aa19a17 | 2017-12-28 23:17:17 +0100 | [diff] [blame] | 21 | Licensing documentation |
| 22 | ----------------------- |
| 23 | |
| 24 | The following describes the license of the Linux kernel source code |
| 25 | (GPLv2), how to properly mark the license of individual files in the source |
| 26 | tree, as well as links to the full license text. |
| 27 | |
Markus Heiser | 9799445 | 2018-08-14 13:43:12 +0200 | [diff] [blame] | 28 | * :ref:`kernel_licensing` |
Thomas Gleixner | aa19a17 | 2017-12-28 23:17:17 +0100 | [diff] [blame] | 29 | |
Jonathan Corbet | b51208d | 2016-10-26 15:43:00 -0600 | [diff] [blame] | 30 | User-oriented documentation |
| 31 | --------------------------- |
| 32 | |
| 33 | The following manuals are written for *users* of the kernel — those who are |
| 34 | trying to get it to work optimally on a given system. |
Jani Nikula | 22cba31 | 2016-05-19 15:14:05 +0300 | [diff] [blame] | 35 | |
| 36 | .. toctree:: |
| 37 | :maxdepth: 2 |
| 38 | |
Mauro Carvalho Chehab | 9d85025 | 2016-09-21 09:51:11 -0300 | [diff] [blame] | 39 | admin-guide/index |
Mauro Carvalho Chehab | 113094f | 2019-06-28 08:36:50 -0300 | [diff] [blame] | 40 | kbuild/index |
Jonathan Corbet | b51208d | 2016-10-26 15:43:00 -0600 | [diff] [blame] | 41 | |
Changbin Du | 680e6ff | 2019-04-25 23:30:54 +0800 | [diff] [blame] | 42 | Firmware-related documentation |
| 43 | ------------------------------ |
| 44 | The following holds information on the kernel's expectations regarding the |
| 45 | platform firmwares. |
| 46 | |
| 47 | .. toctree:: |
| 48 | :maxdepth: 2 |
| 49 | |
| 50 | firmware-guide/index |
Mauro Carvalho Chehab | 4ef7f57 | 2020-04-15 16:45:15 +0200 | [diff] [blame] | 51 | devicetree/index |
Changbin Du | 680e6ff | 2019-04-25 23:30:54 +0800 | [diff] [blame] | 52 | |
Jonathan Corbet | 1d596de | 2017-04-02 14:58:01 -0600 | [diff] [blame] | 53 | Application-developer documentation |
| 54 | ----------------------------------- |
| 55 | |
| 56 | The user-space API manual gathers together documents describing aspects of |
| 57 | the kernel interface as seen by application developers. |
| 58 | |
| 59 | .. toctree:: |
| 60 | :maxdepth: 2 |
| 61 | |
Mike Rapoport | 8238191 | 2018-03-21 21:22:48 +0200 | [diff] [blame] | 62 | userspace-api/index |
Jonathan Corbet | 1d596de | 2017-04-02 14:58:01 -0600 | [diff] [blame] | 63 | |
| 64 | |
Jonathan Corbet | b51208d | 2016-10-26 15:43:00 -0600 | [diff] [blame] | 65 | Introduction to kernel development |
| 66 | ---------------------------------- |
| 67 | |
| 68 | These manuals contain overall information about how to develop the kernel. |
| 69 | The kernel community is quite large, with thousands of developers |
| 70 | contributing over the course of a year. As with any large community, |
| 71 | knowing how things are done will make the process of getting your changes |
| 72 | merged much easier. |
| 73 | |
| 74 | .. toctree:: |
| 75 | :maxdepth: 2 |
| 76 | |
Mauro Carvalho Chehab | 0e4f07a | 2016-10-18 09:05:32 -0200 | [diff] [blame] | 77 | process/index |
Markus Heiser | c289312 | 2016-10-26 08:23:14 +0200 | [diff] [blame] | 78 | dev-tools/index |
Mauro Carvalho Chehab | 1dc4bbf | 2016-11-17 08:32:33 -0200 | [diff] [blame] | 79 | doc-guide/index |
Mauro Carvalho Chehab | c4fcd7c | 2017-05-11 08:03:27 -0300 | [diff] [blame] | 80 | kernel-hacking/index |
Changbin Du | 583bc6b | 2018-02-17 13:39:34 +0800 | [diff] [blame] | 81 | trace/index |
Tobin C. Harding | 9727a01 | 2017-12-04 10:27:29 +1100 | [diff] [blame] | 82 | maintainer/index |
Mauro Carvalho Chehab | 113094f | 2019-06-28 08:36:50 -0300 | [diff] [blame] | 83 | fault-injection/index |
| 84 | livepatch/index |
| 85 | |
Jonathan Corbet | b51208d | 2016-10-26 15:43:00 -0600 | [diff] [blame] | 86 | |
| 87 | Kernel API documentation |
| 88 | ------------------------ |
| 89 | |
| 90 | These books get into the details of how specific kernel subsystems work |
| 91 | from the point of view of a kernel developer. Much of the information here |
| 92 | is taken directly from the kernel source, with supplemental material added |
| 93 | as needed (or at least as we managed to add it — probably *not* all that is |
Andy Deng | 2069889 | 2017-01-25 12:14:33 +0800 | [diff] [blame] | 94 | needed). |
Jonathan Corbet | b51208d | 2016-10-26 15:43:00 -0600 | [diff] [blame] | 95 | |
| 96 | .. toctree:: |
| 97 | :maxdepth: 2 |
| 98 | |
Jonathan Corbet | dcec3c8 | 2016-08-20 13:17:32 -0600 | [diff] [blame] | 99 | driver-api/index |
Silvio Fricke | 24755a5 | 2016-10-28 10:14:10 +0200 | [diff] [blame] | 100 | core-api/index |
Mauro Carvalho Chehab | 4c68060 | 2019-06-28 07:29:15 -0300 | [diff] [blame] | 101 | locking/index |
Mauro Carvalho Chehab | df1b7ce | 2019-06-18 17:16:23 -0300 | [diff] [blame] | 102 | accounting/index |
| 103 | block/index |
Mauro Carvalho Chehab | 113094f | 2019-06-28 08:36:50 -0300 | [diff] [blame] | 104 | cdrom/index |
Mauro Carvalho Chehab | 12bd112 | 2020-03-03 14:52:03 +0100 | [diff] [blame] | 105 | cpu-freq/index |
Mauro Carvalho Chehab | 113094f | 2019-06-28 08:36:50 -0300 | [diff] [blame] | 106 | ide/index |
| 107 | fb/index |
| 108 | fpga/index |
Mauro Carvalho Chehab | df1b7ce | 2019-06-18 17:16:23 -0300 | [diff] [blame] | 109 | hid/index |
Mauro Carvalho Chehab | ccf988b | 2019-07-26 09:51:16 -0300 | [diff] [blame] | 110 | i2c/index |
Mauro Carvalho Chehab | df1b7ce | 2019-06-18 17:16:23 -0300 | [diff] [blame] | 111 | iio/index |
Mauro Carvalho Chehab | 5a5e045 | 2019-07-26 09:51:25 -0300 | [diff] [blame] | 112 | isdn/index |
Mauro Carvalho Chehab | a3a400d | 2019-06-28 09:30:28 -0300 | [diff] [blame] | 113 | infiniband/index |
Mauro Carvalho Chehab | 09fdc95 | 2019-06-18 16:51:34 -0300 | [diff] [blame] | 114 | leds/index |
Mauro Carvalho Chehab | 113094f | 2019-06-28 08:36:50 -0300 | [diff] [blame] | 115 | netlabel/index |
Mauro Carvalho Chehab | 05e0f3b | 2017-05-12 09:14:02 -0300 | [diff] [blame] | 116 | networking/index |
Mauro Carvalho Chehab | 113094f | 2019-06-28 08:36:50 -0300 | [diff] [blame] | 117 | pcmcia/index |
Mauro Carvalho Chehab | 08a6905 | 2019-07-15 09:39:57 -0300 | [diff] [blame] | 118 | power/index |
Mauro Carvalho Chehab | 113094f | 2019-06-28 08:36:50 -0300 | [diff] [blame] | 119 | target/index |
| 120 | timers/index |
Mauro Carvalho Chehab | 9cdd273 | 2019-07-31 17:08:50 -0300 | [diff] [blame] | 121 | spi/index |
Mauro Carvalho Chehab | e9bb627 | 2019-07-31 17:08:53 -0300 | [diff] [blame] | 122 | w1/index |
Mauro Carvalho Chehab | 113094f | 2019-06-28 08:36:50 -0300 | [diff] [blame] | 123 | watchdog/index |
Sheriff Esseson | 03d3652 | 2019-08-09 14:23:49 +0100 | [diff] [blame] | 124 | virt/index |
Mauro Carvalho Chehab | aeb899a | 2017-04-11 07:01:19 -0300 | [diff] [blame] | 125 | input/index |
Mauro Carvalho Chehab | 7ebd8b66 | 2019-04-17 06:46:29 -0300 | [diff] [blame] | 126 | hwmon/index |
Jani Nikula | cb597fc | 2016-06-21 14:48:57 +0300 | [diff] [blame] | 127 | gpu/index |
Jarkko Sakkinen | 799a545 | 2016-11-03 17:57:52 -0600 | [diff] [blame] | 128 | security/index |
Takashi Iwai | 8551914 | 2016-11-02 21:30:39 +0100 | [diff] [blame] | 129 | sound/index |
Stephan Mueller | 3b72c81 | 2016-10-21 04:54:22 +0200 | [diff] [blame] | 130 | crypto/index |
Mauro Carvalho Chehab | 90f9f11 | 2017-05-12 06:50:22 -0300 | [diff] [blame] | 131 | filesystems/index |
Mike Rapoport | 8238191 | 2018-03-21 21:22:48 +0200 | [diff] [blame] | 132 | vm/index |
Tobin C. Harding | 3209570 | 2018-07-26 15:03:04 +1000 | [diff] [blame] | 133 | bpf/index |
Mauro Carvalho Chehab | ecefae6 | 2019-06-18 18:05:38 -0300 | [diff] [blame] | 134 | usb/index |
Changbin Du | c42eaff | 2019-05-14 22:47:23 +0800 | [diff] [blame] | 135 | PCI/index |
Mauro Carvalho Chehab | 31df2fd | 2020-03-02 09:15:34 +0100 | [diff] [blame] | 136 | scsi/index |
Randy Dunlap | 5591a30 | 2019-01-13 19:21:46 -0800 | [diff] [blame] | 137 | misc-devices/index |
Mauro Carvalho Chehab | c92992f | 2019-04-22 16:49:11 -0300 | [diff] [blame] | 138 | scheduler/index |
Manivannan Sadhasivam | 9435dc3 | 2020-02-20 15:28:39 +0530 | [diff] [blame] | 139 | mhi/index |
Jiri Slaby | 3f19fed | 2021-11-26 09:16:11 +0100 | [diff] [blame^] | 140 | tty/index |
Jani Nikula | 22cba31 | 2016-05-19 15:14:05 +0300 | [diff] [blame] | 141 | |
Jiri Slaby | ffedeeb | 2019-10-11 13:50:41 +0200 | [diff] [blame] | 142 | Architecture-agnostic documentation |
| 143 | ----------------------------------- |
| 144 | |
| 145 | .. toctree:: |
| 146 | :maxdepth: 2 |
| 147 | |
| 148 | asm-annotations |
| 149 | |
Mauro Carvalho Chehab | bffac83 | 2017-05-13 07:50:43 -0300 | [diff] [blame] | 150 | Architecture-specific documentation |
| 151 | ----------------------------------- |
| 152 | |
Mauro Carvalho Chehab | bffac83 | 2017-05-13 07:50:43 -0300 | [diff] [blame] | 153 | .. toctree:: |
| 154 | :maxdepth: 2 |
| 155 | |
Jonathan Neuschäfer | 3eca1cf | 2021-03-12 16:28:03 +0100 | [diff] [blame] | 156 | arch |
| 157 | |
Mauro Carvalho Chehab | bffac83 | 2017-05-13 07:50:43 -0300 | [diff] [blame] | 158 | |
Mauro Carvalho Chehab | 8e2a46a | 2020-06-15 08:50:25 +0200 | [diff] [blame] | 159 | Other documentation |
| 160 | ------------------- |
| 161 | |
| 162 | There are several unsorted documents that don't seem to fit on other parts |
| 163 | of the documentation body, or may require some adjustments and/or conversion |
| 164 | to ReStructured Text format, or are simply too old. |
| 165 | |
| 166 | .. toctree:: |
| 167 | :maxdepth: 2 |
| 168 | |
| 169 | staging/index |
Daniel W. S. Almeida | 3657c3e | 2020-07-18 13:51:07 -0300 | [diff] [blame] | 170 | watch_queue |
Mauro Carvalho Chehab | 8e2a46a | 2020-06-15 08:50:25 +0200 | [diff] [blame] | 171 | |
| 172 | |
Federico Vaga | 85c32d9 | 2018-06-06 00:49:00 +0200 | [diff] [blame] | 173 | Translations |
| 174 | ------------ |
SeongJae Park | ba42c57 | 2016-11-08 21:26:09 +0900 | [diff] [blame] | 175 | |
| 176 | .. toctree:: |
Federico Vaga | 85c32d9 | 2018-06-06 00:49:00 +0200 | [diff] [blame] | 177 | :maxdepth: 2 |
SeongJae Park | ba42c57 | 2016-11-08 21:26:09 +0900 | [diff] [blame] | 178 | |
Federico Vaga | 85c32d9 | 2018-06-06 00:49:00 +0200 | [diff] [blame] | 179 | translations/index |
Tsugikazu Shibata | f012733 | 2017-04-08 12:24:04 +0200 | [diff] [blame] | 180 | |
Jani Nikula | 22cba31 | 2016-05-19 15:14:05 +0300 | [diff] [blame] | 181 | Indices and tables |
| 182 | ================== |
| 183 | |
| 184 | * :ref:`genindex` |