Merge tag 'platform-drivers-x86-v5.7-1' of git://git.infradead.org/linux-platform...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 31 Mar 2020 23:43:40 +0000 (16:43 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 31 Mar 2020 23:43:40 +0000 (16:43 -0700)
Pull x86 platform driver updates from Andy Shevchenko:

 - Fix for improper handling of fan_boost_mode in sysfs for ASUS
   laptops.

 - On newer ASUS laptops the 1st battery is named differently, here is a
   fix.

 - Fix Lex 2I385SW to allow both network cards to be used.

 - The power integrated circuit driver for Surface 3 has been added.

 - Refactor and clean up of Intel PMC driver and enable it on Intel
   Jasper Lake.

 - Clean up of Dell RBU driver.

 - Big update for Intel Speed Select technology support tool and driver.

* tag 'platform-drivers-x86-v5.7-1' of git://git.infradead.org/linux-platform-drivers-x86: (75 commits)
  platform/x86: surface3_power: Fix always true condition in mshw0011_space_handler()
  platform/x86: surface3_power: Fix Kconfig section ordering
  platform/x86: surface3_power: Add missed headers
  platform/x86: surface3_power: Reformat GUID assignment
  platform/x86: surface3_power: Drop useless macro ACPI_PTR()
  platform/x86: surface3_power: Prefix POLL_INTERVAL with SURFACE_3
  platform/x86: surface3_power: Simplify mshw0011_adp_psr() to one liner
  platform/x86: surface3_power: Use dev_err() instead of pr_err()
  platform/x86: surface3_power: Drop unused structure definition
  platform/x86: surface3_power: MSHW0011 rev-eng implementation
  platform/x86: intel_pmc_core: Make pmc_core_substate_res_show() generic
  platform/x86: intel_pmc_core: Make pmc_core_lpm_display() generic for platforms that support sub-states
  tools/power/x86/intel-speed-select: Fix a typo in error message
  tools/power/x86/intel-speed-select: Update version
  tools/power/x86/intel-speed-select: Avoid duplicate Package strings for json
  tools/power/x86/intel-speed-select: Add display for enabled cpus count
  tools/power/x86/intel-speed-select: Print friendly warning for bad command line
  tools/power/x86/intel-speed-select: Fix avx options for turbo-freq feature
  tools/power/x86/intel-speed-select: Improve CLX commands
  tools/power/x86/intel-speed-select: Show error for invalid CPUs in the options
  ...

1  2 
MAINTAINERS
drivers/platform/x86/Kconfig
drivers/platform/x86/intel-uncore-frequency.c
drivers/platform/x86/intel_pmc_core.c

diff --cc MAINTAINERS
Simple merge
@@@ -978,54 -1141,46 +1141,47 @@@ config TOPSTAR_LAPTO
        depends on ACPI
        depends on INPUT
        select INPUT_SPARSEKMAP
-       help
-         This driver provides support for the Intel Virtual Button interface.
-         Some laptops require this driver for power button support.
-         To compile this driver as a module, choose M here: the module will
-         be called intel_vbtn.
- config INTEL_SCU_IPC
-       bool "Intel SCU IPC Support"
-       depends on X86_INTEL_MID
-       default y
+       select LEDS_CLASS
+       select NEW_LEDS
        ---help---
-         IPC is used to bridge the communications between kernel and SCU on
-         some embedded Intel x86 platforms. This is not needed for PC-type
-         machines.
+         This driver adds support for hotkeys found on Topstar laptops.
  
- config INTEL_SCU_IPC_UTIL
-       tristate "Intel SCU IPC utility driver"
-       depends on INTEL_SCU_IPC
-       ---help---
-         The IPC Util driver provides an interface with the SCU enabling
-         low level access for debug work and updating the firmware. Say
-         N unless you will be doing this on an Intel MID platform.
+         If you have a Topstar laptop, say Y or M here.
  
- config INTEL_MID_POWER_BUTTON
-       tristate "power button driver for Intel MID platforms"
-       depends on INTEL_SCU_IPC && INPUT
+ config I2C_MULTI_INSTANTIATE
+       tristate "I2C multi instantiate pseudo device driver"
+       depends on I2C && ACPI
        help
