diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-05-20 02:35:12 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2006-05-20 02:35:12 +0000 | 
| commit | be8041e41cc67fda3efa11dc266a1ed438f465ea (patch) | |
| tree | bf33594ad0cb3a4b96b49e7d779eed7af0edba40 | |
| parent | 82648a952273abfca722c066039b66aa5919991c (diff) | |
fix irq problem with the new brcm-2.4 system code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@3803 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rw-r--r-- | openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch | 21 | 
1 files changed, 4 insertions, 17 deletions
| diff --git a/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch b/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch index a67c56774..af82c3c77 100644 --- a/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch +++ b/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch @@ -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);  + | 
