zephyr/kernel
Piotr Zięcik c45961daae power: Rework OS <-> Application interface
This commit simplifies OS <-> Application interface controlling power
management. In the previous approach application-based PM required
overriding sys_suspend() and sys_resume() functions. As these functions
actually implemented power state change, in such case application
basically had to provide own implementation of all PM-related stuff,
which was not portable and hard to maintain.

This commit changes this scheme: The sys_suspend() and sys_resume()
are now system functions while the application could either use
built-in power management policies or provide its own. All details
of power mode switching are now handled by the OS.

Also, this commit cleans up the Kconfig options related to system-level
power management grouping them under common CONFIG_SYS_PM_ prefix.

Signed-off-by: Piotr Zięcik <piotr.ziecik@nordicsemi.no>
2019-02-19 13:25:36 -05:00
..
include x86: implement interrupt stack trampoline 2019-02-14 12:46:36 -05:00
CMakeLists.txt cmake: Use variables for target names 2019-01-19 07:21:55 -05:00
Kconfig kernel: minor syntax fix in Kconfig 2019-02-12 08:29:33 -06:00
Kconfig.power_mgmt power: Rework OS <-> Application interface 2019-02-19 13:25:36 -05:00
atomic_c.c kernel/atomic_c: Spinlockify 2019-02-08 14:49:39 -05:00
compiler_stack_protect.c
device.c kernel: check retval of driver init 2018-12-07 19:33:23 -05:00
errno.c
idle.c power: Fix naming of Kconfig options controlling deep sleep states 2019-02-12 07:46:32 -05:00
init.c kernel: Add _unlocked() variant to context switch primitives 2019-02-08 14:49:39 -05:00
int_latency_bench.c kernel: Make statements evaluate boolean expressions 2019-01-07 08:52:07 -05:00
mailbox.c kernel/mbox: Spinlockify 2019-02-08 14:49:39 -05:00
mem_domain.c kernel/mem_domain: Spinlockify 2019-02-08 14:49:39 -05:00
mem_slab.c kernel/mem_slab: Spinlockify 2019-02-08 14:49:39 -05:00
mempool.c kernel/mempool: Spinlockify 2019-02-08 14:49:39 -05:00
msg_q.c kernel/msg_q: Spinlockify 2019-02-08 14:49:39 -05:00
mutex.c kernel/mutex: Spinlockify 2019-02-08 14:49:39 -05:00
pipes.c include: misc: util.h: Rename min/max to MIN/MAX 2019-02-14 22:16:03 -05:00
poll.c kernel/poll: Spinlockify 2019-02-08 14:49:39 -05:00
queue.c kernel/queue: Spinlockify 2019-02-08 14:49:39 -05:00
sched.c kernel/sched: _thread_priority_set needs to be sched_lock aware 2019-02-08 14:49:39 -05:00
sem.c kernel/k_sem: Spinlockify 2019-02-08 14:49:39 -05:00
smp.c kernel: Add _unlocked() variant to context switch primitives 2019-02-08 14:49:39 -05:00
stack.c kernel/stack: Spinlockify 2019-02-08 14:49:39 -05:00
system_work_q.c kernel: system_work_q: Set dedicated "sysworkq" name. 2018-10-19 07:58:45 -04:00
thread.c kernel/thread: Spinlockify 2019-02-08 14:49:39 -05:00
thread_abort.c kernel/thread_abort: Remove needless locking 2019-02-08 14:49:39 -05:00
timeout.c include: misc: util.h: Rename min/max to MIN/MAX 2019-02-14 22:16:03 -05:00
timer.c kernel/timer: Spinlockify 2019-02-08 14:49:39 -05:00
userspace.c kernel/userspace: Spinlockification 2019-02-08 14:49:39 -05:00
userspace_handler.c kernel: Make statements evaluate boolean expressions 2019-01-07 08:52:07 -05:00
version.c doc: add kernel version API to doxygen 2018-12-08 17:24:53 -05:00
work_q.c kernel/work_q: Fix block-in-spinlock bug 2019-02-14 19:45:20 -05:00