Skip to content

Commit

Permalink
Merge tag 'platform-drivers-x86-v5.15-1' of git://git.kernel.org/pub/…
Browse files Browse the repository at this point in the history
…scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver updates from Hans de Goede:
 "Highlights:

   - Move all the Intel drivers into their own subdir(s) (mostly Kate's
     work)

   - New meraki-mx100 platform driver

   - Asus WMI driver enhancements, including support for
     /sys/firmware/acpi/platform_profile

   - New BIOS SAR driver for Intel M.2 WWAM modems

   - Alder Lake support for the Intel PMC driver

   - A whole bunch of cleanups + fixes all over the place"

* tag 'platform-drivers-x86-v5.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (65 commits)
  platform/x86: dell-smbios-wmi: Add missing kfree in error-exit from run_smbios_call
  platform/x86: dell-smbios-wmi: Avoid false-positive memcpy() warning
  platform/x86: ISST: use semi-colons instead of commas
  platform/x86: asus-wmi: Fix "unsigned 'retval' is never less than zero" smatch warning
  platform/x86: asus-wmi: Delete impossible condition
  platform/x86: hp_accel: Convert to be a platform driver
  platform/x86: hp_accel: Remove _INI method call
  platform/mellanox: mlxbf-pmc: fix kernel-doc notation
  platform/x86/intel: pmc/core: Add GBE Package C10 fix for Alder Lake PCH
  platform/x86/intel: pmc/core: Add Alder Lake low power mode support for pmc core
  platform/x86/intel: pmc/core: Add Latency Tolerance Reporting (LTR) support to Alder Lake
  platform/x86/intel: pmc/core: Add Alderlake support to pmc core driver
  platform/x86: intel-wmi-thunderbolt: Move to intel sub-directory
  platform/x86: intel-wmi-sbl-fw-update: Move to intel sub-directory
  platform/x86: intel-vbtn: Move to intel sub-directory
  platform/x86: intel_oaktrail: Move to intel sub-directory
  platform/x86: intel_int0002_vgpio: Move to intel sub-directory
  platform/x86: intel-hid: Move to intel sub-directory
  platform/x86: intel_atomisp2: Move to intel sub-directory
  platform/x86: intel_speed_select_if: Move to intel sub-directory
  ...
  • Loading branch information
torvalds committed Sep 2, 2021
2 parents 89b6b8c + 0487d4f commit 7ba88a2
Show file tree
Hide file tree
Showing 89 changed files with 2,429 additions and 636 deletions.
2 changes: 1 addition & 1 deletion Documentation/ABI/testing/dell-smbios-wmi
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
What: /dev/wmi/dell-smbios
Date: November 2017
KernelVersion: 4.15
Contact: "Mario Limonciello" <mario.limonciello@dell.com>
Contact: Dell.Client.Kernel@dell.com
Description:
Perform SMBIOS calls on supported Dell machines.
through the Dell ACPI-WMI interface.
Expand Down
2 changes: 1 addition & 1 deletion Documentation/ABI/testing/sysfs-bus-thunderbolt
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ Description: When new NVM image is written to the non-active NVM
What: /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
Date: Oct 2020
KernelVersion: v5.9
Contact: Mario Limonciello <mario.limonciello@dell.com>
Contact: Mario Limonciello <mario.limonciello@outlook.com>
Description: For supported devices, automatically authenticate the new Thunderbolt
image when the device is disconnected from the host system.

Expand Down
19 changes: 15 additions & 4 deletions Documentation/ABI/testing/sysfs-class-firmware-attributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ What: /sys/class/firmware-attributes/*/attributes/*/
Date: February 2021
KernelVersion: 5.11
Contact: Divya Bharathi <[email protected]>,
Mario Limonciello <[email protected]>,
Prasanth KSR <[email protected]>
[email protected]
Description:
A sysfs interface for systems management software to enable
configuration capability on supported systems. This directory
Expand Down Expand Up @@ -130,8 +130,8 @@ What: /sys/class/firmware-attributes/*/authentication/
Date: February 2021
KernelVersion: 5.11
Contact: Divya Bharathi <[email protected]>,
Mario Limonciello <[email protected]>,
Prasanth KSR <[email protected]>
[email protected]
Description:
Devices support various authentication mechanisms which can be exposed
as a separate configuration object.
Expand Down Expand Up @@ -220,8 +220,8 @@ What: /sys/class/firmware-attributes/*/attributes/pending_reboot
Date: February 2021
KernelVersion: 5.11
Contact: Divya Bharathi <[email protected]>,
Mario Limonciello <[email protected]>,
Prasanth KSR <[email protected]>
[email protected]
Description:
A read-only attribute reads 1 if a reboot is necessary to apply
pending BIOS attribute changes. Also, an uevent_KOBJ_CHANGE is
Expand Down Expand Up @@ -249,8 +249,8 @@ What: /sys/class/firmware-attributes/*/attributes/reset_bios
Date: February 2021
KernelVersion: 5.11
Contact: Divya Bharathi <[email protected]>,
Mario Limonciello <[email protected]>,
Prasanth KSR <[email protected]>
[email protected]
Description:
This attribute can be used to reset the BIOS Configuration.
Specifically, it tells which type of reset BIOS configuration is being
Expand All @@ -272,3 +272,14 @@ Description:

Note that any changes to this attribute requires a reboot
for changes to take effect.

What: /sys/class/firmware-attributes/*/attributes/debug_cmd
Date: July 2021
KernelVersion: 5.14
Contact: Mark Pearson <[email protected]>
Description:
This write only attribute can be used to send debug commands to the BIOS.
This should only be used when recommended by the BIOS vendor. Vendors may
use it to enable extra debug attributes or BIOS features for testing purposes.

