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> |
||
|---|---|---|
| .. | ||
| microkernel_data.rst | ||
| microkernel_events.rst | ||
| microkernel_fibers.rst | ||
| microkernel_fifos.rst | ||
| microkernel_mailboxes.rst | ||
| microkernel_memory_maps.rst | ||
| microkernel_memory_pools.rst | ||
| microkernel_memory.rst | ||
| microkernel_mutexes.rst | ||
| microkernel_pipes.rst | ||
| microkernel_semaphores.rst | ||
| microkernel_synchronization.rst | ||
| microkernel_task_irqs.rst | ||
| microkernel_tasks.rst | ||
| microkernel_timers.rst | ||
| microkernel.rst | ||