mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-26 01:55:57 +00:00
When the device driver model got introduced, there were no concept of SYS_INIT() which can be seen as software service. These were introduced afterwards and reusing the device infrastructure for simplicity. However, it meant to allocate a bit too much for something that only required an initialization function to be called at right time. Thus refactoring the devices structures relevantly: - introducing struct init_entry which is a generic init end-point - struct deviceconfig is removed and struct device owns everything now. - SYS_INIT() generates only a struct init_entry via calling INIT_ENTRY_DEFINE() - DEVICE_AND_API_INIT() generates a struct device and calls INIT_ENTRY_DEFINE() - init objects sections are in ROM - device objects sections are in RAM (but will end up in ROM once they will be 'constified') It also generate a tiny memory gain on both ROM and RAM, which is nice. Perhaps kernel/device.c could be renamed to something more relevant. Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com> |
||
---|---|---|
.. | ||
app_smem_aligned.ld | ||
app_smem_unaligned.ld | ||
app_smem.ld | ||
common-ram.ld | ||
common-rom.ld | ||
cplusplus-ram.ld | ||
cplusplus-rom.ld | ||
debug-sections.ld | ||
intlist.ld | ||
kobject-rom.ld | ||
kobject-text.ld | ||
kobject.ld | ||
linker-defs.h | ||
linker-tool-gcc.h | ||
linker-tool.h | ||
rel-sections.ld | ||
section_tags.h | ||
sections.h |