summaryrefslogtreecommitdiff
path: root/target/linux/cns3xxx/patches-3.14/065-pcie_early_init.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/cns3xxx/patches-3.14/065-pcie_early_init.patch')
-rw-r--r--target/linux/cns3xxx/patches-3.14/065-pcie_early_init.patch84
1 files changed, 0 insertions, 84 deletions
diff --git a/target/linux/cns3xxx/patches-3.14/065-pcie_early_init.patch b/target/linux/cns3xxx/patches-3.14/065-pcie_early_init.patch
deleted file mode 100644
index ca66255..0000000
--- a/target/linux/cns3xxx/patches-3.14/065-pcie_early_init.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- a/arch/arm/mach-cns3xxx/cns3420vb.c
-+++ b/arch/arm/mach-cns3xxx/cns3420vb.c
-@@ -261,11 +261,21 @@ static struct map_desc cns3420_io_desc[]
- static void __init cns3420_map_io(void)
- {
- cns3xxx_map_io();
-+ cns3xxx_pcie_iotable_init();
- iotable_init(cns3420_io_desc, ARRAY_SIZE(cns3420_io_desc));
-
- cns3420_early_serial_setup();
- }
-
-+static int __init cns3420vb_pcie_init(void)
-+{
-+ if (!machine_is_cns3420vb())
-+ return 0;
-+
-+ return cns3xxx_pcie_init();
-+}
-+subsys_initcall(cns3420vb_pcie_init);
-+
- MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
- .atag_offset = 0x100,
- .nr_irqs = NR_IRQS_CNS3XXX,
---- a/arch/arm/mach-cns3xxx/core.h
-+++ b/arch/arm/mach-cns3xxx/core.h
-@@ -15,6 +15,7 @@
-
- extern struct smp_operations cns3xxx_smp_ops;
- extern void cns3xxx_timer_init(void);
-+extern void cns3xxx_pcie_iotable_init(void);
-
- #ifdef CONFIG_CACHE_L2X0
- void __init cns3xxx_l2x0_init(void);
-@@ -24,6 +25,7 @@ static inline void cns3xxx_l2x0_init(voi
-
- void __init cns3xxx_map_io(void);
- void __init cns3xxx_init_irq(void);
-+int __init cns3xxx_pcie_init(void);
- void cns3xxx_power_off(void);
- void cns3xxx_restart(enum reboot_mode, const char *);
-
---- a/arch/arm/mach-cns3xxx/pcie.c
-+++ b/arch/arm/mach-cns3xxx/pcie.c
-@@ -449,7 +449,18 @@ static int cns3xxx_pcie_abort_handler(un
- return 0;
- }
-
--static int __init cns3xxx_pcie_init(void)
-+
-+void __init cns3xxx_pcie_iotable_init()
-+{
-+ int i;
-+
-+ for (i = 0; i < ARRAY_SIZE(cns3xxx_pcie); i++) {
-+ iotable_init(cns3xxx_pcie[i].cfg_bases,
-+ ARRAY_SIZE(cns3xxx_pcie[i].cfg_bases));
-+ }
-+}
-+
-+int __init cns3xxx_pcie_init(void)
- {
- int i;
-
-@@ -460,15 +471,14 @@ static int __init cns3xxx_pcie_init(void
- "imprecise external abort");
-
- for (i = 0; i < ARRAY_SIZE(cns3xxx_pcie); i++) {
-- iotable_init(cns3xxx_pcie[i].cfg_bases,
-- ARRAY_SIZE(cns3xxx_pcie[i].cfg_bases));
- cns3xxx_pcie_check_link(&cns3xxx_pcie[i]);
-- cns3xxx_pcie_hw_init(&cns3xxx_pcie[i]);
-- pci_common_init(&cns3xxx_pcie[i].hw_pci);
-+ if (cns3xxx_pcie[i].linked) {
-+ cns3xxx_pcie_hw_init(&cns3xxx_pcie[i]);
-+ pci_common_init(&cns3xxx_pcie[i].hw_pci);
-+ }
- }
-
- pci_assign_unassigned_resources();
-
- return 0;
- }
--device_initcall(cns3xxx_pcie_init);