zephyr/kernel/microkernel
Ramesh Thomas c4c0ed414b power_mgmt: Reduce complexity in handling of power hooks
Simplified some documentation, removing inconsistencies and making
it easier to understand by separating PM infrastructure areas and
soc specific components that implement the hooks.

Removed the DEVICE_SUSPEND_ONLY policy as it is redundant and
causes high complexity in the flow. It is also not practical
to use it because it was meant to be used without doing CPU or SOC
low power state operations. This means it would do device PM
operations in the ISR of the system timer used by the scheduler.
This can disrupt the scheduler time.

Added a check of a flag around the notification sent from the ISR
of the wake event and created APIs to set/clear it. This will
allow disabling the notification when not needed from
_sys_soc_suspend().

Jira: ZEP-972
Change-Id: Id7aa7d2683384eabed518d4efac446ecc84c3498
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>
2016-10-05 10:05:42 +00:00
..
include kernel: Cosmetic cleanups to memory pool code 2016-07-08 23:04:40 +00:00
Kconfig microkernel: remove deprecated task IRQs 2016-09-06 16:15:59 +00:00
Makefile microkernel: remove deprecated task IRQs 2016-09-06 16:15:59 +00:00
k_command_packet.c kernel: catch overflowing kserver stack with asserts 2016-05-18 22:06:39 +00:00
k_event.c kernel: catch overflowing kserver stack with asserts 2016-05-18 22:06:39 +00:00
k_fifo.c fifo: Simplify task_fifo_get() API family 2016-02-05 20:25:06 -05:00
k_idle.c power_mgmt: Reduce complexity in handling of power hooks 2016-10-05 10:05:42 +00:00
k_init.c tracing: _k_command_stack is explicitly not tracked. 2016-06-16 16:30:46 +00:00
k_mailbox.c mem_pool: Simplify task_mem_pool_alloc() API family 2016-02-05 20:25:05 -05:00
k_memory_map.c mem_map: Simplify task_mem_map_alloc() API family 2016-02-05 20:25:05 -05:00
k_memory_pool.c kernel: Remove unneeded ASSERT from memory pool subsystem 2016-07-26 04:53:07 +00:00
k_move_data.c
k_mutex.c mutex: Simplify task_mutex_lock() API family 2016-02-05 20:25:05 -05:00
k_nano.c microkernel: [un]block tasks on nanokernel objects infrastructure 2016-05-04 22:51:33 +00:00
k_nop.c microkernel: Fibers and ISRs may invoke microkernel no-op 2016-05-04 22:51:35 +00:00
k_offload.c
k_pipe.c pipes: Simplify task_pipe_get() API family 2016-02-05 20:25:05 -05:00
k_pipe_buffer.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_pipe_get.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_pipe_put.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_pipe_util.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_pipe_xfer.c pipe, cosmetic: Put constant in comparisons on the right 2016-02-05 20:25:05 -05:00
k_semaphore.c kernel: catch overflowing kserver stack with asserts 2016-05-18 22:06:39 +00:00
k_server.c microkernel: use _thread_essential_set() 2016-05-03 17:42:54 +00:00
k_task.c microkernel: lock interrupts in _k_state_bit_[re]set() 2016-05-04 22:51:35 +00:00
k_task_monitor.c kernel event logger: add possibility to use custom timestamp 2016-05-23 21:27:49 +00:00
k_ticker.c microkernel: Add support for *_sleep() during initialization 2016-03-26 10:17:15 +00:00
k_timer.c kernel: add _IS_IDLE_TASK() 2016-05-11 20:22:24 +00:00