zephyr/include
Benjamin Walsh d8994f69be nanokernel: add nano_fifo_put_list() APIs
Introduce the family of nano_fifo_put_list and nano_fifo_put_slist APIs,
which allow queuing a list of elements on a nanokernel fifo in one
shot. When called from an ISR or a fiber, the behaviour is not really
different than calling nano_fifo_put for each element to enqueue.
However, when called from a task, it allows the task to enqueue the full
list without yielding to fibers that were waiting on the fifo.

All fibers currently waiting on the fifo will be awakened and given an
element from the list in their order of priority. When some elements are
not matched with a receiver, they are queued normally.

There are two ways of passing a list: with either an ad-hoc queue, by
passing the head and the tail elements, or with a sys_slist_t object.
For the latter, the object must be reinitialized afterwards.

Change-Id: I6ac077f556dc39995191e9149c4a047a3433826f
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
2016-06-13 20:24:41 +00:00
..
arch nios2: set up common linker script for XIP and non-XIP 2016-06-10 15:22:41 +00:00
bluetooth Bluetooth: L2CAP: Refactor l2cap core types 2016-06-13 11:49:07 +00:00
display drivers: Replace DEV_OK by 0 2016-03-16 19:30:04 -04:00
drivers console: Add support for commands completion 2016-05-26 12:02:51 +00:00
microkernel headers: use __deprecated 2016-04-15 22:07:57 +00:00
misc nano_work: Add delayed version 2016-05-31 22:52:51 +00:00
net net: buf: Introduce support for fragmentation 2016-06-06 08:17:24 +03:00
toolchain toolchain: common.h: define PERFOPT_ALIGN for Nios2 2016-05-03 23:18:47 +00:00
adc.h drivers: Replace DEV_OK by 0 2016-03-16 19:30:04 -04:00
aio_comparator.h
atomic.h
cache.h
clock_control.h clock_control: extend API with clock rate query operation 2016-03-16 18:09:32 +00:00
counter.h doc: counter should be under device driver 2016-04-15 18:42:17 +00:00
device.h device: add documentation for device_get_binding 2016-05-12 10:57:27 +00:00
flash.h flash: update API documentation 2016-05-25 13:30:41 +00:00
gpio.h gpio: fix typo in function documentation 2016-05-01 16:21:52 -04:00
i2c.h i2c: change i2c_reg_update_byte parameter order 2016-04-26 11:06:50 +00:00
init.h power_mgmt: Add device power management support 2016-03-26 14:35:11 -04:00
ipm.h ipm: correct prototype for ipm_send 2016-03-09 06:31:02 +00:00
irq.h headers: use __deprecated 2016-04-15 22:07:57 +00:00
irq_offload.h
kernel_version.h
linker-defs.h nios2: basic build, non-functional 2016-05-03 23:18:45 +00:00
linker-tool-gcc.h nios2: basic build, non-functional 2016-05-03 23:18:45 +00:00
linker-tool.h
microkernel.h
nanokernel.h nanokernel: add nano_fifo_put_list() APIs 2016-06-13 20:24:41 +00:00
pinmux.h pinmux: fix naming inconsistency 2016-05-28 10:45:43 -04:00
power.h doc: power_mgmt: Added Power Management documentation 2016-04-27 00:57:53 +00:00
pwm.h doc: pwm: remove extra function param from comment 2016-04-15 22:06:41 +00:00
rtc.h
section_tags.h
sections.h
sensor.h sensor: Add altitude channel 2016-05-18 12:02:39 +00:00
shared_irq.h
spi.h drivers: Fix documentation from remaining APIs 2016-03-16 19:30:04 -04:00
sw_isr_table.h
sys_clock.h sys_clock: Add a helper to compute micro seconds 2016-04-07 16:51:07 +00:00
sys_io.h sys_io: don't allow negative bit offsets 2016-03-04 16:26:21 +00:00
toolchain.h
uart.h serial/uart.h: no need to check driver_api being NULL 2016-04-12 19:30:35 +08:00
watchdog.h
zephyr.h