xref: /linux/Documentation/driver-api/basics.rst (revision 84253c8be37d5f0b54d624be1bd1b90bbbfe14b3)
1dcec3c8cSJonathan CorbetDriver Basics
2dcec3c8cSJonathan Corbet=============
3dcec3c8cSJonathan Corbet
4dcec3c8cSJonathan CorbetDriver Entry and Exit points
5dcec3c8cSJonathan Corbet----------------------------
6dcec3c8cSJonathan Corbet
7127d4b37SJonathan Corbet.. kernel-doc:: include/linux/module.h
8dcec3c8cSJonathan Corbet   :internal:
9dcec3c8cSJonathan Corbet
10d76a085bSMauro Carvalho ChehabDriver device table
11d76a085bSMauro Carvalho Chehab-------------------
12d76a085bSMauro Carvalho Chehab
13d76a085bSMauro Carvalho Chehab.. kernel-doc:: include/linux/mod_devicetable.h
14d76a085bSMauro Carvalho Chehab   :internal:
15d76a085bSMauro Carvalho Chehab
16dcec3c8cSJonathan CorbetDelaying, scheduling, and timer routines
17dcec3c8cSJonathan Corbet----------------------------------------
18dcec3c8cSJonathan Corbet
19dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/sched.h
20dcec3c8cSJonathan Corbet   :internal:
21dcec3c8cSJonathan Corbet
22dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/sched/core.c
23dcec3c8cSJonathan Corbet   :export:
24dcec3c8cSJonathan Corbet
25dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/sched/cpupri.c
26dcec3c8cSJonathan Corbet   :internal:
27dcec3c8cSJonathan Corbet
28dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/sched/fair.c
29dcec3c8cSJonathan Corbet   :internal:
30dcec3c8cSJonathan Corbet
31dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/completion.h
32dcec3c8cSJonathan Corbet   :internal:
33dcec3c8cSJonathan Corbet
34dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/time/timer.c
35dcec3c8cSJonathan Corbet   :export:
36dcec3c8cSJonathan Corbet
37dcec3c8cSJonathan CorbetWait queues and Wake events
38dcec3c8cSJonathan Corbet---------------------------
39dcec3c8cSJonathan Corbet
40dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/wait.h
41dcec3c8cSJonathan Corbet   :internal:
42dcec3c8cSJonathan Corbet
43dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/sched/wait.c
44dcec3c8cSJonathan Corbet   :export:
45dcec3c8cSJonathan Corbet
46dcec3c8cSJonathan CorbetHigh-resolution timers
47dcec3c8cSJonathan Corbet----------------------
48dcec3c8cSJonathan Corbet
49dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/ktime.h
50dcec3c8cSJonathan Corbet   :internal:
51dcec3c8cSJonathan Corbet
52dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/hrtimer.h
53dcec3c8cSJonathan Corbet   :internal:
54dcec3c8cSJonathan Corbet
55dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/time/hrtimer.c
56dcec3c8cSJonathan Corbet   :export:
57dcec3c8cSJonathan Corbet
58dcec3c8cSJonathan CorbetWorkqueues and Kevents
59dcec3c8cSJonathan Corbet----------------------
60dcec3c8cSJonathan Corbet
61dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/workqueue.h
62dcec3c8cSJonathan Corbet   :internal:
63dcec3c8cSJonathan Corbet
64dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/workqueue.c
65dcec3c8cSJonathan Corbet   :export:
66dcec3c8cSJonathan Corbet
67dcec3c8cSJonathan CorbetInternal Functions
68dcec3c8cSJonathan Corbet------------------
69dcec3c8cSJonathan Corbet
70dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/exit.c
71dcec3c8cSJonathan Corbet   :internal:
72dcec3c8cSJonathan Corbet
73dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/signal.c
74dcec3c8cSJonathan Corbet   :internal:
75dcec3c8cSJonathan Corbet
76dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/kthread.h
77dcec3c8cSJonathan Corbet   :internal:
78dcec3c8cSJonathan Corbet
79dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/kthread.c
80dcec3c8cSJonathan Corbet   :export:
81dcec3c8cSJonathan Corbet
82b6e859f6SElena ReshetovaReference counting
83b6e859f6SElena Reshetova------------------
84b6e859f6SElena Reshetova
85b6e859f6SElena Reshetova.. kernel-doc:: include/linux/refcount.h
86b6e859f6SElena Reshetova   :internal:
87b6e859f6SElena Reshetova
88b6e859f6SElena Reshetova.. kernel-doc:: lib/refcount.c
89b6e859f6SElena Reshetova   :export:
90b6e859f6SElena Reshetova
91b6e859f6SElena ReshetovaAtomics
92b6e859f6SElena Reshetova-------
93b6e859f6SElena Reshetova
94b6e859f6SElena Reshetova.. kernel-doc:: arch/x86/include/asm/atomic.h
95b6e859f6SElena Reshetova   :internal:
96b6e859f6SElena Reshetova
97dcec3c8cSJonathan CorbetKernel objects manipulation
98dcec3c8cSJonathan Corbet---------------------------
99dcec3c8cSJonathan Corbet
100dcec3c8cSJonathan Corbet.. kernel-doc:: lib/kobject.c
101dcec3c8cSJonathan Corbet   :export:
102dcec3c8cSJonathan Corbet
103dcec3c8cSJonathan CorbetKernel utility functions
104dcec3c8cSJonathan Corbet------------------------
105dcec3c8cSJonathan Corbet
106dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/kernel.h
107dcec3c8cSJonathan Corbet   :internal:
108dcec3c8cSJonathan Corbet
109dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/printk/printk.c
110dcec3c8cSJonathan Corbet   :export:
111dcec3c8cSJonathan Corbet
112dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/panic.c
113dcec3c8cSJonathan Corbet   :export:
114dcec3c8cSJonathan Corbet
115dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/rcu/tree.c
116dcec3c8cSJonathan Corbet   :export:
117dcec3c8cSJonathan Corbet
118dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/rcu/tree_plugin.h
119dcec3c8cSJonathan Corbet   :export:
120dcec3c8cSJonathan Corbet
121dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/rcu/update.c
122dcec3c8cSJonathan Corbet   :export:
123dcec3c8cSJonathan Corbet
124*84253c8bSKees Cook.. kernel-doc:: include/linux/overflow.h
125*84253c8bSKees Cook   :internal:
126*84253c8bSKees Cook
127dcec3c8cSJonathan CorbetDevice Resource Management
128dcec3c8cSJonathan Corbet--------------------------
129dcec3c8cSJonathan Corbet
130dcec3c8cSJonathan Corbet.. kernel-doc:: drivers/base/devres.c
131dcec3c8cSJonathan Corbet   :export:
132dcec3c8cSJonathan Corbet
133