Note that any changes to this attribute requires a reboot for changes to take effect.
54 changes: 54 additions & 0 deletions Documentation/ABI/testing/sysfs-driver-intc_sar
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
What: /sys/bus/platform/devices/INTC1092:00/intc_reg
Date: August 2021
KernelVersion: 5.15
Contact: Shravan S <[email protected]>,
An Sudhakar <[email protected]>
Description:
Specific Absorption Rate (SAR) regulatory mode is typically
derived based on information like mcc (Mobile Country Code) and
mnc (Mobile Network Code) that is available for the currently
attached LTE network. A userspace application is required to set
the current SAR regulatory mode on the Dynamic SAR driver using
this sysfs node. Such an application can also read back using
this sysfs node, the currently configured regulatory mode value
from the Dynamic SAR driver.

Acceptable regulatory modes are:
== ====
0 FCC
1 CE
2 ISED
== ====

- The regulatory mode value has one of the above values.
- The default regulatory mode used in the driver is 0.

What: /sys/bus/platform/devices/INTC1092:00/intc_data
Date: August 2021
KernelVersion: 5.15
Contact: Shravan S <[email protected]>,
An Sudhakar <[email protected]>
Description:
This sysfs entry is used to retrieve Dynamic SAR information
emitted/maintained by a BIOS that supports Dynamic SAR.

The retrieved information is in the order given below:
- device_mode
- bandtable_index
- antennatable_index
- sartable_index

The above information is sent as integer values separated
by a single space. This information can then be pushed to a
WWAN modem that uses this to control the transmit signal
level using the Band/Antenna/SAR table index information.
These parameters are derived/decided by aggregating
device-mode like laptop/tablet/clamshell etc. and the
proximity-sensor data available to the embedded controller on
given host. The regulatory mode configured on Dynamic SAR
driver also influences these values.

