On Tue, 3 Apr 2007 16:03:14 +0200, Arnd Bergmann <[EMAIL PROTECTED]> wrote:
> > > struct virt_dev { > > > struct device dev; > > > struct virt_driver *driver; > > > struct virt_bus *bus; > > > struct pci_device_id id; > > > int irq; > > > }; > > > > And that's where I have problems :) The notion of "irq" is far too > > platform specific. I can bend my mind round using PCI-like ids for > > non-PCI virtualized devices, but an integer is far too small and to > > specific for a way to access the device. > > Sorry, I've been working too long on the lesser architectures. > IRQ number are evil indeed. > However, I'm pretty sure that we need _some_ abstraction of an > interrupt mechanism here. The easiest way is probably to have a > callback function like > int (*irq_handler)(struct virt_dev*, unsigned long message); > in the virt_dev. Yes, something like int (*handler) (struct virt_dev *, struct virt_interrupt_info *); should cover the needed cases. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/