Merge branch 'cpus4096' into irq/threaded
Thomas Gleixner [Mon, 23 Mar 2009 13:50:03 +0000 (14:50 +0100)]
Conflicts:
arch/parisc/kernel/irq.c
kernel/irq/handle.c

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

22 files changed:
1  2 
Makefile
arch/alpha/kernel/irq.c
arch/arm/kernel/irq.c
arch/blackfin/kernel/irqchip.c
arch/ia64/kernel/irq.c
arch/parisc/kernel/irq.c
arch/powerpc/kernel/irq.c
arch/sparc/kernel/irq_64.c
arch/sparc/kernel/time_64.c
arch/x86/kernel/tsc.c
drivers/acpi/osl.c
drivers/pci/intr_remapping.c
include/linux/interrupt.h
include/linux/irq.h
include/linux/irqnr.h
kernel/irq/chip.c
kernel/irq/handle.c
kernel/irq/internals.h
kernel/irq/manage.c
kernel/irq/numa_migrate.c
kernel/module.c
mm/vmscan.c

diff --cc Makefile
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -132,13 -133,10 +132,13 @@@ int cpu_check_affinity(unsigned int irq
  
  static void cpu_set_affinity_irq(unsigned int irq, const struct cpumask *dest)
  {
 -      if (cpu_check_affinity(irq, dest))
 +      int cpu_dest;
 +
 +      cpu_dest = cpu_check_affinity(irq, dest);
 +      if (cpu_dest < 0)
                return;
  
-       cpumask_copy(&irq_desc[irq].affinity, &cpumask_of_cpu(cpu_dest));
 -      cpumask_copy(irq_desc[irq].affinity, dest);
++      cpumask_copy(&irq_desc[irq].affinity, dest);
  }
  #endif
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -243,9 -252,8 +255,9 @@@ int __init early_irq_init(void
  
        for (i = 0; i < count; i++) {
                desc[i].irq = i;
+               init_alloc_desc_masks(&desc[i], 0, true);
 +              desc[i].kstat_irqs = kstat_irqs_all[i];
        }
        return arch_early_irq_init();
  }
  
@@@ -15,9 -15,15 +15,16 @@@ extern int __irq_set_trigger(struct irq
  
  extern struct lock_class_key irq_desc_lock_class;
  extern void init_kstat_irqs(struct irq_desc *desc, int cpu, int nr);
 +extern void clear_kstat_irqs(struct irq_desc *desc);
  extern spinlock_t sparse_irq_lock;
+ #ifdef CONFIG_SPARSE_IRQ
+ /* irq_desc_ptrs allocated at boot time */
+ extern struct irq_desc **irq_desc_ptrs;
+ #else
+ /* irq_desc_ptrs is a fixed size array */
  extern struct irq_desc *irq_desc_ptrs[NR_IRQS];
+ #endif
  
  #ifdef CONFIG_PROC_FS
  extern void register_irq_proc(unsigned int irq, struct irq_desc *desc);
Simple merge
Simple merge
diff --cc kernel/module.c
Simple merge
diff --cc mm/vmscan.c
Simple merge