Merge branch 'timers-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 22 Jul 2011 23:51:56 +0000 (16:51 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 22 Jul 2011 23:51:56 +0000 (16:51 -0700)
* 'timers-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  mips: Fix i8253 clockevent fallout
  i8253: Cleanup outb/inb magic
  arm: Footbridge: Use common i8253 clockevent
  mips: Use common i8253 clockevent
  x86: Use common i8253 clockevent
  i8253: Create common clockevent implementation
  i8253: Export i8253_lock unconditionally
  pcpskr: MIPS: Make config dependencies finer grained
  pcspkr: Cleanup Kconfig dependencies
  i8253: Move remaining content and delete asm/i8253.h
  i8253: Consolidate definitions of PIT_LATCH
  x86: i8253: Consolidate definitions of global_clock_event
  i8253: Alpha, PowerPC: Remove unused asm/8253pit.h
  alpha: i8253: Cleanup remaining users of i8253pit.h
  i8253: Remove I8253_LOCK config
  i8253: Make pcsp sound driver use the shared i8253_lock
  i8253: Make pcspkr input driver use the shared i8253_lock
  i8253: Consolidate all kernel definitions of i8253_lock
  i8253: Unify all kernel declarations of i8253_lock
  i8253: Create linux/i8253.h and use it in all 8253 related files

1  2 
arch/alpha/kernel/time.c
arch/x86/Kconfig
arch/x86/include/asm/apb_timer.h
arch/x86/kernel/apic/apic.c
init/Kconfig

diff --combined arch/alpha/kernel/time.c
@@@ -46,7 -46,6 +46,6 @@@
  #include <asm/uaccess.h>
  #include <asm/io.h>
  #include <asm/hwrpb.h>
- #include <asm/8253pit.h>
  #include <asm/rtc.h>
  
  #include <linux/mc146818rtc.h>
@@@ -91,7 -90,7 +90,7 @@@ DEFINE_PER_CPU(u8, irq_work_pending)
  #define test_irq_work_pending()      __get_cpu_var(irq_work_pending)
  #define clear_irq_work_pending()     __get_cpu_var(irq_work_pending) = 0
  
 -void set_irq_work_pending(void)
 +void arch_irq_work_raise(void)
  {
        set_irq_work_pending_flag();
  }
diff --combined arch/x86/Kconfig
@@@ -20,6 -20,7 +20,7 @@@ config X8
        select HAVE_UNSTABLE_SCHED_CLOCK
        select HAVE_IDE
        select HAVE_OPROFILE
+       select HAVE_PCSPKR_PLATFORM
        select HAVE_PERF_EVENTS
        select HAVE_IRQ_WORK
        select HAVE_IOREMAP_PROT
@@@ -70,6 -71,7 +71,7 @@@
        select IRQ_FORCED_THREADING
        select USE_GENERIC_SMP_HELPERS if SMP
        select HAVE_BPF_JIT if (X86_64 && NET)
+       select CLKEVT_I8253
  
  config INSTRUCTION_DECODER
        def_bool (KPROBES || PERF_EVENTS)
@@@ -680,6 -682,33 +682,6 @@@ config CALGARY_IOMMU_ENABLED_BY_DEFAUL
          Calgary anyway, pass 'iommu=calgary' on the kernel command line.
          If unsure, say Y.
  
 -config AMD_IOMMU
 -      bool "AMD IOMMU support"
 -      select SWIOTLB
 -      select PCI_MSI
 -      select PCI_IOV
 -      depends on X86_64 && PCI && ACPI
 -      ---help---
 -        With this option you can enable support for AMD IOMMU hardware in
 -        your system. An IOMMU is a hardware component which provides
 -        remapping of DMA memory accesses from devices. With an AMD IOMMU you
 -        can isolate the the DMA memory of different devices and protect the
 -        system from misbehaving device drivers or hardware.
 -
 -        You can find out if your system has an AMD IOMMU if you look into
 -        your BIOS for an option to enable it or if you have an IVRS ACPI
 -        table.
 -
 -config AMD_IOMMU_STATS
 -      bool "Export AMD IOMMU statistics to debugfs"
 -      depends on AMD_IOMMU
 -      select DEBUG_FS
 -      ---help---
 -        This option enables code in the AMD IOMMU driver to collect various
 -        statistics about whats happening in the driver and exports that
 -        information to userspace via debugfs.
 -        If unsure, say N.
 -
  # need this always selected by IOMMU for the VIA workaround
  config SWIOTLB
        def_bool y if X86_64
  config IOMMU_HELPER
        def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
  
 -config IOMMU_API
 -      def_bool (AMD_IOMMU || DMAR)
 -
  config MAXSMP
        bool "Enable Maximum number of SMP Processors and NUMA Nodes"
        depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL
@@@ -1140,7 -1172,7 +1142,7 @@@ comment "NUMA (Summit) requires SMP, 64
  config AMD_NUMA
        def_bool y
        prompt "Old style AMD Opteron NUMA detection"
 -      depends on NUMA && PCI
 +      depends on X86_64 && NUMA && PCI
        ---help---
          Enable AMD NUMA node topology detection.  You should say Y here if
          you have a multi processor AMD system. This uses an old method to
