]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Nov 2015 02:33:15 +0000 (18:33 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Nov 2015 02:33:15 +0000 (18:33 -0800)
Pull x86 apic changes from Ingo Molnar:
 "The main changes in this cycle were:

   - Numachip updates: new hardware support, fixes and cleanups.
     (Daniel J Blueman)

   - misc smaller cleanups and fixlets"

* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/io_apic: Make eoi_ioapic_pin() static
  x86/irq: Drop unlikely before IS_ERR_OR_NULL
  x86/x2apic: Make stub functions available even if !CONFIG_X86_LOCAL_APIC
  x86/apic: Deinline various functions
  x86/numachip: Fix timer build conflict
  x86/numachip: Introduce Numachip2 timer mechanisms
  x86/numachip: Add Numachip IPI optimisations
  x86/numachip: Add Numachip2 APIC support
  x86/numachip: Cleanup Numachip support

1  2 
arch/x86/kernel/apic/io_apic.c
drivers/clocksource/Makefile

index 4f2821527014e14eba4051c27d05dc53ffe958f3,b5a0e3c5e930e0f1746cb8e4b12709709f687430..f25321894ad294278c20d5ba7b4076ce2353a8fb
@@@ -529,7 -529,7 +529,7 @@@ static void __eoi_ioapic_pin(int apic, 
        }
  }
  
- void eoi_ioapic_pin(int vector, struct mp_chip_data *data)
static void eoi_ioapic_pin(int vector, struct mp_chip_data *data)
  {
        unsigned long flags;
        struct irq_pin_list *entry;
@@@ -2547,9 -2547,7 +2547,9 @@@ void __init setup_ioapic_dest(void
                        mask = apic->target_cpus();
  
                chip = irq_data_get_irq_chip(idata);
 -              chip->irq_set_affinity(idata, mask, false);
 +              /* Might be lapic_chip for irq 0 */
 +              if (chip->irq_set_affinity)
 +                      chip->irq_set_affinity(idata, mask, false);
        }
  }
  #endif
@@@ -2909,7 -2907,6 +2909,7 @@@ int mp_irqdomain_alloc(struct irq_domai
        struct irq_data *irq_data;
        struct mp_chip_data *data;
        struct irq_alloc_info *info = arg;
 +      unsigned long flags;
  
        if (!info || nr_irqs > 1)
                return -EINVAL;
  
        cfg = irqd_cfg(irq_data);
        add_pin_to_irq_node(data, ioapic_alloc_attr_node(info), ioapic, pin);
 +
 +      local_irq_save(flags);
        if (info->ioapic_entry)
                mp_setup_entry(cfg, data, info->ioapic_entry);
        mp_register_handler(virq, data->trigger);
        if (virq < nr_legacy_irqs())
                legacy_pic->mask(virq);
 +      local_irq_restore(flags);
  
        apic_printk(APIC_VERBOSE, KERN_DEBUG
                    "IOAPIC[%d]: Set routing entry (%d-%d -> 0x%x -> IRQ %d Mode:%i Active:%i Dest:%d)\n",
index fc9348dc4f92e311315c6c7066da1fd1dd171d5e,57dfad3123410b6444de35b05f9484076f429e31..67bc996ca90983dc353453b3015808315e1c8c35
@@@ -56,10 -56,10 +56,11 @@@ obj-$(CONFIG_ARCH_KEYSTONE)                += timer-k
  obj-$(CONFIG_ARCH_INTEGRATOR_AP)      += timer-integrator-ap.o
  obj-$(CONFIG_CLKSRC_VERSATILE)                += versatile.o
  obj-$(CONFIG_CLKSRC_MIPS_GIC)         += mips-gic-timer.o
 +obj-$(CONFIG_CLKSRC_TANGO_XTAL)               += tango_xtal.o
  obj-$(CONFIG_CLKSRC_IMX_GPT)          += timer-imx-gpt.o
  obj-$(CONFIG_ASM9260_TIMER)           += asm9260_timer.o
  obj-$(CONFIG_H8300)                   += h8300_timer8.o
  obj-$(CONFIG_H8300_TMR16)             += h8300_timer16.o
  obj-$(CONFIG_H8300_TPU)                       += h8300_tpu.o
  obj-$(CONFIG_CLKSRC_ST_LPC)           += clksrc_st_lpc.o
+ obj-$(CONFIG_X86_NUMACHIP)            += numachip.o