summaryrefslogtreecommitdiff
path: root/arch/arm/mach-cns3xxx/pcie.c
diff options
context:
space:
mode:
authorXia Kaixu <kaixu.xia@linaro.org>2014-09-03 17:18:12 +0400
committerArnd Bergmann <arnd@arndb.de>2014-09-05 01:39:57 +0400
commit0a2e912d296201c476fe5d7ba6ac23a66325935f (patch)
treeac87d60dde207d49e6c6da95e15c34e850603706 /arch/arm/mach-cns3xxx/pcie.c
parentc96bfaffb783b86555e13d97e871c2adeb97d613 (diff)
downloadlinux-0a2e912d296201c476fe5d7ba6ac23a66325935f.tar.xz
ARM: cns3xxx: fix allmodconfig panic in pci driver
The kernel panic occurs when running an allmodconfig kernel on OMAP4460. The inicall "cns3xxx_pcie_init" does not check which hardware it's running on and just tries to access to its specific registers. Now call it from .init_late callback from the two machine descriptors. Signed-off-by: Xia Kaixu <kaixu.xia@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Anton Vorontsov <anton@enomsg.org> Cc: Felix Fietkau <nbd@openwrt.org> Cc: Imre Kaloz <kaloz@openwrt.org> Cc: linaro-kernel@lists.linaro.org Cc: linux-arm-kernel@lists.infradead.org
Diffstat (limited to 'arch/arm/mach-cns3xxx/pcie.c')
-rw-r--r--arch/arm/mach-cns3xxx/pcie.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/arm/mach-cns3xxx/pcie.c b/arch/arm/mach-cns3xxx/pcie.c
index 413134c54452..70fd81ea1828 100644
--- a/arch/arm/mach-cns3xxx/pcie.c
+++ b/arch/arm/mach-cns3xxx/pcie.c
@@ -318,7 +318,7 @@ static int cns3xxx_pcie_abort_handler(unsigned long addr, unsigned int fsr,
return 0;
}
-static int __init cns3xxx_pcie_init(void)
+void __init cns3xxx_pcie_init_late(void)
{
int i;
@@ -337,7 +337,4 @@ static int __init cns3xxx_pcie_init(void)
}
pci_assign_unassigned_resources();
-
- return 0;
}
-device_initcall(cns3xxx_pcie_init);