xref: /linux/Documentation/driver-api/basics.rst (revision e7d759f31ca295d589f7420719c311870bb3166f)
1Driver Basics
2=============
3
4Driver Entry and Exit points
5----------------------------
6
7.. kernel-doc:: include/linux/module.h
8   :internal:
9
10Driver device table
11-------------------
12
13.. kernel-doc:: include/linux/mod_devicetable.h
14   :internal:
15   :no-identifiers: pci_device_id
16
17
18Delaying and scheduling routines
19--------------------------------
20
21.. kernel-doc:: include/linux/sched.h
22   :internal:
23
24.. kernel-doc:: kernel/sched/core.c
25   :export:
26
27.. kernel-doc:: kernel/sched/cpupri.c
28   :internal:
29
30.. kernel-doc:: kernel/sched/fair.c
31   :internal:
32
33.. kernel-doc:: include/linux/completion.h
34   :internal:
35
36Time and timer routines
37-----------------------
38
39.. kernel-doc:: include/linux/jiffies.h
40   :internal:
41
42.. kernel-doc:: kernel/time/time.c
43   :export:
44
45.. kernel-doc:: kernel/time/timer.c
46   :export:
47
48High-resolution timers
49----------------------
50
51.. kernel-doc:: include/linux/ktime.h
52   :internal:
53
54.. kernel-doc:: include/linux/hrtimer.h
55   :internal:
56
57.. kernel-doc:: kernel/time/hrtimer.c
58   :export:
59
60Wait queues and Wake events
61---------------------------
62
63.. kernel-doc:: include/linux/wait.h
64   :internal:
65
66.. kernel-doc:: kernel/sched/wait.c
67   :export:
68
69Internal Functions
70------------------
71
72.. kernel-doc:: kernel/exit.c
73   :internal:
74
75.. kernel-doc:: kernel/signal.c
76   :internal:
77
78.. kernel-doc:: include/linux/kthread.h
79   :internal:
80
81.. kernel-doc:: kernel/kthread.c
82   :export:
83
84Reference counting
85------------------
86
87.. kernel-doc:: include/linux/refcount.h
88   :internal:
89
90.. kernel-doc:: lib/refcount.c
91   :export:
92
93Atomics
94-------
95
96.. kernel-doc:: include/linux/atomic/atomic-instrumented.h
97   :internal:
98
99.. kernel-doc:: include/linux/atomic/atomic-arch-fallback.h
100   :internal:
101
102.. kernel-doc:: include/linux/atomic/atomic-long.h
103   :internal:
104
105Kernel objects manipulation
106---------------------------
107
108.. kernel-doc:: lib/kobject.c
109   :export:
110
111Kernel utility functions
112------------------------
113
114.. kernel-doc:: include/linux/kernel.h
115   :internal:
116   :no-identifiers: kstrtol kstrtoul
117
118.. kernel-doc:: kernel/printk/printk.c
119   :export:
120   :no-identifiers: printk
121
122.. kernel-doc:: kernel/panic.c
123   :export:
124
125Device Resource Management
126--------------------------
127
128.. kernel-doc:: drivers/base/devres.c
129   :export:
130
131