zephyr/include/linker
Tomasz Bursztyka 8d7bb8ffd8 device: Refactor device structures
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>
2020-05-08 23:07:44 +02:00
..
app_smem_aligned.ld
app_smem_unaligned.ld
app_smem.ld
common-ram.ld device: Refactor device structures 2020-05-08 23:07:44 +02:00
common-rom.ld device: Refactor device structures 2020-05-08 23:07:44 +02:00
cplusplus-ram.ld
cplusplus-rom.ld
debug-sections.ld
intlist.ld
kobject-rom.ld
kobject-text.ld
kobject.ld kernel: delete separate logic for priv stacks 2020-03-17 20:11:27 +02:00
linker-defs.h device: Refactor device structures 2020-05-08 23:07:44 +02:00
linker-tool-gcc.h
linker-tool.h
rel-sections.ld
section_tags.h linker: Clean up section name definitions 2020-04-30 13:42:36 -04:00
sections.h linker: Clean up section name definitions 2020-04-30 13:42:36 -04:00