From a35237e5b664ee5c48a0fc6e49940515e27b38df Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Wed, 30 May 2007 09:48:57 +0000 Subject: [PATCH] Minor fixes, do not count interrupts without interrupt source as spurious (#1755) SVN-Revision: 7391 --- .../linux/adm5120-2.6/files/arch/mips/adm5120/irq.c | 11 ++++++----- .../adm5120-2.6/files/arch/mips/adm5120/memory.c | 1 + .../linux/adm5120-2.6/files/arch/mips/adm5120/setup.c | 4 +++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/irq.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/irq.c index 46f3bb05ee..c53272e1e0 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/irq.c +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/irq.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) diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/memory.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/memory.c index d96d66a17f..947b5b96a8 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/memory.c +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/memory.c @@ -38,6 +38,7 @@ #include extern char *prom_getenv(char *envname); +void prom_printf(char *, ...); #define PFN_ALIGN(x) (((unsigned long)(x) + (PAGE_SIZE - 1)) & PAGE_MASK) diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/setup.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/setup.c index 3f4f365610..5767df8b23 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/setup.c +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/setup.c @@ -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 -- 2.30.2