The userspace applications can poll for changes to this file
using POLLPRI event on file-descriptor (fd) obtained by opening
this sysfs entry. Application can then read this information from
the sysfs node and consume the given information.
2 changes: 1 addition & 1 deletion Documentation/ABI/testing/sysfs-platform-dell-smbios
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
What: /sys/devices/platform/<platform>/tokens/*
Date: November 2017
KernelVersion: 4.15
Contact: "Mario Limonciello" <mario.limonciello@dell.com>
Contact: Dell.Client.Kernel@dell.com
Description:
A read-only description of Dell platform tokens
available on the machine.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
What: /sys/devices/platform/<platform>/force_power
Date: September 2017
KernelVersion: 4.15
Contact: "Mario Limonciello" <mario.limonciello@dell.com>
Contact: "Mario Limonciello" <mario.limonciello@outlook.com>
Description:
Modify the platform force power state, influencing
Thunderbolt controllers to turn on or off when no
Expand Down
2 changes: 1 addition & 1 deletion Documentation/ABI/testing/sysfs-power
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ Description:

What: /sys/power/resume_offset
Date: April 2018
Contact: Mario Limonciello <mario.limonciello@dell.com>
Contact: Mario Limonciello <mario.limonciello@outlook.com>
Description:
This file is used for telling the kernel an offset into a disk
to use when hibernating the system such as with a swap file.
Expand Down
4 changes: 1 addition & 3 deletions Documentation/admin-guide/laptops/lg-laptop.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,8 @@ Hotkeys
The following FN keys are ignored by the kernel without this driver:

- FN-F1 (LG control panel) - Generates F15
- FN-F5 (Touchpad toggle) - Generates F13
- FN-F5 (Touchpad toggle) - Generates F21
- FN-F6 (Airplane mode) - Generates RFKILL
- FN-F8 (Keyboard backlight) - Generates F16.
This key also changes keyboard backlight mode.
- FN-F9 (Reader mode) - Generates F14

The rest of the FN keys work without a need for a special driver.
Expand Down
35 changes: 21 additions & 14 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -9269,13 +9269,20 @@ INTEL ATOMISP2 DUMMY / POWER-MANAGEMENT DRIVER
M: Hans de Goede <[email protected]>
L: [email protected]
S: Maintained
F: drivers/platform/x86/intel_atomisp2_pm.c
F: drivers/platform/x86/intel/atomisp2/pm.c

INTEL ATOMISP2 LED DRIVER
M: Hans de Goede <[email protected]>
L: [email protected]
S: Maintained
F: drivers/platform/x86/intel_atomisp2_led.c
F: drivers/platform/x86/intel/atomisp2/led.c

INTEL BIOS SAR INT1092 DRIVER
M: Shravan S <[email protected]>
M: Intel Corporation <[email protected]>
L: [email protected]
S: Maintained
F: drivers/platform/x86/intel/int1092/

INTEL BROXTON PMC DRIVER
M: Mika Westerberg <[email protected]>
Expand Down Expand Up @@ -9371,7 +9378,7 @@ INTEL HID EVENT DRIVER
M: Alex Hung <[email protected]>
L: [email protected]
S: Maintained
F: drivers/platform/x86/intel-hid.c
F: drivers/platform/x86/intel/hid.c

INTEL I/OAT DMA DRIVER
M: Dave Jiang <[email protected]>
Expand Down Expand Up @@ -9515,25 +9522,25 @@ F: include/linux/mfd/intel-m10-bmc.h

INTEL MENLOW THERMAL DRIVER
M: Sujith Thomas <[email protected]>
L: platform-driver-x86@vger.kernel.org
L: linux-pm@vger.kernel.org
S: Supported
W: https://01.org/linux-acpi
F: drivers/platform/x86/intel_menlow.c
F: drivers/thermal/intel/intel_menlow.c

INTEL P-Unit IPC DRIVER
M: Zha Qipeng <[email protected]>
L: [email protected]
S: Maintained
F: arch/x86/include/asm/intel_punit_ipc.h
F: drivers/platform/x86/intel_punit_ipc.c
F: drivers/platform/x86/intel/punit_ipc.c

INTEL PMC CORE DRIVER
M: Rajneesh Bhardwaj <[email protected]>
M: David E Box <[email protected]>
L: [email protected]
S: Maintained
F: Documentation/ABI/testing/sysfs-platform-intel-pmc
F: drivers/platform/x86/intel_pmc_core*
F: drivers/platform/x86/intel/pmc/

INTEL PMIC GPIO DRIVERS
M: Andy Shevchenko <[email protected]>
Expand All @@ -9551,7 +9558,7 @@ INTEL PMT DRIVER
M: "David E. Box" <[email protected]>
S: Maintained
F: drivers/mfd/intel_pmt.c
F: drivers/platform/x86/intel_pmt_*
F: drivers/platform/x86/intel/pmt/

INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT
M: Stanislav Yakovlev <[email protected]>
Expand Down Expand Up @@ -9588,7 +9595,7 @@ INTEL SPEED SELECT TECHNOLOGY
M: Srinivas Pandruvada <[email protected]>
L: [email protected]
S: Maintained
F: drivers/platform/x86/intel_speed_select_if/
F: drivers/platform/x86/intel/speed_select_if/
F: include/uapi/linux/isst_if.h
F: tools/power/x86/intel-speed-select/

Expand All @@ -9609,19 +9616,19 @@ M: "David E. Box" <[email protected]>
L: [email protected]
S: Maintained
F: arch/x86/include/asm/intel_telemetry.h
F: drivers/platform/x86/intel_telemetry*
F: drivers/platform/x86/intel/telemetry/

INTEL UNCORE FREQUENCY CONTROL
M: Srinivas Pandruvada <[email protected]>
L: [email protected]
S: Maintained
F: drivers/platform/x86/intel-uncore-frequency.c
F: drivers/platform/x86/intel/uncore-frequency.c

INTEL VIRTUAL BUTTON DRIVER
M: AceLan Kao <[email protected]>
L: [email protected]
S: Maintained
F: drivers/platform/x86/intel-vbtn.c
F: drivers/platform/x86/intel/vbtn.c

INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy)
M: Stanislaw Gruszka <[email protected]>
Expand All @@ -9642,12 +9649,12 @@ M: Jithu Joseph <[email protected]>
R: Maurice Ma <[email protected]>
S: Maintained
W: https://slimbootloader.github.io/security/firmware-update.html
F: drivers/platform/x86/intel-wmi-sbl-fw-update.c
F: drivers/platform/x86/intel/wmi/sbl-fw-update.c

INTEL WMI THUNDERBOLT FORCE POWER DRIVER
L: [email protected]
S: Maintained
F: drivers/platform/x86/intel-wmi-thunderbolt.c
F: drivers/platform/x86/intel/wmi/thunderbolt.c

INTEL WWAN IOSM DRIVER
M: M Chetan Kumar <[email protected]>
Expand Down
32 changes: 32 additions & 0 deletions drivers/i2c/i2c-core-acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,38 @@ bool i2c_acpi_get_i2c_resource(struct acpi_resource *ares,
}
EXPORT_SYMBOL_GPL(i2c_acpi_get_i2c_resource);

static int i2c_acpi_resource_count(struct acpi_resource *ares, void *data)
{
struct acpi_resource_i2c_serialbus *sb;
int *count = data;

if (i2c_acpi_get_i2c_resource(ares, &sb))
*count = *count + 1;

return 1;
}

/**
* i2c_acpi_client_count - Count the number of I2cSerialBus resources
* @adev: ACPI device
*
* Returns the number of I2cSerialBus resources in the ACPI-device's
* resource-list; or a negative error code.
*/
int i2c_acpi_client_count(struct acpi_device *adev)
{
int ret, count = 0;
LIST_HEAD(r);

ret = acpi_dev_get_resources(adev, &r, i2c_acpi_resource_count, &count);
if (ret < 0)
return ret;

acpi_dev_free_resource_list(&r);
return count;
}
EXPORT_SYMBOL_GPL(i2c_acpi_client_count);

