zephyr/include
Peter Bigot 14e2ca4f16 sys: onoff: redesign to meet changed needs
The previous architecture proved unable to support user expectations,
so the API has been rebuilt from first principles.  Backward
compatibility cannot be maintained for this change.

Key changes include:

* Formerly the service-provided transition functions were allowed to
  sleep, and the manager took care to not invoke them from ISR
  context, instead returning an error if unable to initiate a
  transition.  In the new architecture transition functions are
  required to work regardless of calling context: it is the service's
  responsibility to guarantee the transition will proceed even if it
  needs to be transferred to a thread.  This eliminates state machine
  complexities related to calling context.
* Constants identifying the visible state of the manager are exposed
  to clients through both notification callbacks and a new monitor API
  that allows clients to be notified of all state changes.
* Formerly the release operation was async, and would be delayed for the
  last release to ensure a client would exist to be notified of any
  failures.  It is now synchronous.
* Formerly the cancel operation would fail on the last client associated
  with a transition.  The cancel operation is now synchronous.
* A helper function is provided to safely synchronously release a
  request regardless of whether it has completed or is in progress,
  satisfying the use case underlying #22974.
* The user-data parameter to asynchronous notification callbacks has
  been removed as user data can be retrieved from the CONTAINER_OF
  the client data.

Signed-off-by: Peter Bigot <peter.bigot@nordicsemi.no>
2020-04-22 16:52:47 +02:00
..
app_memory
arch kernel: add Z_STACK_PTR_ALIGN ARCH_STACK_PTR_ALIGN 2020-04-21 18:45:45 -04:00
audio
bluetooth Bluetooth: host: Add support for multiple advertising set 2020-04-21 12:46:05 +03:00
canbus
cmsis_rtos_v1
cmsis_rtos_v2
console
crypto
data
debug
devicetree devicetree.h: clocks: Rename clock node name 2020-04-21 15:39:36 -05:00
dfu
disk
display
drivers Bluetooth: HCI: Add helpers to create events 2020-04-20 21:59:47 +03:00
dt-bindings include: bindings: dma define the bindings for stm32 soc series 2020-04-17 03:13:02 -05:00
fs fs: littlefs: force alignment for buffers 2020-04-11 15:33:35 -04:00
linker shell: Add dedicated section for shell instances 2020-04-17 11:34:01 +02:00
logging logging: Fix LOG_LEVEL_SET macro 2020-03-26 08:04:02 -04:00
mgmt mgmt: smp: add UDP transport for SMP 2020-04-17 10:16:25 +03:00
net net: http_client: Fix payload issue on HTTP upload 2020-04-21 00:05:04 +03:00
posix lib: posix: clock: Turn clock_gettime into system call 2020-04-17 08:08:37 -04:00
power
random
settings
shell shell: Add shell_set_root_cmd function 2020-04-17 11:34:01 +02:00
stats
storage
sys sys: onoff: redesign to meet changed needs 2020-04-22 16:52:47 +02:00
toolchain toolchain: Fix warning about too few arguments on BUILD_ASSERT() 2020-04-11 11:09:20 -04:00
tracing
usb
zephyr
cache.h
device.h device: Provide a dummy macro for device_pm_control_nop on disabled PM 2020-03-27 14:48:30 +02:00
devicetree.h devicetree: add DT_PARENT() 2020-04-15 08:27:18 -05:00
exc_handle.h
fatal.h
generated_dts_board.h
init.h kernel: add sys init level for SMP 2020-03-25 19:07:28 -04:00
irq_nextlevel.h
irq_offload.h
irq.h irq: Remove return value from IRQ_CONNECT and IRQ_DIRECT_CONNECT 2020-04-17 13:19:07 -05:00
kernel_includes.h kernel: move thread stack macros to new header 2020-04-21 18:45:45 -04:00
kernel_structs.h kernel: Add k_heap synchronized memory allocator 2020-04-14 10:05:55 -07:00
kernel_version.h
kernel.h kernel: move thread stack macros to new header 2020-04-21 18:45:45 -04:00
mempool_heap.h kernel: Add k_mem_pool compatibility layer on top of k_heap 2020-04-14 10:05:55 -07:00
mempool_sys.h kernel: Refactor k_mem_pool APIs into a base and derived level 2020-04-14 10:05:55 -07:00
ptp_clock.h
sched_priq.h
shared_irq.h
spinlock.h kernel: Add k_heap synchronized memory allocator 2020-04-14 10:05:55 -07:00
sw_isr_table.h sw_isr_table.h: fix __COUNTER__ usage 2020-04-17 18:28:37 +02:00
sys_clock.h include: Move waitq and timeout structs to kernel_structs.h 2020-04-14 10:05:55 -07:00
syscall_handler.h
syscall.h
timeout_q.h kernel/timeout: Add timeout remaining/expires APIs 2020-03-31 19:40:47 -04:00
toolchain.h
wait_q.h
zephyr.h