zephyr/kernel
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
..
configs kconfig: use zephyr as the binary name globally 2016-02-05 20:24:22 -05:00
microkernel microkernel: remove task_irq_free() API 2016-02-05 20:25:21 -05:00
nanokernel nano_timers: Simplify nano_xxx_timer_test() API family 2016-02-05 20:25:15 -05:00
Kconfig idle: add infrastructure for tickless support in nanokernels 2016-02-05 20:25:13 -05:00
Makefile Kbuild: adapt Makefile/Kconfig to kernel/common/ removal 2016-02-05 20:14:06 -05:00