Understanding the platform core abstraction in the Linux kernel
To cover the long list of non-discoverable devices that are being increasingly used as System on Chips (SoCs) are becoming more and more popular, the platform core has been introduced. Within this framework, the three most important data structures are as follows: the one representing the platform device, another representing its resource, and the final data structure, representing the platform driver.
A platform device is represented in the kernel as an instance of struct platform_device
, defined in <linux/platform_device.h>
as follows:
struct platform_device { const char *name; u32 id; struct device dev; u32 ...