Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 22 Mar 2012 16:42:36 +0000 (09:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 22 Mar 2012 16:43:22 +0000 (09:43 -0700)
Pull x86 platform changes from Ingo Molnar.

Removes the Moorestown platform that nobody ever used.

* 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/platform: Move APIC ID validity check into platform APIC code
  x86/olpc/xo15/sci: Enable lid close wakeup control
  x86/geode/net5501: Add platform driver for Soekris Engineering net5501
  x86/geode/alix2: Supplement driver to include GPIO button support
  x86/mid/powerbtn: Use MSIC read/write instead of ipc_scu
  x86/mid/thermal: Turn off thermistor
  x86/mid/thermal: Add msic_thermal alias
  x86/mid/thermal: Convert to use Intel MSIC API
  x86/mid/scu_ipc: Remove Moorestown support
  x86/mid: Kill off Moorestown
  x86/mrst: Add msic_thermal platform support
  x86/config: Select MSIC MFD driver on Intel Medfield platform
  x86/mid: Remove Intel Moorestown
  x86/mrst: Set ISA bus type for fake MP IRQs
  x86/ioapic: Use legacy_pic to set correct gsi-irq mapping

1  2 
arch/x86/Kconfig
arch/x86/kernel/smpboot.c
drivers/platform/x86/Kconfig
drivers/platform/x86/Makefile

diff --combined arch/x86/Kconfig
@@@ -82,7 -82,6 +82,7 @@@ config X8
        select CLKEVT_I8253
        select ARCH_HAVE_NMI_SAFE_CMPXCHG
        select GENERIC_IOMAP
 +      select DCACHE_WORD_ACCESS if !DEBUG_PAGEALLOC
  
  config INSTRUCTION_DECODER
        def_bool (KPROBES || PERF_EVENTS)
@@@ -180,9 -179,6 +180,9 @@@ config ARCH_HAS_DEFAULT_IDL
  config ARCH_HAS_CACHE_LINE_SIZE
        def_bool y
  
 +config ARCH_HAS_CPU_AUTOPROBE
 +      def_bool y
 +
  config HAVE_SETUP_PER_CPU_AREA
        def_bool y
  
@@@ -402,7 -398,6 +402,7 @@@ config X86_INTEL_C
        select X86_REBOOTFIXUPS
        select OF
        select OF_EARLY_FLATTREE
 +      select IRQ_DOMAIN
        ---help---
          Select for the Intel CE media processor (CE4100) SOC.
          This option compiles in support for the CE4100 SOC for settop
@@@ -422,27 -417,6 +422,6 @@@ if X86_WANT_INTEL_MI
  config X86_INTEL_MID
        bool
  
- config X86_MRST
-        bool "Moorestown MID platform"
-       depends on PCI
-       depends on PCI_GOANY
-       depends on X86_IO_APIC
-       select X86_INTEL_MID
-       select SFI
-       select DW_APB_TIMER
-       select APB_TIMER
-       select I2C
-       select SPI
-       select INTEL_SCU_IPC
-       select X86_PLATFORM_DEVICES
-       ---help---
-         Moorestown is Intel's Low Power Intel Architecture (LPIA) based Moblin
-         Internet Device(MID) platform. Moorestown consists of two chips:
-         Lincroft (CPU core, graphics, and memory controller) and Langwell IOH.
-         Unlike standard x86 PCs, Moorestown does not have many legacy devices
-         nor standard legacy replacement devices/features. e.g. Moorestown does
-         not contain i8259, i8254, HPET, legacy BIOS, most of the io ports.
  config X86_MDFLD
         bool "Medfield MID platform"
        depends on PCI
        select SPI
        select INTEL_SCU_IPC
        select X86_PLATFORM_DEVICES
+       select MFD_INTEL_MSIC
        ---help---
          Medfield is Intel's Low Power Intel Architecture (LPIA) based Moblin
          Internet Device(MID) platform. 
@@@ -2081,7 -2056,6 +2061,7 @@@ config OLP
        select GPIOLIB
        select OF
        select OF_PROMTREE
 +      select IRQ_DOMAIN
        ---help---
          Add support for detecting the unique features of the OLPC
          XO hardware.
@@@ -2139,6 -2113,12 +2119,12 @@@ config ALI
  
          Note: You have to set alix.force=1 for boards with Award BIOS.
  
+ config NET5501
+       bool "Soekris Engineering net5501 System Support (LEDS, GPIO, etc)"
+       select GPIOLIB
+       ---help---
+         This option enables system support for the Soekris Engineering net5501.
  endif # X86_32
  
  config AMD_NB
@@@ -291,6 -291,19 +291,6 @@@ notrace static void __cpuinit start_sec
        per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE;
        x86_platform.nmi_init();
  
 -      /*
 -       * Wait until the cpu which brought this one up marked it
 -       * online before enabling interrupts. If we don't do that then
 -       * we can end up waking up the softirq thread before this cpu
 -       * reached the active state, which makes the scheduler unhappy
 -       * and schedule the softirq thread on the wrong cpu. This is
 -       * only observable with forced threaded interrupts, but in
 -       * theory it could also happen w/o them. It's just way harder
 -       * to achieve.
 -       */
 -      while (!cpumask_test_cpu(smp_processor_id(), cpu_active_mask))
 -              cpu_relax();
 -
        /* enable local interrupts */
        local_irq_enable();
  
@@@ -727,6 -740,8 +727,6 @@@ do_rest
         * the targeted processor.
         */
  
 -      printk(KERN_DEBUG "smpboot cpu %d: start_ip = %lx\n", cpu, start_ip);
 -
        atomic_set(&init_deasserted, 0);
  
        if (get_uv_system_type() != UV_NON_UNIQUE_APIC) {
                        schedule();
                }
  
 -              if (cpumask_test_cpu(cpu, cpu_callin_mask))
 +              if (cpumask_test_cpu(cpu, cpu_callin_mask)) {
 +                      print_cpu_msr(&cpu_data(cpu));
                        pr_debug("CPU%d: has booted.\n", cpu);
 -              else {
 +              else {
                        boot_error = 1;
                        if (*(volatile u32 *)TRAMPOLINE_SYM(trampoline_status)
                            == 0xA5A5A5A5)
@@@ -833,7 -847,7 +833,7 @@@ int __cpuinit native_cpu_up(unsigned in
  
        if (apicid == BAD_APICID || apicid == boot_cpu_physical_apicid ||
            !physid_isset(apicid, phys_cpu_present_map) ||
-           (!x2apic_mode && apicid >= 255)) {
+           !apic->apic_id_valid(apicid)) {
                printk(KERN_ERR "%s: bad cpu %d\n", __func__, cpu);
                return -EINVAL;
        }
@@@ -143,30 -143,6 +143,30 @@@ config FUJITSU_LAPTOP_DEBU
  
          If you are not sure, say N here.
  
 +config FUJITSU_TABLET
 +       tristate "Fujitsu Tablet Extras"
 +       depends on ACPI
 +       depends on INPUT
 +       ---help---
 +         This is a driver for tablets built by Fujitsu:
 +
 +           * Lifebook P1510/P1610/P1620/Txxxx
 +           * Stylistic ST5xxx
 +           * Possibly other Fujitsu tablet models
 +
 +         It adds support for the panel buttons, docking station detection,
 +         tablet/notebook mode detection for convertible and
 +         orientation detection for docked slates.
 +
 +         If you have a Fujitsu convertible or slate, say Y or M here.
 +
 +config AMILO_RFKILL
 +      tristate "Fujitsu-Siemens Amilo rfkill support"
 +      depends on RFKILL
 +      ---help---
 +        This is a driver for enabling wifi on some Fujitsu-Siemens Amilo
 +        laptops.
 +
  config TC1100_WMI
        tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)"
        depends on !X86_64
@@@ -696,33 -672,11 +696,11 @@@ config INTEL_MID_POWER_BUTTO
  
  config INTEL_MFLD_THERMAL
         tristate "Thermal driver for Intel Medfield platform"
-        depends on INTEL_SCU_IPC && THERMAL
+        depends on MFD_INTEL_MSIC && THERMAL
         help
           Say Y here to enable thermal driver support for the  Intel Medfield
           platform.
  
- config RAR_REGISTER
-       bool "Restricted Access Region Register Driver"
-       depends on PCI && X86_MRST
-       default n
-       ---help---
-         This driver allows other kernel drivers access to the
-         contents of the restricted access region control registers.
-         The restricted access region control registers
-         (rar_registers) are used to pass address and
-         locking information on restricted access regions
-         to other drivers that use restricted access regions.
-         The restricted access regions are regions of memory
-         on the Intel MID Platform that are not accessible to
-         the x86 processor, but are accessible to dedicated
-         processors on board peripheral devices.
-         The purpose of the restricted access regions is to
-         protect sensitive data from compromise by unauthorized
-         programs running on the x86 processor.
  config INTEL_IPS
        tristate "Intel Intelligent Power Sharing"
        depends on ACPI
@@@ -17,14 -17,12 +17,14 @@@ obj-$(CONFIG_ACER_WMI)             += acer-wmi.
  obj-$(CONFIG_ACERHDF)         += acerhdf.o
  obj-$(CONFIG_HP_ACCEL)                += hp_accel.o
  obj-$(CONFIG_HP_WMI)          += hp-wmi.o
 +obj-$(CONFIG_AMILO_RFKILL)    += amilo-rfkill.o
  obj-$(CONFIG_TC1100_WMI)      += tc1100-wmi.o
  obj-$(CONFIG_SONY_LAPTOP)     += sony-laptop.o
  obj-$(CONFIG_IDEAPAD_LAPTOP)  += ideapad-laptop.o
  obj-$(CONFIG_THINKPAD_ACPI)   += thinkpad_acpi.o
  obj-$(CONFIG_SENSORS_HDAPS)   += hdaps.o
  obj-$(CONFIG_FUJITSU_LAPTOP)  += fujitsu-laptop.o
 +obj-$(CONFIG_FUJITSU_TABLET)  += fujitsu-tablet.o
  obj-$(CONFIG_PANASONIC_LAPTOP)        += panasonic-laptop.o
  obj-$(CONFIG_INTEL_MENLOW)    += intel_menlow.o
  obj-$(CONFIG_ACPI_WMI)                += wmi.o
@@@ -36,7 -34,6 +36,6 @@@ obj-$(CONFIG_TOSHIBA_BT_RFKILL)       += tosh
  obj-$(CONFIG_INTEL_SCU_IPC)   += intel_scu_ipc.o
  obj-$(CONFIG_INTEL_SCU_IPC_UTIL) += intel_scu_ipcutil.o
  obj-$(CONFIG_INTEL_MFLD_THERMAL) += intel_mid_thermal.o
- obj-$(CONFIG_RAR_REGISTER)    += intel_rar_register.o
  obj-$(CONFIG_INTEL_IPS)               += intel_ips.o
  obj-$(CONFIG_GPIO_INTEL_PMIC) += intel_pmic_gpio.o
  obj-$(CONFIG_XO1_RFKILL)      += xo1-rfkill.o