Re: [PATCH] arch: frv: mb93090-mb00: remove '__init' forpci_fixup_umc_ide() which used by 'DECLARE_PCI_FIXUP_HEADER'

From: Bjorn Helgaas
Date: Wed Jun 26 2013 - 12:19:40 EST


On Tue, Jun 25, 2013 at 8:55 PM, Chen Gang <gang.chen@xxxxxxxxxxx> wrote:
> pci_fixup_umc_ide() is for 'DECLARE_PCI_FIXUP_HEADER', so need remove
> it from init section to normal section.
>
> The related warning (with allmodconfig):
>
> LD arch/frv/mb93090-mb00/built-in.o
> WARNING: arch/frv/mb93090-mb00/built-in.o(.pci_fixup_header+0x4c): Section mismatch in reference from the variable __pci_fixup_PCI_VENDOR_ID_UMCPCI_DEVICE_ID_UMC_UM8886BFpci_fixup_umc_ide to the function .init.text:pci_fixup_umc_ide()
> The variable __pci_fixup_PCI_VENDOR_ID_UMCPCI_DEVICE_ID_UMC_UM8886BFpci_fixup_umc_ide references
> a function __init pci_fixup_umc_ide().
> This is often seen when error handling in the init function
> uses functionality in the exit path.
> The fix is often to remove the __init annotation of
> pci_fixup_umc_ide() so it may be used outside an exit section.
>
>
> Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx>

Reviewed-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

> ---
> arch/frv/mb93090-mb00/pci-vdk.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/frv/mb93090-mb00/pci-vdk.c b/arch/frv/mb93090-mb00/pci-vdk.c
> index 0aa35f0..56a3abf 100644
> --- a/arch/frv/mb93090-mb00/pci-vdk.c
> +++ b/arch/frv/mb93090-mb00/pci-vdk.c
> @@ -254,7 +254,7 @@ static void __init pcibios_fixup_peer_bridges(void)
> * Exceptions for specific devices. Usually work-arounds for fatal design flaws.
> */
>
> -static void __init pci_fixup_umc_ide(struct pci_dev *d)
> +static void pci_fixup_umc_ide(struct pci_dev *d)
> {
> /*
> * UM8886BF IDE controller sets region type bits incorrectly,
> --
> 1.7.7.6
--
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/