aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/ixp4xx/patches-3.10/300-avila_support.patch6
-rw-r--r--target/linux/ixp4xx/patches-3.10/910-ixp4xx-nr_irq_lines.patch22
2 files changed, 26 insertions, 2 deletions
diff --git a/target/linux/ixp4xx/patches-3.10/300-avila_support.patch b/target/linux/ixp4xx/patches-3.10/300-avila_support.patch
index 12c82cc8db..b1ca379332 100644
--- a/target/linux/ixp4xx/patches-3.10/300-avila_support.patch
+++ b/target/linux/ixp4xx/patches-3.10/300-avila_support.patch
@@ -11,17 +11,19 @@
#define IRQ_LINES 4
/* PCI controller GPIO to IRQ pin mappings */
-@@ -55,9 +55,7 @@ static int __init avila_map_irq(const st
+@@ -55,10 +55,8 @@ static int __init avila_map_irq(const st
IXP4XX_GPIO_IRQ(INTD)
};
- if (slot >= 1 &&
- slot <= (machine_is_loft() ? LOFT_MAX_DEV : AVILA_MAX_DEV) &&
- pin >= 1 && pin <= IRQ_LINES)
+- return pci_irq_table[(slot + pin - 2) % 4];
+ if (slot >= 1 && slot <= AVILA_MAX_DEV && pin >= 1 && pin <= IRQ_LINES)
- return pci_irq_table[(slot + pin - 2) % 4];
++ return pci_irq_table[(slot + pin - 2) % IRQ_LINES];
return -1;
+ }
--- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c
@@ -14,9 +14,16 @@
diff --git a/target/linux/ixp4xx/patches-3.10/910-ixp4xx-nr_irq_lines.patch b/target/linux/ixp4xx/patches-3.10/910-ixp4xx-nr_irq_lines.patch
new file mode 100644
index 0000000000..06e09f469d
--- /dev/null
+++ b/target/linux/ixp4xx/patches-3.10/910-ixp4xx-nr_irq_lines.patch
@@ -0,0 +1,22 @@
+--- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
++++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
+@@ -53,7 +53,7 @@ static int __init ixdp425_map_irq(const
+ };
+
+ if (slot >= 1 && slot <= MAX_DEV && pin >= 1 && pin <= IRQ_LINES)
+- return pci_irq_table[(slot + pin - 2) % 4];
++ return pci_irq_table[(slot + pin - 2) % IRQ_LINES];
+
+ return -1;
+ }
+--- a/arch/arm/mach-ixp4xx/miccpt-pci.c
++++ b/arch/arm/mach-ixp4xx/miccpt-pci.c
+@@ -54,7 +54,7 @@ static int __init miccpt_map_irq(const s
+ };
+
+ if (slot >= 1 && slot <= MAX_DEV && pin >= 1 && pin <= IRQ_LINES)
+- return pci_irq_table[(slot + pin - 2) % 4];
++ return pci_irq_table[(slot + pin - 2) % IRQ_LINES];
+
+ return -1;
+ }