xref: /linux/Documentation/driver-api/basics.rst (revision a57c3522e816ab25c11fac0820bedb07e4727bdf)
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:
15*a57c3522SMauro Carvalho Chehab   :no-identifiers: pci_device_id
16*a57c3522SMauro Carvalho Chehab
17d76a085bSMauro Carvalho Chehab
18dcec3c8cSJonathan CorbetDelaying, scheduling, and timer routines
19dcec3c8cSJonathan Corbet----------------------------------------
20dcec3c8cSJonathan Corbet
21dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/sched.h
22dcec3c8cSJonathan Corbet   :internal:
23dcec3c8cSJonathan Corbet
24dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/sched/core.c
25dcec3c8cSJonathan Corbet   :export:
26dcec3c8cSJonathan Corbet
27dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/sched/cpupri.c
28dcec3c8cSJonathan Corbet   :internal:
29dcec3c8cSJonathan Corbet
30dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/sched/fair.c
31dcec3c8cSJonathan Corbet   :internal:
32dcec3c8cSJonathan Corbet
33dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/completion.h
34dcec3c8cSJonathan Corbet   :internal:
35dcec3c8cSJonathan Corbet
36dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/time/timer.c
37dcec3c8cSJonathan Corbet   :export:
38dcec3c8cSJonathan Corbet
39dcec3c8cSJonathan CorbetWait queues and Wake events
40dcec3c8cSJonathan Corbet---------------------------
41dcec3c8cSJonathan Corbet
42dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/wait.h
43dcec3c8cSJonathan Corbet   :internal:
44dcec3c8cSJonathan Corbet
45dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/sched/wait.c
46dcec3c8cSJonathan Corbet   :export:
47dcec3c8cSJonathan Corbet
48dcec3c8cSJonathan CorbetHigh-resolution timers
49dcec3c8cSJonathan Corbet----------------------
50dcec3c8cSJonathan Corbet
51dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/ktime.h
52dcec3c8cSJonathan Corbet   :internal:
53dcec3c8cSJonathan Corbet
54dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/hrtimer.h
55dcec3c8cSJonathan Corbet   :internal:
56dcec3c8cSJonathan Corbet
57dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/time/hrtimer.c
58dcec3c8cSJonathan Corbet   :export:
59dcec3c8cSJonathan Corbet
60dcec3c8cSJonathan CorbetInternal Functions
61dcec3c8cSJonathan Corbet------------------
62dcec3c8cSJonathan Corbet
63dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/exit.c
64dcec3c8cSJonathan Corbet   :internal:
65dcec3c8cSJonathan Corbet
66dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/signal.c
67dcec3c8cSJonathan Corbet   :internal:
68dcec3c8cSJonathan Corbet
69dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/kthread.h
70dcec3c8cSJonathan Corbet   :internal:
71dcec3c8cSJonathan Corbet
72dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/kthread.c
73dcec3c8cSJonathan Corbet   :export:
74dcec3c8cSJonathan Corbet
75b6e859f6SElena ReshetovaReference counting
76b6e859f6SElena Reshetova------------------
77b6e859f6SElena Reshetova
78b6e859f6SElena Reshetova.. kernel-doc:: include/linux/refcount.h
79b6e859f6SElena Reshetova   :internal:
80b6e859f6SElena Reshetova
81b6e859f6SElena Reshetova.. kernel-doc:: lib/refcount.c
82b6e859f6SElena Reshetova   :export:
83b6e859f6SElena Reshetova
84b6e859f6SElena ReshetovaAtomics
85b6e859f6SElena Reshetova-------
86b6e859f6SElena Reshetova
87b6e859f6SElena Reshetova.. kernel-doc:: arch/x86/include/asm/atomic.h
88b6e859f6SElena Reshetova   :internal:
89b6e859f6SElena Reshetova
90dcec3c8cSJonathan CorbetKernel objects manipulation
91dcec3c8cSJonathan Corbet---------------------------
92dcec3c8cSJonathan Corbet
93dcec3c8cSJonathan Corbet.. kernel-doc:: lib/kobject.c
94dcec3c8cSJonathan Corbet   :export:
95dcec3c8cSJonathan Corbet
96dcec3c8cSJonathan CorbetKernel utility functions
97dcec3c8cSJonathan Corbet------------------------
98dcec3c8cSJonathan Corbet
99dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/kernel.h
100dcec3c8cSJonathan Corbet   :internal:
101*a57c3522SMauro Carvalho Chehab   :no-identifiers: kstrtol kstrtoul
102dcec3c8cSJonathan Corbet
103dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/printk/printk.c
104dcec3c8cSJonathan Corbet   :export:
105*a57c3522SMauro Carvalho Chehab   :no-identifiers: printk
106dcec3c8cSJonathan Corbet
107dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/panic.c
108dcec3c8cSJonathan Corbet   :export:
109dcec3c8cSJonathan Corbet
11084253c8bSKees Cook.. kernel-doc:: include/linux/overflow.h
11184253c8bSKees Cook   :internal:
11284253c8bSKees Cook
113dcec3c8cSJonathan CorbetDevice Resource Management
114dcec3c8cSJonathan Corbet--------------------------
115dcec3c8cSJonathan Corbet
116dcec3c8cSJonathan Corbet.. kernel-doc:: drivers/base/devres.c
117dcec3c8cSJonathan Corbet   :export:
118dcec3c8cSJonathan Corbet
119