Messages in this thread Patch in this message | | | Date | Fri, 22 Mar 2013 09:37:50 +0000 | From | Andrew Murray <> | Subject | Re: [RFC 1/2] PCI: Introduce new MSI chip infrastructure |
| |
On Fri, Mar 22, 2013 at 08:51:46AM +0000, Thierry Reding wrote: > index ce93a34..ea4a5be 100644 > --- a/include/linux/msi.h > +++ b/include/linux/msi.h > @@ -58,5 +58,15 @@ extern int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); > extern void arch_teardown_msi_irqs(struct pci_dev *dev); > extern int arch_msi_check_device(struct pci_dev* dev, int nvec, int type); > > +struct msi_chip { > + struct module *owner; > + struct device *dev; > + > + int (*setup_irq)(struct msi_chip *chip, struct pci_dev *dev, > + struct msi_desc *desc); > + void (*teardown_irq)(struct msi_chip *chip, unsigned int irq); > + int (*check_device)(struct msi_chip *chip, struct pci_dev *dev, > + int nvec, int type); > +};
Is there a need to add setup_irqs and teardown_irqs functions here? This will allow your MSI chips to support multiple MSIs per requesting device.
What about restore_msi_irqs? Does this fit in here too?
Andrew Murray
| |