zephyr/kernel/include
Krzysztof Chruściński 25173f71cd pm: device_runtime: Extend with synchronous runtime PM
In many cases suspending or resuming of a device is limited to
just a few register writes. Current solution assumes that those
operations may be blocking, asynchronous and take a lot of time.
Due to this assumption runtime PM API cannot be effectively used
from the interrupt context. Zephyr has few driver APIs which
can be used from an interrupt context and now use of runtime PM
is limited in those cases.

Patch introduces a new type of PM device - synchronous PM. If
device is specified as capable of synchronous PM operations then
device runtime getting and putting is executed in the critical
section. In that case, runtime API can be used from an interrupt
context. Additionally, this approach reduces RAM needed for
PM device (104 -> 20 bytes of RAM on ARM Cortex-M).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-02-01 15:03:42 +01:00
..
gen_offset.h
kernel_arch_interface.h doc: fixed already renamed _Cstart to z_cstart 2023-11-30 21:01:47 -05:00
kernel_internal.h kernel: move z_init_cpu to private kernel headers 2024-01-17 11:57:20 -05:00
kernel_offsets.h pm: device_runtime: Extend with synchronous runtime PM 2024-02-01 15:03:42 +01:00
kernel_tls.h
ksched.h kernel: move z_is_thread_essential out of public kernel header 2023-09-30 18:43:28 +02:00
kswap.h kernel: Introduce a way to specify minimum system heap size 2023-12-20 11:01:42 +01:00
mmu.h kernel: mmu: mitigate range check overflow issue 2023-12-20 11:37:17 -05:00
offsets_short.h kernel: Remove unused derived offset symbols 2023-02-22 16:01:32 +01:00
timeout_q.h kernel: move timeout_q.h to kernel/include 2023-09-12 12:55:36 -04:00
wait_q.h kernel: move sched_priq.h to internal/ folder 2023-09-30 18:43:28 +02:00