Messages in this thread Patch in this message | | | Date | Sun, 1 May 2005 01:05:52 +0800 | From | Coywolf Qi Hunt <> | Subject | Re: 2.6.12-rc3-mm1 |
| |
On 5/1/05, Zwane Mwaikambo <zwane@arm.linux.org.uk> wrote: > On Sat, 30 Apr 2005, Adrian Bunk wrote: > > > The static inline set_irq_info() is not available > > for CONFIG_GENERIC_PENDING_IRQ=n, resulting in the following warning: > > This could have been compile tested more :/ > > > CC arch/i386/kernel/io_apic.o > > arch/i386/kernel/io_apic.c: In function `set_ioapic_affinity_irq': > > arch/i386/kernel/io_apic.c:251: warning: implicit declaration of function `set_irq_info' > > ... > > > > <-- snip --> > > > > > > The second bug is that although irq.h defines set_irq_info() as a static > > inline, this patch adds an empty function to kernel/irq/manage.c . > > That stuff shouldn't even be built on UP (altough it does provide more > coverage) > > Signed-off-by: Zwane Mwaikambo <zwane@arm.linux.org.uk> > > Index: linux-2.6.12-rc3-mm1-up/arch/i386/kernel/io_apic.c > =================================================================== > RCS file: /home/cvsroot/linux-2.6.12-rc3-mm1/arch/i386/kernel/io_apic.c,v > retrieving revision 1.1.1.1 > diff -u -p -B -r1.1.1.1 io_apic.c > --- linux-2.6.12-rc3-mm1-up/arch/i386/kernel/io_apic.c 30 Apr 2005 15:29:08 -0000 1.1.1.1 > +++ linux-2.6.12-rc3-mm1-up/arch/i386/kernel/io_apic.c 30 Apr 2005 16:19:06 -0000 > @@ -221,6 +221,7 @@ static void clear_IO_APIC (void) > clear_IO_APIC_pin(apic, pin); > } > > +#ifdef CONFIG_SMP > static void set_ioapic_affinity_irq(unsigned int irq, cpumask_t cpumask) > { > unsigned long flags; > @@ -252,8 +253,6 @@ static void set_ioapic_affinity_irq(unsi > spin_unlock_irqrestore(&ioapic_lock, flags); > } > > -#ifdef CONFIG_SMP > - > #if defined(CONFIG_IRQBALANCE) > # include <asm/processor.h> /* kernel_thread() */ > # include <linux/kernel_stat.h> /* kstat */ > @@ -816,6 +815,7 @@ int IO_APIC_get_PCI_irq_vector(int bus, > * we need to reprogram the ioredtbls to cater for the cpus which have come online > * so mask in all cases should simply be TARGET_CPUS > */ > +#ifdef CONFIG_SMP > void __init setup_ioapic_dest(void) > { > int pin, ioapic, irq, irq_entry; > @@ -834,6 +834,7 @@ void __init setup_ioapic_dest(void) > > } > } > +#endif > > /* > * EISA Edge/Level control register, ELCR > @@ -1973,6 +1974,7 @@ static void unmask_IO_APIC_vector (unsig > unmask_IO_APIC_irq(irq); > } > > +#ifdef CONFIG_SMP > static void set_ioapic_affinity_vector (unsigned int vector, > cpumask_t cpu_mask) > { > @@ -1982,6 +1984,7 @@ static void set_ioapic_affinity_vector ( > set_ioapic_affinity_irq(irq, cpu_mask); > } > #endif > +#endif > > /* > * Level and edge triggered IO-APIC interrupts need different handling, > @@ -1999,7 +2002,9 @@ static struct hw_interrupt_type ioapic_e > .disable = disable_edge_ioapic, > .ack = ack_edge_ioapic, > .end = end_edge_ioapic, > +#ifdef CONFIG_SMP > .set_affinity = set_ioapic_affinity, > +#endif > }; > > static struct hw_interrupt_type ioapic_level_type = { > @@ -2010,7 +2015,9 @@ static struct hw_interrupt_type ioapic_l > .disable = disable_level_ioapic, > .ack = mask_and_ack_level_ioapic, > .end = end_level_ioapic, > +#ifdef CONFIG_SMP > .set_affinity = set_ioapic_affinity, > +#endif > }; > > static inline void init_IO_APIC_traps(void)
I was trying to fix this too. You are quicker and better than me. In addition, this redundant include should be removed.
diff -pruN 2.6.12-rc3-mm1/arch/i386/kernel/io_apic.c 2.6.12-rc3-mm1-cy2/arch/i386/kernel/io_apic.c --- 2.6.12-rc3-mm1/arch/i386/kernel/io_apic.c 2005-04-30 19:15:46.000000000 +0800 +++ 2.6.12-rc3-mm1-cy2/arch/i386/kernel/io_apic.c 2005-05-01 00:49:27.000000000 +0800 @@ -32,7 +32,6 @@ #include <linux/compiler.h> #include <linux/acpi.h> #include <linux/sysdev.h> -#include <linux/irq.h> #include <asm/io.h> #include <asm/smp.h> #include <asm/desc.h> -- Coywolf Qi Hunt http://sosdg.org/~coywolf/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |