Minor fixes, do not count interrupts without interrupt source as spurious (#1755)

SVN-Revision: 7391
master
Florian Fainelli 18 years ago
parent 110d7e85f4
commit a35237e5b6
  1. 11
      target/linux/adm5120-2.6/files/arch/mips/adm5120/irq.c
  2. 1
      target/linux/adm5120-2.6/files/arch/mips/adm5120/memory.c
  3. 4
      target/linux/adm5120-2.6/files/arch/mips/adm5120/setup.c

@ -48,11 +48,12 @@ void adm5120_hw0_irqdispatch(struct pt_regs *regs)
intsrc = ADM5120_INTC_STATUS & ADM5120_IRQ_MASK;
for (i = 0; intsrc; intsrc >>= 1, i++)
if (intsrc & 0x1)
do_IRQ(i);
else
spurious_interrupt();
if (intsrc) {
for (i = 0; intsrc; intsrc >>= 1, i++)
if (intsrc & 0x1)
do_IRQ(i);
} else
spurious_interrupt();
}
void mips_timer_interrupt(struct pt_regs *regs)

@ -38,6 +38,7 @@
#include <asm-mips/mips-boards/prom.h>
extern char *prom_getenv(char *envname);
void prom_printf(char *, ...);
#define PFN_ALIGN(x) (((unsigned long)(x) + (PAGE_SIZE - 1)) & PAGE_MASK)

@ -75,6 +75,7 @@ const char *get_system_type(void)
return adm5120_board_name();
}
#ifdef CONFIG_USB
static struct resource adm5120_hcd_resources[] = {
[0] = {
.start = 0x11200000,
@ -104,4 +105,5 @@ static int __init adm5120_init(void)
return platform_add_devices(devices, ARRAY_SIZE(devices));
}
subsys_initcall(adm5120_init);
arch_initcall(adm5120_init);
#endif

Loading…
Cancel
Save