October 2017
Intermediate to advanced
586 pages
14h 8m
English
Before any match can occur, Linux calls platform_match(struct device *dev, struct device_driver *drv). Platform devices are matched with their drivers by means of strings. According to the Linux device model, the bus element is the most important part. Each bus maintains a list of drivers and devices that are registered with it. The bus driver is responsible for devices and drivers matching. Any time you connect a new device or add a new driver to a bus, that bus starts the matching loop.
Now, suppose that you register a new I2C device using functions provided by the I2C core (discussed in next chapter). The kernel will trigger the I2C bus matching loop, by calling the I2C core match function registered ...