Specialized Device Drivers
All device drivers that are accessible to application logic are
either: (1) Character device drivers that can be accessed via the
standard driver operations (open()
, close()
, read()
,
write()
, etc.), or (2) block drivers that can be accessing
only as part of mounting a file system or other special use cases
as described in the preceding paragraph.
In addition to this, there are also specialized “drivers” that can be used only within the OS logic itself and are not accessible to application logic. These specialized drivers are discussed in the following section.
Note
While special drivers are internal, in some cases there are also character/block drivers that sit on top of these special drivers and thus expose them to applications.
- Audio Device Drivers
- Clock management (CLK)
- Device Tree support
- DEVMEM Drivers
- DMA Drivers
- Frame Buffer Drivers
- I2C Device Drivers
- I3C Device Drivers
- IO Expander Device Drivers
- LCD Character Drivers
- Memory Technology Device Drivers
- drivers/regmap
- Reset Driver
- Remote Proc Tunnel Drivers
rwbuffer.c
- Sensor Drivers
- Segger RTT drivers
- SPI Device Drivers
- SYSLOG
- SDIO Device Drivers
- USB Device-Side Drivers
- USB Host-Side Drivers
- USB Miscellaneous Drivers
- USB Monitor support
- Usrsock Driver
- MMCSD Device Drivers
- Network interface drivers
- PCI(e) Bus Drivers
- Pinctrl Device Drivers
- FIFO and named pipe drivers
- Power-related Drivers
- Virtio Device Drivers
- Video Device Drivers
- Wireless Drivers