diff options
author | Rojhalat Ibrahim | 2013-04-08 10:15:28 +0200 |
---|---|---|
committer | Kumar Gala | 2013-04-10 17:15:28 +0200 |
commit | 50d8f87d2b39313dae9d0a2d9b23d377328f2f7b (patch) | |
tree | 10d88cde5443443f400c596a60fd0c5c406da8c3 /arch/powerpc/sysdev/indirect_pci.c | |
parent | powerpc/fsl-pci: Keep PCI SoC controller registers in pci_controller (diff) | |
download | kernel-qcow2-linux-50d8f87d2b39313dae9d0a2d9b23d377328f2f7b.tar.gz kernel-qcow2-linux-50d8f87d2b39313dae9d0a2d9b23d377328f2f7b.tar.xz kernel-qcow2-linux-50d8f87d2b39313dae9d0a2d9b23d377328f2f7b.zip |
powerpc/fsl-pci Make PCIe hotplug work with Freescale PCIe controllers
Up to now the PCIe link status on Freescale PCIe controllers was only
checked once at boot time. So hotplug did not work. With this patch the
link status is checked on every config read. PCIe devices not present at
boot time are found after doing 'echo 1 >/sys/bus/pci/rescan'.
Signed-off-by: Rojhalat Ibrahim <imr@rtschenk.de>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/sysdev/indirect_pci.c')
-rw-r--r-- | arch/powerpc/sysdev/indirect_pci.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/powerpc/sysdev/indirect_pci.c b/arch/powerpc/sysdev/indirect_pci.c index 82fdad885d20..c6c8b526a4f6 100644 --- a/arch/powerpc/sysdev/indirect_pci.c +++ b/arch/powerpc/sysdev/indirect_pci.c @@ -20,9 +20,8 @@ #include <asm/pci-bridge.h> #include <asm/machdep.h> -static int -indirect_read_config(struct pci_bus *bus, unsigned int devfn, int offset, - int len, u32 *val) +int indirect_read_config(struct pci_bus *bus, unsigned int devfn, + int offset, int len, u32 *val) { struct pci_controller *hose = pci_bus_to_host(bus); volatile void __iomem *cfg_data; @@ -78,9 +77,8 @@ indirect_read_config(struct pci_bus *bus, unsigned int devfn, int offset, return PCIBIOS_SUCCESSFUL; } -static int -indirect_write_config(struct pci_bus *bus, unsigned int devfn, int offset, - int len, u32 val) +int indirect_write_config(struct pci_bus *bus, unsigned int devfn, + int offset, int len, u32 val) { struct pci_controller *hose = pci_bus_to_host(bus); volatile void __iomem *cfg_data; |