Re: 2.6.12-rc3-mm1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/1/05, Zwane Mwaikambo <[email protected]> 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 <[email protected]>
> 
> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux