![]() | |||||||||||||
Messages in this thread |
On 4 Jan 2003, Benjamin Herrenschmidt wrote: > > The "easy" way here to implement that is to make the irq_desc array larger than > NR_IRQs (or rather split NR_IRQs into NR_SYS_IRQS + NR_DYNAMIC_IRQS). The > additional "slots" could then easily be allocated/freed. Thus, keeping my > cardbus example, the cardbus driver can allocate a couple of slots (that is IRQ > numbers) dynamically, and use it's own startup/shutdown/enable/disable/... > hooks for them, dealing itself with the cascade from the PCI irq. Linearizing a space like this is always a bad idea, I think. It would be entirely possible to just add the irq routing information to the "struct device" tree, and have a "dev_request_irq(dev, ...)", along with a few helper functions like "pci_request_irq(pci_dev, ...)". And the old "request_irq()" would just use the system root device as the device. Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-03-22 12:32 [from the cache] ©2003-2008 | |||||||||||||