On Tue, 3 Apr 2007 16:03:14 +0200, Arnd Bergmann <arnd@xxxxxxxx> 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. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization