What is Device Driver?
Types of Device Drivers?
Configuring, Compiling and Installing the latest kernel
Commands: dmesg, insmod, modprobe, rmmod.
2. Character Device Drivers
Major and Minor Numbers
Registering Character Driver
File operations: open, read, write, release, seek, ioctl
Basic Character Device Driver
3. Advanced Character Driver
Blocking I/O
poll and select
4. Concurrency and Race Conditions
Semaphores
Mutex
Spinlocks
Completions
5. Communication with Hardware
I/O Ports and I/O Memory
Example Driver Code
6. Timing in Kernel
Measuring Time Lapses
Knowing the current time
Kernel Timers
Tasklets
Workqueues
7. Interrupt Handling
Registering an interrupt handler
Implementing an interrupt handler
Top and Bottom Halves
8. Linux Data Types
Use of Standard C Types
Portability Issues
Linked Lists
9. Virtual File system
Creating an entry in procfs
Creating an entry in sysfs
Creating an entry in debugfs