6 Jun 2012 07:28
Re: [PATCH 8/9] powerpc: move PCI fixup hooks from __init to __devinit
Benjamin Herrenschmidt <benh <at> kernel.crashing.org>
2012-06-06 05:28:00 GMT
2012-06-06 05:28:00 GMT
On Sun, 2012-06-03 at 20:48 +0200, Sebastian Andrzej Siewior wrote:
> The fixups are executed once the pci-device is found which is during
> boot process so __init seems fine as long as the platform does not
> support hotplug.
> However it is possible to remove the PCI bus at run time and have it
> rediscovered again via "echo 1 > /sys/bus/pci/rescan" and this will call
> the fixups again.
>
> Cc: Kumar Gala <galak <at> kernel.crashing.org>
Acked-by: Benjamin Herrenschmidt <benh <at> kernel.crashing.org>
Thanks !
Ben.
> Cc: Paul Mackerras <paulus <at> samba.org>
> Signed-off-by: Sebastian Andrzej Siewior <sebastian <at> breakpoint.cc>
> ---
> arch/powerpc/platforms/85xx/tqm85xx.c | 2 +-
> arch/powerpc/platforms/86xx/gef_ppc9a.c | 2 +-
> arch/powerpc/platforms/86xx/gef_sbc310.c | 2 +-
> arch/powerpc/platforms/86xx/gef_sbc610.c | 2 +-
> arch/powerpc/sysdev/fsl_pci.c | 2 +-
> arch/powerpc/sysdev/mv64x60_pci.c | 2 +-
> 6 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/platforms/85xx/tqm85xx.c b/arch/powerpc/platforms/85xx/tqm85xx.c
> index 4d786c2..3e70a20 100644
> --- a/arch/powerpc/platforms/85xx/tqm85xx.c
> +++ b/arch/powerpc/platforms/85xx/tqm85xx.c
> <at> <at> -102,7 +102,7 <at> <at> static void tqm85xx_show_cpuinfo(struct seq_file *m)
> seq_printf(m, "PLL setting\t: 0x%x\n", ((phid1 >> 24) & 0x3f));
> }
>
> -static void __init tqm85xx_ti1520_fixup(struct pci_dev *pdev)
> +static void __devinit tqm85xx_ti1520_fixup(struct pci_dev *pdev)
> {
> unsigned int val;
>
> diff --git a/arch/powerpc/platforms/86xx/gef_ppc9a.c b/arch/powerpc/platforms/86xx/gef_ppc9a.c
> index 1fca663..563aafa8 100644
> --- a/arch/powerpc/platforms/86xx/gef_ppc9a.c
> +++ b/arch/powerpc/platforms/86xx/gef_ppc9a.c
> <at> <at> -164,7 +164,7 <at> <at> static void gef_ppc9a_show_cpuinfo(struct seq_file *m)
> gef_ppc9a_get_vme_is_syscon() ? "yes" : "no");
> }
>
> -static void __init gef_ppc9a_nec_fixup(struct pci_dev *pdev)
> +static void __devinit gef_ppc9a_nec_fixup(struct pci_dev *pdev)
> {
> unsigned int val;
>
> diff --git a/arch/powerpc/platforms/86xx/gef_sbc310.c b/arch/powerpc/platforms/86xx/gef_sbc310.c
> index 14e0e576..cc6a91a 100644
> --- a/arch/powerpc/platforms/86xx/gef_sbc310.c
> +++ b/arch/powerpc/platforms/86xx/gef_sbc310.c
> <at> <at> -152,7 +152,7 <at> <at> static void gef_sbc310_show_cpuinfo(struct seq_file *m)
>
> }
>
> -static void __init gef_sbc310_nec_fixup(struct pci_dev *pdev)
> +static void __devinit gef_sbc310_nec_fixup(struct pci_dev *pdev)
> {
> unsigned int val;
>
> diff --git a/arch/powerpc/platforms/86xx/gef_sbc610.c b/arch/powerpc/platforms/86xx/gef_sbc610.c
> index 1638f43..aead6b3 100644
> --- a/arch/powerpc/platforms/86xx/gef_sbc610.c
> +++ b/arch/powerpc/platforms/86xx/gef_sbc610.c
> <at> <at> -141,7 +141,7 <at> <at> static void gef_sbc610_show_cpuinfo(struct seq_file *m)
> seq_printf(m, "SVR\t\t: 0x%x\n", svid);
> }
>
> -static void __init gef_sbc610_nec_fixup(struct pci_dev *pdev)
> +static void __devinit gef_sbc610_nec_fixup(struct pci_dev *pdev)
> {
> unsigned int val;
>
> diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
> index 6073288..edbf794 100644
> --- a/arch/powerpc/sysdev/fsl_pci.c
> +++ b/arch/powerpc/sysdev/fsl_pci.c
> <at> <at> -36,7 +36,7 <at> <at>
>
> static int fsl_pcie_bus_fixup, is_mpc83xx_pci;
>
> -static void __init quirk_fsl_pcie_header(struct pci_dev *dev)
> +static void __devinit quirk_fsl_pcie_header(struct pci_dev *dev)
> {
> u8 progif;
>
> diff --git a/arch/powerpc/sysdev/mv64x60_pci.c b/arch/powerpc/sysdev/mv64x60_pci.c
> index b0037ce..364b14d 100644
> --- a/arch/powerpc/sysdev/mv64x60_pci.c
> +++ b/arch/powerpc/sysdev/mv64x60_pci.c
> <at> <at> -104,7 +104,7 <at> <at> subsys_initcall(mv64x60_sysfs_init);
>
> #endif /* CONFIG_SYSFS */
>
> -static void __init mv64x60_pci_fixup_early(struct pci_dev *dev)
> +static void __devinit mv64x60_pci_fixup_early(struct pci_dev *dev)
> {
> /*
> * Set the host bridge hdr_type to an invalid value so that
RSS Feed