diff options
Diffstat (limited to 'target/linux/cns3xxx/patches-3.10/065-pcie_early_init.patch')
-rw-r--r-- | target/linux/cns3xxx/patches-3.10/065-pcie_early_init.patch | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/target/linux/cns3xxx/patches-3.10/065-pcie_early_init.patch b/target/linux/cns3xxx/patches-3.10/065-pcie_early_init.patch deleted file mode 100644 index 252c955..0000000 --- a/target/linux/cns3xxx/patches-3.10/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 -@@ -13,6 +13,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); -@@ -22,6 +23,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(char, 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); |