Linux 6.13-rc3
[linux.git] / Documentation / driver-api / basics.rst
blobd78b7c328ff7b3e179e36d8c91eff9ba6483ef81
1 Driver Basics
2 =============
4 Driver Entry and Exit points
5 ----------------------------
7 .. kernel-doc:: include/linux/module.h
8    :internal:
10 Driver device table
11 -------------------
13 .. kernel-doc:: include/linux/mod_devicetable.h
14    :internal:
15    :no-identifiers: pci_device_id
18 Delaying and scheduling routines
19 --------------------------------
21 .. kernel-doc:: include/linux/sched.h
22    :internal:
24 .. kernel-doc:: kernel/sched/core.c
25    :export:
27 .. kernel-doc:: kernel/sched/cpupri.c
28    :internal:
30 .. kernel-doc:: kernel/sched/fair.c
31    :internal:
33 .. kernel-doc:: include/linux/completion.h
34    :internal:
36 Time and timer routines
37 -----------------------
39 .. kernel-doc:: include/linux/jiffies.h
40    :internal:
42 .. kernel-doc:: kernel/time/time.c
43    :export:
45 .. kernel-doc:: kernel/time/timer.c
46    :export:
48 High-resolution timers
49 ----------------------
51 .. kernel-doc:: include/linux/ktime.h
52    :internal:
54 .. kernel-doc:: include/linux/hrtimer.h
55    :internal:
57 .. kernel-doc:: kernel/time/hrtimer.c
58    :export:
60 Wait queues and Wake events
61 ---------------------------
63 .. kernel-doc:: include/linux/wait.h
64    :internal:
66 .. kernel-doc:: kernel/sched/wait.c
67    :export:
69 Internal Functions
70 ------------------
72 .. kernel-doc:: kernel/exit.c
73    :internal:
75 .. kernel-doc:: kernel/signal.c
76    :internal:
78 .. kernel-doc:: include/linux/kthread.h
79    :internal:
81 .. kernel-doc:: kernel/kthread.c
82    :export:
84 Reference counting
85 ------------------
87 .. kernel-doc:: include/linux/refcount.h
88    :internal:
90 .. kernel-doc:: lib/refcount.c
91    :export:
93 Atomics
94 -------
96 .. kernel-doc:: include/linux/atomic/atomic-instrumented.h
97    :internal:
99 .. kernel-doc:: include/linux/atomic/atomic-arch-fallback.h
100    :internal:
102 .. kernel-doc:: include/linux/atomic/atomic-long.h
103    :internal:
105 Kernel objects manipulation
106 ---------------------------
108 .. kernel-doc:: lib/kobject.c
109    :export:
111 Kernel utility functions
112 ------------------------
114 .. kernel-doc:: include/linux/kernel.h
115    :internal:
116    :no-identifiers: kstrtol kstrtoul
118 .. kernel-doc:: kernel/printk/printk.c
119    :export:
120    :no-identifiers: printk
122 .. kernel-doc:: kernel/panic.c
123    :export:
125 Device Resource Management
126 --------------------------
128 .. kernel-doc:: drivers/base/devres.c
129    :export: