On Wed, 26 Aug 2020 12:16:47 +0100, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > > From: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > pci_msi_get_hwirq() and pci_msi_set_desc are not longer special. Enable the > generic MSI domain ops in the core and PCI MSI code unconditionally and get > rid of the x86 specific implementations in the X86 MSI code and in the > hyperv PCI driver. > > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > > --- > arch/x86/include/asm/msi.h | 2 -- > arch/x86/kernel/apic/msi.c | 15 --------------- > drivers/pci/controller/pci-hyperv.c | 8 -------- > drivers/pci/msi.c | 4 ---- > kernel/irq/msi.c | 6 ------ > 5 files changed, 35 deletions(-) > > --- a/arch/x86/include/asm/msi.h > +++ b/arch/x86/include/asm/msi.h > @@ -9,6 +9,4 @@ typedef struct irq_alloc_info msi_alloc_ > int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec, > msi_alloc_info_t *arg); > > -void pci_msi_set_desc(msi_alloc_info_t *arg, struct msi_desc *desc); > - > #endif /* _ASM_X86_MSI_H */ > --- a/arch/x86/kernel/apic/msi.c > +++ b/arch/x86/kernel/apic/msi.c > @@ -204,12 +204,6 @@ void native_teardown_msi_irq(unsigned in > irq_domain_free_irqs(irq, 1); > } > > -static irq_hw_number_t pci_msi_get_hwirq(struct msi_domain_info *info, > - msi_alloc_info_t *arg) > -{ > - return arg->hwirq; > -} > - > int pci_msi_prepare(struct irq_domain *domain, struct device *dev, int nvec, > msi_alloc_info_t *arg) > { > @@ -228,17 +222,8 @@ int pci_msi_prepare(struct irq_domain *d > } > EXPORT_SYMBOL_GPL(pci_msi_prepare); > > -void pci_msi_set_desc(msi_alloc_info_t *arg, struct msi_desc *desc) > -{ > - arg->desc = desc; > - arg->hwirq = pci_msi_domain_calc_hwirq(desc); > -} > -EXPORT_SYMBOL_GPL(pci_msi_set_desc); I think that at this stage, pci_msi_domain_calc_hwirq() can be made static, as it was only ever exported for this call site. Nice cleanup! Reviewed-by: Marc Zyngier <maz@xxxxxxxxxx> M. -- Without deviation from the norm, progress is not possible.