static int i2c_acpi_fill_info(struct acpi_resource *ares, void *data)
{
struct i2c_acpi_lookup *lookup = data;
Expand Down
1 change: 0 additions & 1 deletion drivers/misc/lis3lv02d/lis3lv02d.h
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,6 @@ struct lis3lv02d {
int regs_size;
u8 *reg_cache;
bool regs_stored;
bool init_required;
u8 odr_mask; /* ODR bit mask */
u8 whoami; /* indicates measurement precision */
s16 (*read_data) (struct lis3lv02d *lis3, int reg);
Expand Down
13 changes: 7 additions & 6 deletions drivers/platform/mellanox/mlxbf-pmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@
#define MLXBF_PMC_L3C_PERF_CNT_HIGH_VAL GENMASK(24, 0)

/**
* Structure to hold attribute and block info for each sysfs entry
* struct mlxbf_pmc_attribute - Structure to hold attribute and block info
* for each sysfs entry
* @dev_attr: Device attribute struct
* @index: index to identify counter number within a block
* @nr: block number to which the sysfs belongs
Expand All @@ -91,7 +92,7 @@ struct mlxbf_pmc_attribute {
};

/**
* Structure to hold info for each HW block
* struct mlxbf_pmc_block_info - Structure to hold info for each HW block
*
* @mmio_base: The VA at which the PMC block is mapped
* @blk_size: Size of each mapped region
Expand All @@ -102,7 +103,7 @@ struct mlxbf_pmc_attribute {
* @attr_event_list: Attributes for "event_list" sysfs files
* @attr_enable: Attributes for "enable" sysfs files
* @block_attr: All attributes needed for the block
* @blcok_attr_grp: Attribute group for the block
* @block_attr_grp: Attribute group for the block
*/
struct mlxbf_pmc_block_info {
void __iomem *mmio_base;
Expand All @@ -118,7 +119,7 @@ struct mlxbf_pmc_block_info {
};

/**
* Structure to hold PMC context info
* struct mlxbf_pmc_context - Structure to hold PMC context info
*
* @pdev: The kernel structure representing the device
* @total_blocks: Total number of blocks
Expand All @@ -127,7 +128,7 @@ struct mlxbf_pmc_block_info {
* @block_name: Block name
* @block: Block info
* @groups: Attribute groups from each block
* @sv_sreg_support: Whether SMCs are used to access performance registers
* @svc_sreg_support: Whether SMCs are used to access performance registers
* @sreg_tbl_perf: Secure register access table number
* @event_set: Event set to use
*/
Expand All @@ -145,7 +146,7 @@ struct mlxbf_pmc_context {
};

/**
* Structure to hold supported events for each block
* struct mlxbf_pmc_events - Structure to hold supported events for each block
* @evt_num: Event number used to program counters
* @evt_name: Name of the event
*/
Expand Down
Loading

0 comments on commit 7ba88a2

Please sign in to comment.