From fb81a9b5ed2fa8d5ba4e7d00826b5ba1f0344d4f Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
Date: Wed, 3 Jul 2013 17:51:54 +0000
Subject: [PATCH] ixp4xx: replace magic number with macros in
 avila/ixdp425/miccpt PCI routing setup

Replace magic number with the appropriate macro in
avila/ixdp425/miccpt PCI routing setup.
Signed-off-by: Tamas TEVESZ <ice@extreme.hu>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 37154
---
 .../patches-3.10/300-avila_support.patch      |  6 +++--
 .../910-ixp4xx-nr_irq_lines.patch             | 22 +++++++++++++++++++
 2 files changed, 26 insertions(+), 2 deletions(-)
 create mode 100644 target/linux/ixp4xx/patches-3.10/910-ixp4xx-nr_irq_lines.patch

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;
+ }
-- 
2.30.2