Commit 7a76117f authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'platform-drivers-x86-v6.2-1' of...

Merge tag 'platform-drivers-x86-v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver updates from Hans de Goede:

 - Intel:
      - PMC: Add support for Meteor Lake
      - Intel On Demand: various updates

 - Ideapad-laptop:
      - Add support for various Fn keys on new models
      - Fix touchpad on/off handling in a generic way to avoid having to
        add more and more quirks

 - Android x86 tablets:
      - Add support for two more X86 Android tablet models

 - New Dell WMI DDV driver

 - Miscellaneous cleanups and small bugfixes

* tag 'platform-drivers-x86-v6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (52 commits)
  platform/mellanox: mlxbf-pmc: Fix event typo
  platform/x86: intel_scu_ipc: fix possible name leak in __intel_scu_ipc_register()
  platform/x86: sony-laptop: Convert to use sysfs_emit_at() API
  platform/x86/dell: alienware-wmi: Use sysfs_emit() instead of scnprintf()
  platform/x86: uv_sysfs: Use sysfs_emit() instead of scnprintf()
  platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]()
  platform/x86: x86-android-tablets: Add Advantech MICA-071 extra button
  platform/x86: x86-android-tablets: Add Lenovo Yoga Tab 3 (YT3-X90F) charger + fuel-gauge data
  platform/x86: x86-android-tablets: Add Medion Lifetab S10346 data
  platform/x86: wireless-hotkey: use ACPI HID as phys
  platform/x86/intel/hid: Add module-params for 5 button array + SW_TABLET_MODE reporting
  platform/x86: ideapad-laptop: Make touchpad_ctrl_via_ec a module option
  platform/x86: ideapad-laptop: Stop writing VPCCMD_W_TOUCHPAD at probe time
  platform/x86: ideapad-laptop: Send KEY_TOUCHPAD_TOGGLE on some models
  platform/x86: ideapad-laptop: Only toggle ps2 aux port on/off on select models
  platform/x86: ideapad-laptop: Do not send KEY_TOUCHPAD* events on probe / resume
  platform/x86: ideapad-laptop: Refactor ideapad_sync_touchpad_state()
  tools/arch/x86: intel_sdsi: Add support for reading meter certificates
  tools/arch/x86: intel_sdsi: Add support for new GUID
  tools/arch/x86: intel_sdsi: Read more On Demand registers
  ...
parents 01f3cbb2 b0b698b8
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
What:		/sys/kernel/debug/dell-wmi-ddv-<wmi_device_name>/fan_sensor_information
Date:		September 2022
KernelVersion:	6.1
Contact:	Armin Wolf <W_Armin@gmx.de>
Description:
		This file contains the contents of the fan sensor information buffer,
		which contains fan sensor entries and a terminating character (0xFF).

		Each fan sensor entry consists of three bytes with an unknown meaning,
		interested people may use this file for reverse-engineering.

What:		/sys/kernel/debug/dell-wmi-ddv-<wmi_device_name>/thermal_sensor_information
Date:		September 2022
KernelVersion:	6.1
Contact:	Armin Wolf <W_Armin@gmx.de>
Description:
		This file contains the contents of the thermal sensor information buffer,
		which contains thermal sensor entries and a terminating character (0xFF).

		Each thermal sensor entry consists of five bytes with an unknown meaning,
		interested people may use this file for reverse-engineering.
+29 −18
Original line number Diff line number Diff line
@@ -4,21 +4,21 @@ KernelVersion: 5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		This directory contains interface files for accessing Intel
		Software Defined Silicon (SDSi) features on a CPU. X
		represents the socket instance (though not the socket ID).
		The socket ID is determined by reading the registers file
		and decoding it per the specification.
		On Demand (formerly Software Defined Silicon or SDSi) features
		on a CPU. X represents the socket instance (though not the
		socket ID). The socket ID is determined by reading the
		registers file and decoding it per the specification.

		Some files communicate with SDSi hardware through a mailbox.
		Should the operation fail, one of the following error codes
		may be returned:
		Some files communicate with On Demand hardware through a
		mailbox. Should the operation fail, one of the following error
		codes may be returned:

		==========	=====
		Error Code	Cause
		==========	=====
		EIO		General mailbox failure. Log may indicate cause.
		EBUSY		Mailbox is owned by another agent.
		EPERM		SDSI capability is not enabled in hardware.
		EPERM		On Demand capability is not enabled in hardware.
		EPROTO		Failure in mailbox protocol detected by driver.
				See log for details.
		EOVERFLOW	For provision commands, the size of the data
@@ -54,8 +54,8 @@ KernelVersion: 5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		(WO) Used to write an Authentication Key Certificate (AKC) to
		the SDSi NVRAM for the CPU. The AKC is used to authenticate a
		Capability Activation Payload. Mailbox command.
		the On Demand NVRAM for the CPU. The AKC is used to authenticate
		a Capability Activation Payload. Mailbox command.

