patch-2.4.4 linux/arch/sh/kernel/setup_hd64461.c
Next file: linux/arch/sh/kernel/setup_hd64465.c
Previous file: linux/arch/sh/kernel/setup_ec3104.c
Back to the patch index
Back to the overall index
- Lines: 41
- Date:
Wed Apr 11 21:24:52 2001
- Orig file:
v2.4.3/linux/arch/sh/kernel/setup_hd64461.c
- Orig date:
Wed Aug 9 13:59:04 2000
diff -u --recursive --new-file v2.4.3/linux/arch/sh/kernel/setup_hd64461.c linux/arch/sh/kernel/setup_hd64461.c
@@ -88,7 +88,7 @@
static void hd64461_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
printk(KERN_INFO
- "HD64461: spurious interrupt, nirr: 0x%lx nimr: 0x%lx\n",
+ "HD64461: spurious interrupt, nirr: 0x%x nimr: 0x%x\n",
inw(HD64461_NIRR), inw(HD64461_NIMR));
}
@@ -104,7 +104,7 @@
if (irq == 16) irq = CONFIG_HD64461_IRQ;
else irq += HD64461_IRQBASE;
}
- return irq;
+ return __irq_demux(irq);
}
static struct irqaction irq0 = { hd64461_interrupt, SA_INTERRUPT, 0, "HD64461", NULL, NULL};
@@ -120,10 +120,9 @@
printk(KERN_INFO "HD64461 configured at 0x%x on irq %d(mapped into %d to %d)\n",
CONFIG_HD64461_IOBASE, CONFIG_HD64461_IRQ,
HD64461_IRQBASE, HD64461_IRQBASE+15);
-#ifdef CONFIG_CPU_SUBTYPE_SH7709
- /* IRQ line for HD64461 should be set level trigger mode("10"). */
- /* And this should be done earlier than the kernel starts. */
- ctrl_outw(0x0200, INTC_ICR1); /* when connected to IRQ4. */
+
+#if defined(CONFIG_CPU_SUBTYPE_SH7709) /* Should be at processor specific part.. */
+ outw(0x2240, INTC_ICR1);
#endif
outw(0xffff, HD64461_NIMR);
@@ -135,7 +134,7 @@
#ifdef CONFIG_HD64461_ENABLER
printk(KERN_INFO "HD64461: enabling PCMCIA devices\n");
- outb(0x04, HD64461_PCC1CSCIER);
+ outb(0x4c, HD64461_PCC1CSCIER);
outb(0x00, HD64461_PCC1CSCR);
#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)