zephyr/include
Gerard Marull-Paretas e2f33dd97c pm: optimize resource usage
It is well known that PM subsystem has never been optimized in terms of
resource usage. The situation is particularly bad in case the PM runtime
API is enabled. What this patch does is to move the responsability of PM
resource definition to the device like this:

- Device is responsible to define PM resources, using a new set of
  macros: PM_DEVICE_*DEFINE().
- DEVICE_*DEFINE macro accepts a reference to the device PM state, which
  can be obtained using PM_DEVICE_*REF() set of macros. This
  allows device to initialize the dev->pm reference.

This method decouples a bit more PM from devices since devices just keep
a reference to the device PM state. It also means that future PM changes
will have less chances to impact all devices, but only devices that
support PM.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-11-19 10:11:32 +01:00
..
app_memory
arch pm: Remove unused parameter 2021-11-17 11:15:49 -05:00
audio
bluetooth Bluetooth: host: Add handling of failures in per sync established evt 2021-11-18 17:12:22 +02:00
canbus canbus: isotp: fix net_buf usage in recv function 2021-11-09 18:12:08 +02:00
console doc: Fix a few typos in docs/comments/messages 2021-09-03 06:06:59 -04:00
crypto
data json: Added element descriptor macro and C++ support progress 2021-10-29 06:05:17 -04:00
debug
devicetree drivers: can: remove DT_CHOSEN_ZEPHYR_CANBUS_LABEL macro 2021-11-09 11:19:50 +01:00
dfu dfu: boot: Add implementation for multi-image swap type check 2021-08-26 09:13:13 -04:00
disk
display toolchain: migrate iterable sections calls to the external API 2021-08-12 17:47:04 -04:00
drivers include/spi: Clarify spi_release() function behavior 2021-11-18 19:13:49 -05:00
dt-bindings soc: it8xxx2: add support for eSPI driver 2021-11-12 14:51:10 +01:00
fs fs: Document return values to VFS API calls 2021-11-09 16:04:34 -06:00
ipc ipc_service: mi: Convert to device driver 2021-11-04 18:03:16 +01:00
kernel kernel: Swap RUNTIME_STATS implementation 2021-11-08 21:32:20 -05:00
linker cmake: rework linker script generation and linker prebuilt stages 2021-11-16 10:41:59 +01:00
logging comments: minor typo fixes 2021-10-05 07:18:13 -04:00
lorawan
mgmt mgmt: mcumgr: Make SMP service notification function public 2021-11-03 16:36:17 -04:00
modbus
multi_heap multi_heap: Introduce shared multi-heap memory pool manager 2021-10-12 07:44:46 -04:00
net net: coap: add response code 4.29 2021-11-15 10:14:42 -05:00
pm pm: optimize resource usage 2021-11-19 10:11:32 +01:00
portability cmsis_rtos_v1: fix thread instances management. 2021-09-09 12:01:06 -04:00
posix posix: semaphore: use ZRESTRICT 2021-11-05 13:29:31 +01:00
power
random
settings toolchain: migrate iterable sections calls to the external API 2021-08-12 17:47:04 -04:00
shell shell: do not alias atomic_t 2021-11-17 12:25:10 +01:00
stats pm: Use stats subsys for tracking system states 2021-10-17 10:56:21 -04:00
storage storage/flash_map: Add FLASH_AREA_DEVICE macro 2021-11-06 21:37:47 -04:00
sys kernel: atomics: support for 64-bit atomic operations 2021-11-15 09:59:01 -05:00
task_wdt task_wdt: fix silent init failures 2021-10-01 15:21:32 +02:00
timing
toolchain toolchain/xcc: Mark unsigned max as unsigned values for missing cases 2021-11-11 07:27:24 -05:00
tracing Revert "Tracing: Added missing k_thread_heap_assign trace hook" 2021-11-17 10:17:43 -05:00
usb usb: Add API for getting status of remote wakeup 2021-11-09 13:50:03 +01:00
xen xenvm: drivers: serial: Implement serial interface to Xen PV console 2021-10-29 15:23:33 +02:00
zephyr
cache.h
device.h pm: optimize resource usage 2021-11-19 10:11:32 +01:00
devicetree.h devicetree: add instance based macros for DT_ENUM_IDX(_OR) 2021-11-18 19:12:07 -05:00
ec_host_cmd.h
emul.h
exc_handle.h
fatal.h
init.h
irq_nextlevel.h
irq_offload.h
irq.h
kernel_includes.h
kernel_structs.h kernel/sched: Separate idle from app thread stats in THREAD_USAGE 2021-11-08 21:32:20 -05:00
kernel_version.h
kernel.h Revert "Tracing: Tracing/Kernel dependency issue fix" 2021-11-17 10:17:43 -05:00
ptp_clock.h
shared_irq.h
smf.h lib: smf: Add State Machine Framework 2021-10-04 20:33:11 -04:00
spinlock.h
sw_isr_table.h
sys_clock.h
syscall_handler.h
syscall.h kernel: syscall: pin generated inline functions 2021-08-26 21:16:22 -04:00
timeout_q.h
toolchain.h armclang: adding toolchain/armclang.h header 2021-08-30 08:54:23 -04:00
wait_q.h
zephyr.h