Re: [Patch v3 01/11] arch/powerpc/pci: Fix compiling error for mpc85xx_edac

From: Michael Ellerman
Date: Thu Aug 04 2016 - 23:43:50 EST


York Sun <york.sun@xxxxxxx> writes:

> Two symbols are missing if mpc85xx_edac driver is compiled as module.
>
> Signed-off-by: York Sun <york.sun@xxxxxxx>
>
> ---
> 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).

cheers