Re: [PATCH 12/17] ARM: iop13xx: mark iop13xx_scan_bus as __devinit

From: Bjorn Helgaas
Date: Tue Oct 02 2012 - 16:08:24 EST


On Tue, Oct 2, 2012 at 10:36 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
> pci_scan_root_bus is __devinit, so iop13xx_scan_bus has to be the
> same in order to safely call it. This is ok because the function
> itself is only called from the hwpci->scan callback.
>
> WARNING: vmlinux.o(.text+0x10138): Section mismatch in reference from the function iop13xx_scan_bus() to the function .devinit.text:pci_scan_root_bus()
> The function iop13xx_scan_bus() references
> the function __devinit pci_scan_root_bus().
> This is often because iop13xx_scan_bus lacks a __devinit
> annotation or the annotation of pci_scan_root_bus is wrong.

With CONFIG_HOTPLUG going away (I think the current state is that it
is always set to "y"), __devinit will effectively become a no-op, so I
expect we'll remove it from pci_scan_root_bus().

Therefore, I would skip this patch and live with the warning a little longer.

> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> Cc: Lennert Buytenhek <kernel@xxxxxxxxxxxxxx>
> Cc: Dan Williams <djbw@xxxxxx>
> ---
> arch/arm/mach-iop13xx/pci.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-iop13xx/pci.c b/arch/arm/mach-iop13xx/pci.c
> index 861cb12..9d7f4ca 100644
> --- a/arch/arm/mach-iop13xx/pci.c
> +++ b/arch/arm/mach-iop13xx/pci.c
> @@ -506,7 +506,7 @@ iop13xx_pci_abort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
>
> /* Scan an IOP13XX PCI bus. nr selects which ATU we use.
> */
> -struct pci_bus *iop13xx_scan_bus(int nr, struct pci_sys_data *sys)
> +struct pci_bus * __devinit iop13xx_scan_bus(int nr, struct pci_sys_data *sys)
> {
> int which_atu;
> struct pci_bus *bus = NULL;
> --
> 1.7.10
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/