xref: /openbmc/linux/Documentation/core-api/index.rst (revision 5e72017279957b764c225f143c16391b3c51f225)
124755a55SSilvio Fricke======================
293dc3a11SJonathan CorbetCore API Documentation
324755a55SSilvio Fricke======================
424755a55SSilvio Fricke
593dc3a11SJonathan CorbetThis is the beginning of a manual for core kernel APIs.  The conversion
693dc3a11SJonathan Corbet(and writing!) of documents for this manual is much appreciated!
793dc3a11SJonathan Corbet
893dc3a11SJonathan CorbetCore utilities
993dc3a11SJonathan Corbet==============
1024755a55SSilvio Fricke
11*5e720172SJonathan CorbetThis section has general and "core core" documentation.  The first is a
12*5e720172SJonathan Corbetmassive grab-bag of kerneldoc info left over from the docbook days; it
13*5e720172SJonathan Corbetshould really be broken up someday when somebody finds the energy to do
14*5e720172SJonathan Corbetit.
15*5e720172SJonathan Corbet
1624755a55SSilvio Fricke.. toctree::
1724755a55SSilvio Fricke   :maxdepth: 1
1824755a55SSilvio Fricke
19baca8a0cSMauro Carvalho Chehab   kernel-api
20*5e720172SJonathan Corbet   workqueue
21*5e720172SJonathan Corbet   printk-formats
22*5e720172SJonathan Corbet   symbol-namespaces
23*5e720172SJonathan Corbet
24*5e720172SJonathan CorbetData structures and low-level utilities
25*5e720172SJonathan Corbet=======================================
26*5e720172SJonathan Corbet
27*5e720172SJonathan CorbetLibrary functionality that is used throughout the kernel.
28*5e720172SJonathan Corbet
29*5e720172SJonathan Corbet.. toctree::
30*5e720172SJonathan Corbet   :maxdepth: 1
31*5e720172SJonathan Corbet
325fed00dcSSameer Rahmani   kobject
33c3cbf1a7SSilvio Fricke   assoc_array
34992a8e60SMatthew Wilcox   xarray
35*5e720172SJonathan Corbet   idr
36d8a121e3SMauro Carvalho Chehab   circular-buffers
37ba20ba2eSKent Overstreet   generic-radix-tree
38*5e720172SJonathan Corbet   packing
39*5e720172SJonathan Corbet   timekeeping
40*5e720172SJonathan Corbet   errseq
41*5e720172SJonathan Corbet
42*5e720172SJonathan CorbetConcurrency primitives
43*5e720172SJonathan Corbet======================
44*5e720172SJonathan Corbet
45*5e720172SJonathan CorbetHow Linux keeps everything from happening at the same time.  See
46*5e720172SJonathan Corbet:doc:`/locking/index` for more related documentation.
47*5e720172SJonathan Corbet
48*5e720172SJonathan Corbet.. toctree::
49*5e720172SJonathan Corbet   :maxdepth: 1
50*5e720172SJonathan Corbet
51*5e720172SJonathan Corbet   atomic_ops
52*5e720172SJonathan Corbet   refcount-vs-atomic
53*5e720172SJonathan Corbet   local_ops
54*5e720172SJonathan Corbet   padata
55*5e720172SJonathan Corbet   ../RCU/index
56*5e720172SJonathan Corbet
57*5e720172SJonathan CorbetLow-level hardware management
58*5e720172SJonathan Corbet=============================
59*5e720172SJonathan Corbet
60*5e720172SJonathan CorbetCache management, managing CPU hotplug, etc.
61*5e720172SJonathan Corbet
62*5e720172SJonathan Corbet.. toctree::
63*5e720172SJonathan Corbet   :maxdepth: 1
64*5e720172SJonathan Corbet
65*5e720172SJonathan Corbet   cachetlb
66*5e720172SJonathan Corbet   cpu_hotplug
67*5e720172SJonathan Corbet   memory-hotplug
68*5e720172SJonathan Corbet   genericirq
69*5e720172SJonathan Corbet   protection-keys
70*5e720172SJonathan Corbet
71*5e720172SJonathan CorbetMemory management
72*5e720172SJonathan Corbet=================
73*5e720172SJonathan Corbet
74*5e720172SJonathan CorbetHow to allocate and use memory in the kernel.  Note that there is a lot
75*5e720172SJonathan Corbetmore memory-management documentation in :doc:`/vm/index`.
76*5e720172SJonathan Corbet
77*5e720172SJonathan Corbet.. toctree::
78*5e720172SJonathan Corbet   :maxdepth: 1
79*5e720172SJonathan Corbet
8052272c92SMike Rapoport   memory-allocation
8141f35b39SMike Rapoport   mm-api
82*5e720172SJonathan Corbet   genalloc
83eddb1c22SJohn Hubbard   pin_user_pages
84ae9d8845SMike Rapoport   boot-time-mm
85*5e720172SJonathan Corbet   gfp_mask-from-fs-io
86e7f08ffbSSilvio Fricke
8793dc3a11SJonathan CorbetInterfaces for kernel debugging
8893dc3a11SJonathan Corbet===============================
8993dc3a11SJonathan Corbet
9093dc3a11SJonathan Corbet.. toctree::
9193dc3a11SJonathan Corbet   :maxdepth: 1
9293dc3a11SJonathan Corbet
9393dc3a11SJonathan Corbet   debug-objects
94d6ba7a9cSJonathan Corbet   tracepoint
9593dc3a11SJonathan Corbet
96*5e720172SJonathan CorbetEverything else
97*5e720172SJonathan Corbet===============
98*5e720172SJonathan Corbet
99*5e720172SJonathan CorbetDocuments that don't fit elsewhere or which have yet to be categorized.
100*5e720172SJonathan Corbet
101*5e720172SJonathan Corbet.. toctree::
102*5e720172SJonathan Corbet   :maxdepth: 1
103*5e720172SJonathan Corbet
104*5e720172SJonathan Corbet   librs
105*5e720172SJonathan Corbet   gcc-plugins
106*5e720172SJonathan Corbet   ioctl
107*5e720172SJonathan Corbet
1089c970ab5SMauro Carvalho Chehab.. only:: subproject and html
10924755a55SSilvio Fricke
11024755a55SSilvio Fricke   Indices
11124755a55SSilvio Fricke   =======
11224755a55SSilvio Fricke
11324755a55SSilvio Fricke   * :ref:`genindex`
114