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