@@@ -1912,6 -1944,55 +1914,6 @@@ config PCI_CNB20LE_QUIR
  
          You should say N unless you know you need this.
  
 -config DMAR
 -      bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
 -      depends on PCI_MSI && ACPI && EXPERIMENTAL
 -      help
 -        DMA remapping (DMAR) devices support enables independent address
 -        translations for Direct Memory Access (DMA) from devices.
 -        These DMA remapping devices are reported via ACPI tables
 -        and include PCI device scope covered by these DMA
 -        remapping devices.
 -
 -config DMAR_DEFAULT_ON
 -      def_bool y
 -      prompt "Enable DMA Remapping Devices by default"
 -      depends on DMAR
 -      help
 -        Selecting this option will enable a DMAR device at boot time if
 -        one is found. If this option is not selected, DMAR support can
 -        be enabled by passing intel_iommu=on to the kernel. It is
 -        recommended you say N here while the DMAR code remains
 -        experimental.
 -
 -config DMAR_BROKEN_GFX_WA
 -      bool "Workaround broken graphics drivers (going away soon)"
 -      depends on DMAR && BROKEN
 -      ---help---
 -        Current Graphics drivers tend to use physical address
 -        for DMA and avoid using DMA APIs. Setting this config
 -        option permits the IOMMU driver to set a unity map for
 -        all the OS-visible memory. Hence the driver can continue
 -        to use physical addresses for DMA, at least until this
 -        option is removed in the 2.6.32 kernel.
 -
 -config DMAR_FLOPPY_WA
 -      def_bool y
 -      depends on DMAR
 -      ---help---
 -        Floppy disk drivers are known to bypass DMA API calls
 -        thereby failing to work when IOMMU is enabled. This
 -        workaround will setup a 1:1 mapping for the first
 -        16MiB to make floppy (an ISA device) work.
 -
 -config INTR_REMAP
 -      bool "Support for Interrupt Remapping (EXPERIMENTAL)"
 -      depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL
 -      ---help---
 -        Supports Interrupt remapping for IO-APIC and MSI devices.
 -        To use x2apic mode in the CPU's which support x2APIC enhancements or
 -        to support platforms with CPU's having > 8 bit APIC ID, say Y.
 -
  source "drivers/pci/pcie/Kconfig"
  
  source "drivers/pci/Kconfig"
@@@ -50,7 -50,6 +50,6 @@@
  #define APBT_DEV_USED  1
  
  extern void apbt_time_init(void);
- extern struct clock_event_device *global_clock_event;
  extern unsigned long apbt_quick_calibrate(void);
  extern int arch_setup_apbt_irqs(int irq, int trigger, int mask, int cpu);
  extern void apbt_setup_secondary_clock(void);
@@@ -62,7 -61,7 +61,7 @@@ extern int sfi_mtimer_num
  #else /* CONFIG_APB_TIMER */
  
  static inline unsigned long apbt_quick_calibrate(void) {return 0; }
 -static inline void apbt_time_init(void) {return 0; }
 +static inline void apbt_time_init(void) { }
  
  #endif
  #endif /* ASM_X86_APBT_H */
@@@ -27,6 -27,7 +27,7 @@@
  #include <linux/syscore_ops.h>
  #include <linux/delay.h>
  #include <linux/timex.h>
+ #include <linux/i8253.h>
  #include <linux/dmar.h>
  #include <linux/init.h>
  #include <linux/cpu.h>
@@@ -39,7 -40,6 +40,6 @@@
  #include <asm/pgalloc.h>
  #include <asm/atomic.h>
  #include <asm/mpspec.h>
- #include <asm/i8253.h>
  #include <asm/i8259.h>
  #include <asm/proto.h>
  #include <asm/apic.h>
@@@ -48,6 -48,7 +48,7 @@@
  #include <asm/hpet.h>
  #include <asm/idle.h>
  #include <asm/mtrr.h>
+ #include <asm/time.h>
  #include <asm/smp.h>
  #include <asm/mce.h>
  #include <asm/tsc.h>
@@@ -390,8 -391,7 +391,8 @@@ static unsigned int reserve_eilvt_offse
  
  /*
   * If mask=1, the LVT entry does not generate interrupts while mask=0
 - * enables the vector. See also the BKDGs.
 + * enables the vector. See also the BKDGs. Must be called with
 + * preemption disabled.
   */
  
  int setup_APIC_eilvt(u8 offset, u8 vector, u8 msg_type, u8 mask)
diff --combined init/Kconfig
@@@ -19,6 -19,7 +19,6 @@@ config DEFCONFIG_LIS
  config CONSTRUCTORS
        bool
        depends on !UML
 -      default y
  
  config HAVE_IRQ_WORK
        bool
@@@ -203,15 -204,6 +203,15 @@@ config KERNEL_LZ
  
  endchoice
  
 +config DEFAULT_HOSTNAME
 +      string "Default hostname"
 +      default "(none)"
 +      help
 +        This option determines the default system hostname before userspace
 +        calls sethostname(2). The kernel traditionally uses "(none)" here,
 +        but you may wish to use a different default here to make a minimal
 +        system more usable with less configuration.
 +
  config SWAP
        bool "Support for paging of anonymous memory (swap)"
        depends on MMU && BLOCK
@@@ -1007,14 -999,19 +1007,19 @@@ config ELF_COR
        help
          Enable support for generating core dumps. Disabling saves about 4k.
  
  config PCSPKR_PLATFORM
        bool "Enable PC-Speaker support" if EXPERT
-       depends on ALPHA || X86 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES
+       depends on HAVE_PCSPKR_PLATFORM
+       select I8253_LOCK
        default y
        help
            This option allows to disable the internal PC-Speaker
            support, saving some memory.
  
+ config HAVE_PCSPKR_PLATFORM
+       bool
  config BASE_FULL
        default y
        bool "Enable full-sized data structures for core" if EXPERT