-         This driver handles the power button on the Intel MID platforms.
+         Some ACPI-based systems list multiple i2c-devices in a single ACPI
+         firmware-node. This driver will instantiate separate i2c-clients
+         for each device in the firmware-node.
  
-         If unsure, say N.
+         To compile this driver as a module, choose M here: the module
+         will be called i2c-multi-instantiate.
  
- config INTEL_MFLD_THERMAL
-        tristate "Thermal driver for Intel Medfield platform"
-        depends on MFD_INTEL_MSIC && THERMAL
-        help
-          Say Y here to enable thermal driver support for the  Intel Medfield
-          platform.
+ config MLX_PLATFORM
+       tristate "Mellanox Technologies platform support"
+       depends on I2C && REGMAP
+       ---help---
+         This option enables system support for the Mellanox Technologies
+         platform. The Mellanox systems provide data center networking
+         solutions based on Virtual Protocol Interconnect (VPI) technology
+         enable seamless connectivity to 56/100Gb/s InfiniBand or 10/40/56GbE
+         connection.
  
- config INTEL_IPS
-       tristate "Intel Intelligent Power Sharing"
-       depends on ACPI && PCI
+         If you have a Mellanox system, say Y or M here.
+ config TOUCHSCREEN_DMI
+       bool "DMI based touchscreen configuration info"
+       depends on ACPI && DMI && I2C=y && TOUCHSCREEN_SILEAD
++      select EFI_EMBEDDED_FIRMWARE if EFI
        ---help---
-         Intel Calpella platforms support dynamic power sharing between the
-         CPU and GPU, maximizing performance in a given TDP.  This driver,
-         along with the CPU frequency and i915 drivers, provides that
-         functionality.  If in doubt, say Y here; it will only load on
-         supported platforms.
+         Certain ACPI based tablets with e.g. Silead or Chipone touchscreens
+         do not have enough data in ACPI tables for the touchscreen driver to
+         handle the touchscreen properly, as OEMs expect the data to be baked
+         into the tablet model specific version of the driver shipped with the
+         the OS-image for the device. This option supplies the missing info.
+         Enable this for x86 tablets with Silead or Chipone touchscreens.
  
  config INTEL_IMR
        bool "Intel Isolated Memory Region support"
@@@ -871,18 -1144,19 +1144,19 @@@ static inline void pmc_core_dbgfs_unreg
  #endif /* CONFIG_DEBUG_FS */
  
  static const struct x86_cpu_id intel_pmc_core_ids[] = {
 -      INTEL_CPU_FAM6(SKYLAKE_L, spt_reg_map),
 -      INTEL_CPU_FAM6(SKYLAKE, spt_reg_map),
 -      INTEL_CPU_FAM6(KABYLAKE_L, spt_reg_map),
 -      INTEL_CPU_FAM6(KABYLAKE, spt_reg_map),
 -      INTEL_CPU_FAM6(CANNONLAKE_L, cnp_reg_map),
 -      INTEL_CPU_FAM6(ICELAKE_L, icl_reg_map),
 -      INTEL_CPU_FAM6(ICELAKE_NNPI, icl_reg_map),
 -      INTEL_CPU_FAM6(COMETLAKE, cnp_reg_map),
 -      INTEL_CPU_FAM6(COMETLAKE_L, cnp_reg_map),
 -      INTEL_CPU_FAM6(TIGERLAKE_L, tgl_reg_map),
 -      INTEL_CPU_FAM6(TIGERLAKE, tgl_reg_map),
 -      INTEL_CPU_FAM6(ATOM_TREMONT, tgl_reg_map),
 -      INTEL_CPU_FAM6(ATOM_TREMONT_L, tgl_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(SKYLAKE_L,           &spt_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(SKYLAKE,             &spt_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(KABYLAKE_L,          &spt_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(KABYLAKE,            &spt_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(CANNONLAKE_L,        &cnp_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_L,           &icl_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_NNPI,        &icl_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(COMETLAKE,           &cnp_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(COMETLAKE_L,         &cnp_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE_L,         &tgl_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE,           &tgl_reg_map),
 +      X86_MATCH_INTEL_FAM6_MODEL(ATOM_TREMONT,        &tgl_reg_map),
++      X86_MATCH_INTEL_FAM6_MODEL(ATOM_TREMONT_L,      &tgl_reg_map),
        {}
  };