On Thu, Aug 04, 2016 at 12:01:17PM +0200, Borislav Petkov wrote: > On Thu, Jul 28, 2016 at 03:30:55PM -0700, York Sun wrote: > > Two symbols are missing if mpc85xx_edac driver is compiled as module. > > > > Signed-off-by: York Sun <york....@nxp.com> > > --- > > Change log > > v2: no change > > > > arch/powerpc/kernel/pci-common.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/arch/powerpc/kernel/pci-common.c > > b/arch/powerpc/kernel/pci-common.c > > index 0f7a60f..86bc484 100644 > > --- a/arch/powerpc/kernel/pci-common.c > > +++ b/arch/powerpc/kernel/pci-common.c > > @@ -226,6 +226,7 @@ struct pci_controller* > > pci_find_hose_for_OF_device(struct device_node* node) > > } > > return NULL; > > } > > +EXPORT_SYMBOL(pci_find_hose_for_OF_device); > > > > /* > > * Reads the interrupt pin to determine if interrupt is use by card. > > @@ -1585,6 +1586,7 @@ int early_find_capability(struct pci_controller > > *hose, int bus, int devfn, > > { > > return pci_bus_find_capability(fake_pci_bus(hose, bus), devfn, cap); > > } > > +EXPORT_SYMBOL(early_find_capability);
arch/microblaze also contains a declaration and implementation of early_find_capability(), but as far as I can see, this was just copied from powerpc, and it is never used on microblaze. So just as a matter of good code hygiene, please add a patch to remove it from microblaze. mpc85xx looks like a weird mix of platform driver and PCI device driver. If loaded as a module, it shouldn't need early_find_capability(); regular pci_find_capability() (or just pci_is_pcie()) should work fine by the time we can load modules. Maybe it would even work by the time mpc85xx_pci_err_probe() runs when built-in. The whole early_find_capability() thing seems a little questionable, too, but it's really only used in the FSL enumeration path, so maybe there's something really special about that system. Bjorn