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 license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
app_smem_unaligned.ld license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
app_smem.ld license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
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 linker: cxx: Include .gcc_except_table sections 2019-09-19 09:26:42 -05:00
cplusplus-rom.ld linker: cxx: Include .gcc_except_table sections 2019-09-19 09:26:42 -05:00
debug-sections.ld license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
intlist.ld
kobject-rom.ld
kobject-text.ld linker: kobject-text.ld: avoid backwards location counter 2019-05-23 06:59:14 -04:00
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 arch: arm64: Support aarch64-gcc compiler 2020-02-01 08:08:43 -05:00
linker-tool.h
rel-sections.ld license: cleanup: add SPDX Apache-2.0 license identifier 2019-04-07 08:45:22 -04:00
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