Messages in this thread | | | Subject | Re: [PATCH v2] powerpc: iommu: fix build when neither PCI or IBMVIO is set | From | Randy Dunlap <> | Date | Mon, 5 Apr 2021 09:31:38 -0700 |
| |
On 4/5/21 2:04 AM, Christophe Leroy wrote: > > > Le 04/04/2021 à 21:26, Randy Dunlap a écrit : >> When neither CONFIG_PCI nor CONFIG_IBMVIO is set/enabled, iommu.c has a >> build error. The fault injection code is not useful in that kernel config, >> so make the FAIL_IOMMU option depend on PCI || IBMVIO. >> >> Prevents this build error (warning escalated to error): >> ../arch/powerpc/kernel/iommu.c:178:30: error: 'fail_iommu_bus_notifier' defined but not used [-Werror=unused-variable] >> 178 | static struct notifier_block fail_iommu_bus_notifier = { >> >> Fixes: d6b9a81b2a45 ("powerpc: IOMMU fault injection") >> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> >> Reported-by: kernel test robot <lkp@intel.com> >> Suggested-by: Michael Ellerman <mpe@ellerman.id.au> >> Cc: Michael Ellerman <mpe@ellerman.id.au> >> Cc: linuxppc-dev@lists.ozlabs.org >> Cc: Anton Blanchard <anton@samba.org> >> --- >> I was supposed to update this about one month ago, but then I lost >> some email and also took a break for a few weeks, then I remembered, >> so here it is. >> >> arch/powerpc/Kconfig.debug | 1 + >> 1 file changed, 1 insertion(+) > > Wouldn't it be cleaner to get rid of those two horid #ifdefs ? > Of course we can do both.
Sure, that works. Thanks.
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
> diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c > index 216871414434..d691afa8acf8 100644 > --- a/arch/powerpc/kernel/iommu.c > +++ b/arch/powerpc/kernel/iommu.c > @@ -180,12 +180,10 @@ static struct notifier_block fail_iommu_bus_notifier = { > > static int __init fail_iommu_setup(void) > { > -#ifdef CONFIG_PCI > - bus_register_notifier(&pci_bus_type, &fail_iommu_bus_notifier); > -#endif > -#ifdef CONFIG_IBMVIO > - bus_register_notifier(&vio_bus_type, &fail_iommu_bus_notifier); > -#endif > + if (IS_ENABLED(CONFIG_PCI)) > + bus_register_notifier(&pci_bus_type, &fail_iommu_bus_notifier); > + if (IS_ENABLED(CONFIG_IBMVIO)) > + bus_register_notifier(&vio_bus_type, &fail_iommu_bus_notifier); > > return 0; > } > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 86c799c97b77..361f4f255911 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h > @@ -964,6 +964,8 @@ enum { > #define PCI_IRQ_MSIX (1 << 2) /* Allow MSI-X interrupts */ > #define PCI_IRQ_AFFINITY (1 << 3) /* Auto-assign affinity */ > > +extern struct bus_type pci_bus_type; > + > /* These external functions are only available when PCI support is enabled */ > #ifdef CONFIG_PCI > > @@ -986,8 +988,6 @@ enum pcie_bus_config_types { > > extern enum pcie_bus_config_types pcie_bus_config; > > -extern struct bus_type pci_bus_type; > - > /* Do NOT directly access these two variables, unless you are arch-specific PCI > * code, or PCI core code. */ > extern struct list_head pci_root_buses; /* List of all known PCI buses */
-- ~Randy
| |