Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Mar 2011 02:23:40 +0000 (19:23 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Mar 2011 02:23:40 +0000 (19:23 -0700)
* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (116 commits)
  x86: Enable forced interrupt threading support
  x86: Mark low level interrupts IRQF_NO_THREAD
  x86: Use generic show_interrupts
  x86: ioapic: Avoid redundant lookup of irq_cfg
  x86: ioapic: Use new move_irq functions
  x86: Use the proper accessors in fixup_irqs()
  x86: ioapic: Use irq_data->state
  x86: ioapic: Simplify irq chip and handler setup
  x86: Cleanup the genirq name space
  genirq: Add chip flag to force mask on suspend
  genirq: Add desc->irq_data accessor
  genirq: Add comments to Kconfig switches
  genirq: Fixup fasteoi handler for oneshot mode
  genirq: Provide forced interrupt threading
  sched: Switch wait_task_inactive to schedule_hrtimeout()
  genirq: Add IRQF_NO_THREAD
  genirq: Allow shared oneshot interrupts
  genirq: Prepare the handling of shared oneshot interrupts
  genirq: Make warning in handle_percpu_event useful
  x86: ioapic: Move trigger defines to io_apic.h
  ...

Fix up trivial(?) conflicts in arch/x86/pci/xen.c due to genirq name
space changes clashing with the Xen cleanups.  The set_irq_msi() had
moved to xen_bind_pirq_msi_to_irq().

1  2 
arch/x86/Kconfig
arch/x86/kernel/apic/apic.c
arch/x86/kernel/smpboot.c
drivers/xen/events.c
include/linux/interrupt.h
kernel/sched.c
kernel/softirq.c

@@@ -64,10 -64,10 +64,12 @@@ config X8
        select HAVE_TEXT_POKE_SMP
        select HAVE_GENERIC_HARDIRQS
        select HAVE_SPARSE_IRQ
 +      select GENERIC_FIND_FIRST_BIT
 +      select GENERIC_FIND_NEXT_BIT
        select GENERIC_IRQ_PROBE
        select GENERIC_PENDING_IRQ if SMP
+       select GENERIC_IRQ_SHOW
+       select IRQ_FORCED_THREADING
        select USE_GENERIC_SMP_HELPERS if SMP
  
  config INSTRUCTION_DECODER
Simple merge
Simple merge
@@@ -669,14 -737,21 +669,14 @@@ int xen_bind_pirq_msi_to_irq(struct pci
        if (irq == -1)
                goto out;
  
 -      rc = HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq, &map_irq);
 -      if (rc) {
 -              printk(KERN_WARNING "xen map irq failed %d\n", rc);
 -
 -              irq_free_desc(irq);
 -
 -              irq = -1;
 -              goto out;
 -      }
 -      irq_info[irq] = mk_pirq_info(0, map_irq.pirq, 0, map_irq.index);
 -
        set_irq_chip_and_handler_name(irq, &xen_pirq_chip,
 -                      handle_level_irq,
 -                      (type == PCI_CAP_ID_MSIX) ? "msi-x":"msi");
 +                                    handle_level_irq, name);
  
-       ret = set_irq_msi(irq, msidesc);
 +      irq_info[irq] = mk_pirq_info(0, pirq, 0, vector);
 +      pirq_to_irq[pirq] = irq;
++      ret = irq_set_msi_desc(irq, msidesc);
 +      if (ret < 0)
 +              goto error_irq;
  out:
        spin_unlock(&irq_mapping_update_lock);
        return irq;
Simple merge
diff --cc kernel/sched.c
Simple merge
Simple merge