What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/provision_cap
Date:		Feb 2022
@@ -63,17 +63,28 @@ KernelVersion: 5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		(WO) Used to write a Capability Activation Payload (CAP) to the
		SDSi NVRAM for the CPU. CAPs are used to activate a given CPU
		feature. A CAP is validated by SDSi hardware using a previously
		provisioned AKC file. Upon successful authentication, the CPU
		configuration is updated. A cold reboot is required to fully
		activate the feature. Mailbox command.
		On Demand NVRAM for the CPU. CAPs are used to activate a given
		CPU feature. A CAP is validated by On Demand hardware using a
		previously provisioned AKC file. Upon successful authentication,
		the CPU configuration is updated. A cold reboot is required to
		fully activate the feature. Mailbox command.

What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/meter_certificate
Date:		Nov 2022
KernelVersion:	6.2
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		(RO) Used to read back the current meter certificate for the CPU
		from Intel On Demand hardware. The meter certificate contains
		utilization metrics of On Demand enabled features. Mailbox
		command.

What:		/sys/bus/auxiliary/devices/intel_vsec.sdsi.X/state_certificate
Date:		Feb 2022
KernelVersion:	5.18
Contact:	"David E. Box" <david.e.box@linux.intel.com>
Description:
		(RO) Used to read back the current State Certificate for the CPU
		from SDSi hardware. The State Certificate contains information
		about the current licenses on the CPU. Mailbox command.
		(RO) Used to read back the current state certificate for the CPU
		from On Demand hardware. The state certificate contains
		information about the current licenses on the CPU. Mailbox
		command.
+7 −0
Original line number Diff line number Diff line
What:		/sys/class/power_supply/<battery_name>/eppid
Date:		September 2022
KernelVersion:	6.1
Contact:	Armin Wolf <W_Armin@gmx.de>
Description:
		Reports the Dell ePPID (electronic Dell Piece Part Identification)
		of the ACPI battery.
+9 −2
Original line number Diff line number Diff line
@@ -5867,6 +5867,13 @@ L: Dell.Client.Kernel@dell.com
S:	Maintained
F:	drivers/platform/x86/dell/dell-wmi-descriptor.c
DELL WMI DDV DRIVER
M:	Armin Wolf <W_Armin@gmx.de>
S:	Maintained
F:	Documentation/ABI/testing/debugfs-dell-wmi-ddv
F:	Documentation/ABI/testing/sysfs-platform-dell-wmi-ddv
F:	drivers/platform/x86/dell/dell-wmi-ddv.c
DELL WMI SYSMAN DRIVER
M:	Divya Bharathi <divya.bharathi@dell.com>
M:	Prasanth Ksr <prasanth.ksr@dell.com>
@@ -9376,7 +9383,7 @@ F: drivers/net/wireless/intersil/hostap/
HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER
L:	platform-driver-x86@vger.kernel.org
S:	Orphan
F:	drivers/platform/x86/tc1100-wmi.c
F:	drivers/platform/x86/hp/tc1100-wmi.c
HPET:	High Precision Event Timers driver
M:	Clemens Ladisch <clemens@ladisch.de>
@@ -11870,7 +11877,7 @@ M: Eric Piel <eric.piel@tremplin-utc.net>
S:	Maintained
F:	Documentation/misc-devices/lis3lv02d.rst
F:	drivers/misc/lis3lv02d/
F:	drivers/platform/x86/hp_accel.c
F:	drivers/platform/x86/hp/hp_accel.c
LIST KUNIT TEST
M:	David Gow <davidgow@google.com>
+4 −4
Original line number Diff line number Diff line
@@ -696,7 +696,7 @@ static void __battery_hook_unregister(struct acpi_battery_hook *hook, int lock)
	if (lock)
		mutex_lock(&hook_mutex);
	list_for_each_entry(battery, &acpi_battery_list, list) {
		hook->remove_battery(battery->bat);
		hook->remove_battery(battery->bat, hook);
	}
	list_del(&hook->list);
	if (lock)
@@ -724,7 +724,7 @@ void battery_hook_register(struct acpi_battery_hook *hook)
	 * its attributes.
	 */
	list_for_each_entry(battery, &acpi_battery_list, list) {
		if (hook->add_battery(battery->bat)) {
		if (hook->add_battery(battery->bat, hook)) {
			/*
			 * If a add-battery returns non-zero,
			 * the registration of the extension has failed,
@@ -762,7 +762,7 @@ static void battery_hook_add_battery(struct acpi_battery *battery)
	 * during the battery module initialization.
	 */
	list_for_each_entry_safe(hook_node, tmp, &battery_hook_list, list) {
		if (hook_node->add_battery(battery->bat)) {
		if (hook_node->add_battery(battery->bat, hook_node)) {
			/*
			 * The notification of the extensions has failed, to
			 * prevent further errors we will unload the extension.
@@ -785,7 +785,7 @@ static void battery_hook_remove_battery(struct acpi_battery *battery)
	 * custom attributes from the battery.
	 */
	list_for_each_entry(hook, &battery_hook_list, list) {
		hook->remove_battery(battery->bat);
		hook->remove_battery(battery->bat, hook);
	}
	/* Then, just remove the battery from the list */
	list_del(&battery->list);
Loading