diff options
author | Xia Kaixu <kaixu.xia@linaro.org> | 2014-09-03 21:18:12 +0800 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-09-04 23:39:57 +0200 |
commit | 0a2e912d296201c476fe5d7ba6ac23a66325935f (patch) | |
tree | ac87d60dde207d49e6c6da95e15c34e850603706 /arch/arm/mach-cns3xxx/pcie.c | |
parent | c96bfaffb783b86555e13d97e871c2adeb97d613 (diff) |
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.c | 5 |
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); |