This problem has been known for a year or so ... PCMCIA needs shared fast and
slow interrupts.
A solution is available by reworking the existing fast/slow irq handlers, e.g.:
1. Walk the interrupt list for the signalled irq for FAST interrupts (irqs disabled)
2. enable irqs
3. if slow_irq_flag is set return (as for current fast irqs)
4. set a slow_irq_flag
5. walk the interrupt list for slow irqs
6. clear the slow_interrupt_flag
7. return (via signal handler code as for normal slow interrupts)
My questions on your proposal are:
> Get a list of all available PCI IRQ's, assign the first one
How to differentiate between ISA and PCI interrupts?
> The pci_set_*_irq call should be called in all drivers, just
> before the call of pcibios_read_config_byte() for the irq.
How will you figure out the mapping from the INT lines to the interrupt
controller IC inputs?
Regards,
Dave