mywiki:linux:linux_bus
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mywiki:linux:linux_bus [2016/01/05 14:48] – super | mywiki:linux:linux_bus [2019/09/15 18:55] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Linux Bus | + | Linux Buses/ |
| - | | 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 | | + | | Reference | {{: |
| + | |||
| + | ^ 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 \\ It can be virtual or physical, All devices are connected to a bus \\ A bus can be plugged into another bus E.g., USB controller is usually a PCI device | ||
| | platform bus | a special bus which cannot be dynamically detected, like I2C, SPI, UART | | | 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** | | + | ^ Device | At the lowest level, every device in a Linux system is represented by an instance of struct **device** | |
| - | | Platfrom | + | | Platform |
| - | 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** |
| - | | 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. | |
| - | | framework | allows the driver to expose the hardware features in a generic way. | | + | ^ class | Higher-level view of a device that abstracts out low-level implementation details \\ Allows user space to work with devices based on what they do, rather than how they are interconnected \\ Almost all classes show up under /sys/class \\ / |
| + | | udev | Is a daemon process that scans for devices and dynamically creates the corresponding nodes in /dev/ \\ Replaces devfs \\ Running in userspace | | ||
| + | | Firmware | request_firmware/ | ||
| + | |||
| + | |||
| Note: Platform Device must be statically described in either | Note: Platform Device must be statically described in either | ||
| Line 15: | Line 22: | ||
| {{: | {{: | ||
| + | |||
| + | {{: | ||
| + | {{: | ||
| + | {{: | ||
| + | |||
| + | {{: | ||
mywiki/linux/linux_bus.1451976481.txt.gz · Last modified: (external edit)
