Myles Watson wrote:
Drivers and objects seem interchangeable to me except that drivers get registered and checked against devices that are found during enumeration, that weren't mentioned in devicetree.cb. Either one seems to get linked into the correct place if the device is mentioned in the device tree.
Are there other differences? Should I2C devices use objects, since you can't scan for them?
Some structures defined in the code are put in an extra section in the binary for enumeration. Those are:
#define __console __attribute__((used, __section__ (".rodata.console_drivers"))) #define __cpu_driver __attribute__ ((used,__section__(".rodata.cpu_driver"))) #define __pci_driver __attribute__ ((used,__section__(".rodata.pci_driver")))
All others don't need to be "drivers"
Stefan