zephyr/kernel/nanokernel
Jithu Joseph 592882e5f4 power_mgmt: APIs for devices to signal busy
Certain Low power SOC states (e.g. deep sleep)  will result in device
IP blocks losing state. In such a scenario it can be useful to have
a mechanism for devices (driver code) to signal the power manager /
policy that they are in the middle of a transaction.

We expect the device driver code to make a call to
device_busy_set(device *) before initiating a transaction and
device_busy_clear(device *) on completion. It is expected that device
driver developers will add this as necessary in their drivers.

Further an API is provided  for power manager application / policy to
check this. Based on this the power manager / policy can  decide
whether or not to go into a particular power state.

Change-Id: I0fedd90b98e182cd41b53c7f9e08655532822faa
Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
2016-04-23 02:14:21 +00:00
..
include power_mgmt: APIs for devices to signal busy 2016-04-23 02:14:21 +00:00
compiler_stack_protect.c remove redundant checking for CONFIG_STACK_CANARIES 2016-02-11 18:48:45 +00:00
device.c power_mgmt: APIs for devices to signal busy 2016-04-23 02:14:21 +00:00
event_logger.c nano_sema: Simplify nano_xxx_sem_take() API family 2016-02-05 20:25:14 -05:00
idle.c kernel: Combine nano_timers and nano_timeouts 2016-03-26 09:20:10 +00:00
int_latency_bench.c x86: streamline irq_lock()/irq_unlock() 2016-02-05 20:25:13 -05:00
Kconfig kernel: fix boot banner option 2016-03-14 16:50:50 -04:00
kernel_event_logger.c init: use SYS_INIT() where it makes sense 2016-02-05 20:25:25 -05:00
Makefile power_mgmt: Make names consistent with new RFC 2016-03-26 14:35:11 -04:00
nano_context.c arm: Enable support for sys_thread_busy_wait() 2016-02-11 14:13:05 +00:00
nano_fiber.c nanokernel: Change fiber_start() return type 2016-02-23 10:48:54 -05:00
nano_fifo.c nano_fifo: Fix problem with nano_fifo and timeouts 2016-04-12 01:22:42 +00:00
nano_init.c kernel: Combine nano_timers and nano_timeouts 2016-03-26 09:20:10 +00:00
nano_lifo.c debug: kernel's object tracing api 2016-03-11 12:00:07 +00:00
nano_sema.c debug: kernel's object tracing api 2016-03-11 12:00:07 +00:00
nano_sleep.c microkernel: Add support for *_sleep() during initialization 2016-03-26 10:17:15 +00:00
nano_stack.c debug: adds object tracing capability to nano stack 2016-03-11 22:12:26 +00:00
nano_sys_clock.c kernel: Combine nano_timers and nano_timeouts 2016-03-26 09:20:10 +00:00
nano_timer.c kernel: Combine nano_timers and nano_timeouts 2016-03-26 09:20:10 +00:00
ring_buffer.c checkpatch: error - spacing 2016-02-05 20:24:31 -05:00
version.c Change BSD-3 licenses to Apache 2 2016-02-05 20:24:29 -05:00