mywiki:linux:linux_bus
This is an old revision of the document!
Linux Buses/Devices/and Drivers
| 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.1451976875.txt.gz · Last modified: (external edit)

