The Linux Kernel
6.1.115
A guide to the Kernel Development Process
Submitting patches: the essential guide to getting your code into the kernel
Code of conduct
Kernel Maintainer Handbook
All development-process docs
Core API Documentation
The Linux driver implementer’s API guide
Kernel subsystem documentation
The Linux driver implementer’s API guide
Core API Documentation
locking
Accounting
Block
cdrom
Linux CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
Frame Buffer
fpga
Human Interface Devices (HID)
I2C/SMBus Subsystem
Introduction
Introduction to I2C and SMBus
The I2C Protocol
The SMBus Protocol
How to instantiate I2C devices
I2C Bus Drivers
I2C muxes and complex topologies
Kernel driver i2c-mux-gpio
Linux I2C Sysfs
Writing device drivers
Implementing I2C device drivers
Implementing I2C device drivers in userspace
Linux I2C and DMA
I2C/SMBUS Fault Codes
I2C/SMBus Functionality
Debugging
Linux I2C fault injection
i2c-stub
Slave I2C
Linux I2C slave interface description
Linux I2C slave EEPROM backend
Linux I2C slave testunit backend
Advanced topics
I2C Ten-bit Addresses
Legacy documentation
I2C device driver binding control from user-space in old kernels
Industrial I/O
ISDN
InfiniBand
LEDs
NetLabel
Networking
pcmcia
Power Management
TCM Virtual Device
timers
Serial Peripheral Interface (SPI)
1-Wire Subsystem
Linux Watchdog Support
Linux Virtualization Support
The Linux Input Documentation
Linux Hardware Monitoring
Linux GPU Driver Developer’s Guide
Security Documentation
Linux Sound Subsystem Documentation
Linux Kernel Crypto API
Filesystems in the Linux kernel
Linux Memory Management Documentation
BPF Documentation
USB support
Linux PCI Bus Subsystem
Linux SCSI Subsystem
Assorted Miscellaneous Devices Documentation
Linux Scheduler
MHI
Linux PECI Subsystem
Locking in the kernel
Linux kernel licensing rules
How to write kernel documentation
Development tools for the kernel
Kernel Testing Guide
Kernel Hacking Guides
Linux Tracing Technologies
fault-injection
Kernel Livepatching
Rust
The Linux kernel user’s and administrator’s guide
The kernel build system
Reporting issues
User-space tools
The Linux kernel user-space API guide
The Linux kernel firmware guide
Open Firmware and Devicetree
CPU Architectures
Unsorted Documentation
Translations
The Linux Kernel
Kernel subsystem documentation
I2C/SMBus Subsystem
View page source
I2C/SMBus Subsystem
¶
Introduction
¶
Introduction to I2C and SMBus
The I2C Protocol
The SMBus Protocol
How to instantiate I2C devices
I2C Bus Drivers
I2C muxes and complex topologies
Kernel driver i2c-mux-gpio
Linux I2C Sysfs
Writing device drivers
¶
Implementing I2C device drivers
Implementing I2C device drivers in userspace
Linux I2C and DMA
I2C/SMBUS Fault Codes
I2C/SMBus Functionality
Debugging
¶
Linux I2C fault injection
i2c-stub
Slave I2C
¶
Linux I2C slave interface description
Linux I2C slave EEPROM backend
Linux I2C slave testunit backend
Advanced topics
¶
I2C Ten-bit Addresses
Legacy documentation
¶
I2C device driver binding control from user-space in old kernels