this repository contains the code that i have written while learning Linux kernel programming
Device used - Raspberry Pi 3
- Simple Kernel Module
- Device Numbers and Device Files
- Create device file in driver and callbacks
- GPIO Driver
- Text LCD Driver
- PWM Module
- Temperature Sensor (I2C)
- Timer in Linux Kernel Modules
- High Resolution Timer in Linux Kernel Modules
- Accessing SPI with a Linux Kernel Module (BMP280 sensor again)
- Using a GPIO Interrupt in a Linux Kernel Module
- Using Parameters in a Linux Kernel Module
- IOCTL in a Linux Kernel Module
- Threads in a Linux Kernel Module
- Sending a signal from a Linux Kernel Module to an userspace application
- The poll callback
- Waitqueues in a Linux Kernel Module
- Create procfs entries from a Linux Kernel Module
- Create sysfs entries from a Linux Kernel Module
- Parse the device tree from a Linux Kernel Module to get the deivce properties of a specific device
- Device Tree GPIO Driver
- Device Tree Driver for I2C Device
- Dynamical memory management in a Linux Kernel module
- Serial (UART) Driver
- Industrial IO compatible driver for an ATMEGA I2C ADC
- Device Tree SPI Driver (IIO compatible driver for Atmega SPI ADC)
- Misc Device
- Mutex for exclusive access to shared resource
- Completions for synchronisation
- Direct Memory Access (DMA) memcopy example