On 08/04/2016 08:43 PM, Michael Ellerman wrote: > York Sun <york....@nxp.com> writes: > >> Two symbols are missing if mpc85xx_edac driver is compiled as module. >> >> Signed-off-by: York Sun <york....@nxp.com> >> >> --- >> Change log >> v3: Change subject tag >> 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); > > Does the driver really need to use these routines? They're meant for use > early in boot, before PCI is setup. > > AFAICS this is just a regular driver, so when it's probed the PCI > devices should have already been scanned. In which case pci_get_device() > could work couldn't it? (I see other edac drivers doing that). >
I don't have deep knowledge of this driver. What I am trying is to separate the common DDR part and share it with ARM platforms. Along the way, I found the compiling error if build a module. If exposing these functions becomes a concern, I can live without it. York