From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Tue, 31 Mar 2020 23:43:40 +0000 (-0700)
Subject: Merge tag 'platform-drivers-x86-v5.7-1' of git://git.infradead.org/linux-platform... 
X-Git-Tag: v5.7-rc1~148
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=dba43fc4ba2fed63e898867fa973c69c37623939;p=users%2Fwilly%2Flinux.git

Merge tag 'platform-drivers-x86-v5.7-1' of git://git.infradead.org/linux-platform-drivers-x86

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
  ...
---

dba43fc4ba2fed63e898867fa973c69c37623939
diff --cc drivers/platform/x86/Kconfig
index cd9e2758c479,c304c069df79..0ad7ad8cf8e1
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@@ -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"
diff --cc drivers/platform/x86/intel_pmc_core.c
index 3df33ff50faa,d265cd5b1f45..d2a5d4c36715
--- a/drivers/platform/x86/intel_pmc_core.c
+++ b/drivers/platform/x86/intel_pmc_core.c
@@@ -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),
  	{}
  };