fix irq problem with the new brcm-2.4 system code
[openwrt/svn-archive/archive.git] / openwrt / target / linux / brcm-2.4 / patches / 001-bcm47xx.patch
index a67c567742a9f82c28b7bb91097f0332f0544bef..af82c3c770f8ee918238a51ad106f73070d808aa 100644 (file)
@@ -10087,7 +10087,7 @@ diff -urN linux.old/arch/mips/bcm947xx/prom.c linux.dev/arch/mips/bcm947xx/prom.
 diff -urN linux.old/arch/mips/bcm947xx/sbmips.c linux.dev/arch/mips/bcm947xx/sbmips.c
 --- linux.old/arch/mips/bcm947xx/sbmips.c      1970-01-01 01:00:00.000000000 +0100
 +++ linux.dev/arch/mips/bcm947xx/sbmips.c      2006-05-02 04:43:13.000000000 +0200
-@@ -0,0 +1,1145 @@
+@@ -0,0 +1,1132 @@
 +/*
 + * BCM47XX Sonics SiliconBackplane MIPS core routines
 + *
@@ -10162,8 +10162,8 @@ diff -urN linux.old/arch/mips/bcm947xx/sbmips.c linux.dev/arch/mips/bcm947xx/sbm
 + * Returns the MIPS IRQ assignment of the current core. If unassigned,
 + * 0 is returned.
 + */
-+static uint
-+sb_getirq(sb_t *sbh)
++uint
++sb_irq(sb_t *sbh)
 +{
 +      osl_t *osh;
 +      uint idx;
@@ -10196,19 +10196,6 @@ diff -urN linux.old/arch/mips/bcm947xx/sbmips.c linux.dev/arch/mips/bcm947xx/sbm
 +      return irq;
 +}
 +
-+/*
-+ * Return the MIPS IRQ assignment of the current core. If necessary
-+ * map cores sharing the MIPS hw IRQ0 to virtual dedicated OS IRQs.
-+ */
-+uint
-+sb_irq(sb_t *sbh)
-+{
-+      uint irq = sb_getirq(sbh);
-+      if (irq == 0 && shirq_map_base)
-+              irq = sb_getflag(sbh) + shirq_map_base;
-+      return irq;
-+}
-+
 +/* Clears the specified MIPS IRQ. */
 +static void
 +BCMINITFN(sb_clearirq)(sb_t *sbh, uint irq)
@@ -10250,7 +10237,7 @@ diff -urN linux.old/arch/mips/bcm947xx/sbmips.c linux.dev/arch/mips/bcm947xx/sbm
 +      regs = sb_setcore(sbh, coreid, coreunit);
 +      ASSERT(regs);
 +      flag = sb_getflag(sbh);
-+      oldirq = sb_getirq(sbh);
++      oldirq = sb_irq(sbh);
 +      if (oldirq)
 +              sb_clearirq(sbh, oldirq);
 +