zephyr/doc/kernel/microkernel
Andrew Boie 583126adf9 microkernel: remove task_irq_free() API
This is being removed for a few reasons:

- AFAICT this is the only API in Zephyr that follows an allocate/free
model.

- There are no public APIs in the interrupt subsystem for releasing
or reconfiguring an interrupt. This code was relying on arch-specific
private APIs. If we really want to keep this capability we should
make these APIs public and consistent across arches.

- The use-case for this API is not clear, as Zephyr is not intended
for hot-pluggable peripherals. Built-in hardware tends to need its
interrupt for its entire life cycle.

- The current implementation of dynamic interrupts on x86 does not
support freeing a dynamic IRQ that was reserved with
irq_connect_dynamic(), causing this code not to work. To add this
would require reimplementing _get_dynamic_stub() to use a bitfield
or set of bitfields to track unused stubs rather than the simple
counter it uses now.

Change-Id: I7a03c134fb3498b91a1816318a88b293e26b846c
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-02-05 20:25:21 -05:00
..
microkernel_data.rst
microkernel_events.rst
microkernel_fibers.rst
microkernel_fifos.rst fifo: Simplify task_fifo_get() API family 2016-02-05 20:25:06 -05:00
microkernel_mailboxes.rst mem_pool: Simplify task_mem_pool_alloc() API family 2016-02-05 20:25:05 -05:00
microkernel_memory_maps.rst mem_map: Simplify task_mem_map_alloc() API family 2016-02-05 20:25:05 -05:00
microkernel_memory_pools.rst mem_pool: Simplify task_mem_pool_alloc() API family 2016-02-05 20:25:05 -05:00
microkernel_memory.rst
microkernel_mutexes.rst mutex: Simplify task_mutex_lock() API family 2016-02-05 20:25:05 -05:00
microkernel_pipes.rst pipes: Simplify task_pipe_get() API family 2016-02-05 20:25:05 -05:00
microkernel_semaphores.rst semgroup: Simplify task_sem_group_take() API family 2016-02-05 20:25:05 -05:00
microkernel_synchronization.rst
microkernel_task_irqs.rst microkernel: remove task_irq_free() API 2016-02-05 20:25:21 -05:00
microkernel_tasks.rst
microkernel_timers.rst semaphore: Simplify task_sem_take() API family 2016-02-05 20:25:05 -05:00
microkernel.rst