mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-24 20:55:21 +00:00
Initialize all device objects in a batch before invoking any code that might try to reference data in them. This eliminates a race condition enabled by the ability to resolve a device structure at build time, and reference it from one device's initialization routine before the device itself has been initialized. While the device is pulled from the sys_init records rather than static devices, all in-tree init_entry records that are associated with devices are produced via Z_DEVICE_DEFINE(), so there should be no static devices that would be missed by instead iterating over the device records. Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no> |
||
---|---|---|
.. | ||
include | ||
atomic_c.c | ||
banner.c | ||
cache_handlers.c | ||
CMakeLists.txt | ||
compiler_stack_protect.c | ||
condvar.c | ||
device.c | ||
errno.c | ||
fatal.c | ||
futex.c | ||
idle.c | ||
init.c | ||
Kconfig | ||
kheap.c | ||
mailbox.c | ||
mem_domain.c | ||
mem_slab.c | ||
mempool.c | ||
mmu.c | ||
msg_q.c | ||
mutex.c | ||
pipes.c | ||
poll.c | ||
queue.c | ||
sched.c | ||
sem.c | ||
smp.c | ||
stack.c | ||
system_work_q.c | ||
thread_abort.c | ||
thread.c | ||
timeout.c | ||
timer.c | ||
userspace_handler.c | ||
userspace.c | ||
version.c | ||
work_q.c | ||
xip.c |