Attached is the patch and description that represents a current work-in-progress, removal of the 'irq' argument passed to all driver IRQ handlers. As this patch demonstrates, the 'irq' argument is useless and practically unused. The vast majority of drivers have this information elsewhere (struct pci_dev or private struct). The cases where it is actually used are as follows: * a couple Mac drivers have multiple IRQs, and use the irq argument for disambiguation purposes. This can easily be remedied by moving that information into the info passed in the normal void* pointer. * Several ancient ISA drivers, which mainly use it for printk-in-irq-handler purposes. A couple use the irq argument as an index into a structure, which is a buggy approach. I fixed up these. This can be found in the 'hacking-irq-remove' branch of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6.git Before I will even consider submitting this upstream, this patchset needs * non-x86[-64] build fixes, and testing * update the Mac drivers * one more review pass, to make sure everything is kosher so IOW, not anytime soon :)