xref: /linux/Documentation/driver-api/basics.rst (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
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:
15a57c3522SMauro Carvalho Chehab   :no-identifiers: pci_device_id
16a57c3522SMauro Carvalho Chehab
17d76a085bSMauro Carvalho Chehab
18*a1d115abSRandy DunlapDelaying and scheduling routines
19*a1d115abSRandy Dunlap--------------------------------
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
36*a1d115abSRandy DunlapTime and timer routines
37*a1d115abSRandy Dunlap-----------------------
38dcec3c8cSJonathan Corbet
39*a1d115abSRandy Dunlap.. kernel-doc:: include/linux/jiffies.h
40dcec3c8cSJonathan Corbet   :internal:
41dcec3c8cSJonathan Corbet
42*a1d115abSRandy Dunlap.. kernel-doc:: kernel/time/time.c
43*a1d115abSRandy Dunlap   :export:
44*a1d115abSRandy Dunlap
45*a1d115abSRandy Dunlap.. kernel-doc:: kernel/time/timer.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
60*a1d115abSRandy DunlapWait queues and Wake events
61*a1d115abSRandy Dunlap---------------------------
62*a1d115abSRandy Dunlap
63*a1d115abSRandy Dunlap.. kernel-doc:: include/linux/wait.h
64*a1d115abSRandy Dunlap   :internal:
65*a1d115abSRandy Dunlap
66*a1d115abSRandy Dunlap.. kernel-doc:: kernel/sched/wait.c
67*a1d115abSRandy Dunlap   :export:
68*a1d115abSRandy Dunlap
69dcec3c8cSJonathan CorbetInternal Functions
70dcec3c8cSJonathan Corbet------------------
71dcec3c8cSJonathan Corbet
72dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/exit.c
73dcec3c8cSJonathan Corbet   :internal:
74dcec3c8cSJonathan Corbet
75dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/signal.c
76dcec3c8cSJonathan Corbet   :internal:
77dcec3c8cSJonathan Corbet
78dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/kthread.h
79dcec3c8cSJonathan Corbet   :internal:
80dcec3c8cSJonathan Corbet
81dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/kthread.c
82dcec3c8cSJonathan Corbet   :export:
83dcec3c8cSJonathan Corbet
84b6e859f6SElena ReshetovaReference counting
85b6e859f6SElena Reshetova------------------
86b6e859f6SElena Reshetova
87b6e859f6SElena Reshetova.. kernel-doc:: include/linux/refcount.h
88b6e859f6SElena Reshetova   :internal:
89b6e859f6SElena Reshetova
90b6e859f6SElena Reshetova.. kernel-doc:: lib/refcount.c
91b6e859f6SElena Reshetova   :export:
92b6e859f6SElena Reshetova
93b6e859f6SElena ReshetovaAtomics
94b6e859f6SElena Reshetova-------
95b6e859f6SElena Reshetova
96e74f4059SPaul E. McKenney.. kernel-doc:: include/linux/atomic/atomic-instrumented.h
97e74f4059SPaul E. McKenney   :internal:
98e74f4059SPaul E. McKenney
99e74f4059SPaul E. McKenney.. kernel-doc:: include/linux/atomic/atomic-arch-fallback.h
100e74f4059SPaul E. McKenney   :internal:
101e74f4059SPaul E. McKenney
102e74f4059SPaul E. McKenney.. kernel-doc:: include/linux/atomic/atomic-long.h
103b6e859f6SElena Reshetova   :internal:
104b6e859f6SElena Reshetova
105dcec3c8cSJonathan CorbetKernel objects manipulation
106dcec3c8cSJonathan Corbet---------------------------
107dcec3c8cSJonathan Corbet
108dcec3c8cSJonathan Corbet.. kernel-doc:: lib/kobject.c
109dcec3c8cSJonathan Corbet   :export:
110dcec3c8cSJonathan Corbet
111dcec3c8cSJonathan CorbetKernel utility functions
112dcec3c8cSJonathan Corbet------------------------
113dcec3c8cSJonathan Corbet
114dcec3c8cSJonathan Corbet.. kernel-doc:: include/linux/kernel.h
115dcec3c8cSJonathan Corbet   :internal:
116a57c3522SMauro Carvalho Chehab   :no-identifiers: kstrtol kstrtoul
117dcec3c8cSJonathan Corbet
118dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/printk/printk.c
119dcec3c8cSJonathan Corbet   :export:
120a57c3522SMauro Carvalho Chehab   :no-identifiers: printk
121dcec3c8cSJonathan Corbet
122dcec3c8cSJonathan Corbet.. kernel-doc:: kernel/panic.c
123dcec3c8cSJonathan Corbet   :export:
124dcec3c8cSJonathan Corbet
125dcec3c8cSJonathan CorbetDevice Resource Management
126dcec3c8cSJonathan Corbet--------------------------
127dcec3c8cSJonathan Corbet
128dcec3c8cSJonathan Corbet.. kernel-doc:: drivers/base/devres.c
129dcec3c8cSJonathan Corbet   :export:
130dcec3c8cSJonathan Corbet
131