User Tools

Site Tools


mywiki:linux:linux_bus

This is an old revision of the document!


Linux Buses/Devices/and Drivers

Reference Kernel Slides
bus a channel between the processor and one or more devices. It is represented by struct bus_type.
Commonly it can be dynamically detected, like PCI, USB
platform bus a special bus which cannot be dynamically detected, like I2C, SPI, UART
Device At the lowest level, every device in a Linux system is represented by an instance of struct device
Platform Device devices are often not connected through a bus allowing enumeration, hotplugging,
and providing unique identifiers for devices
Device Drivers The device model tracks all of the drivers known to the system.
The main reason for this tracking is to enable the driver core to match up drivers with new devices.
It is represented by struct device_driver
framework allows the driver to expose the hardware features in a generic way.

Note: Platform Device must be statically described in either

  • The kernel source code
  • The Device Tree, a hardware description file used on some architectures.

mywiki/linux/linux_bus.1451976967.txt.gz · Last modified: (external edit)