It looks like you might possibly be iterating to something usable.
Breaking architectures is not acceptable however.
My suggestion for a non-breaking path:
- Kill NR_IRQS in then generic code.
With Alan's serial patch and my kstat patch it looks like we have
the worst of that.
- Introduce get_irq_desc and the functions or function modifications
that pass a struct irq_desc * into the genirq code.
Although I absolutely hate the name get_irq_desc as it implies we are
reference counting something and need a corresponding put_irq_desc.
Since the lifetime rules don't require that. Please just call the
function irq_desc().
- Update arch/x86 to do everything interesting with irq_desc pointers.
- Start dynamically allocating irq_desc and irq_cfg.
Eric
--