Skip to content

Commit df46426

Browse files
committed
Merge tag 'platform-drivers-x86-v6.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
Pull x86 platform drivers fixes from Ilpo Järvinen: "Mostly a few lines fixed here and there except amd/isp4 which improves swnodes relationships but that is a new driver not in any stable kernels yet. The think-lmi driver changes also look relatively large but there are just many fixes to it. The i2c/piix4 change is a effectively a revert of the commit 7e173eb ("i2c: piix4: Make CONFIG_I2C_PIIX4 dependent on CONFIG_X86") but that required moving the header out from arch/x86 under include/linux/platform_data/ Summary: - amd/isp4: Improve swnode graph (new driver exception) - asus-nb-wmi: Use duo keyboard quirk for Zenbook Duo UX8406CA - dell-lis3lv02d: Add Latitude 5500 accelerometer address - dell-wmi-sysman: Fix WMI data block retrieval and class dev unreg - hp-bioscfg: Fix class device unregistration - i2c: piix4: Re-enable on non-x86 + move FCH header under platform_data/ - intel/hid: Wildcat Lake support - mellanox: - mlxbf-pmc: Fix duplicate event ID - mlxbf-tmfifo: Fix vring_desc.len assignment - mlxreg-lc: Fix bit-not-set logic check - nvsw-sn2201: Fix bus number in error message & spelling errors - portwell-ec: Move watchdog device under correct platform hierarchy - think-lmi: Error handling fixes (sysfs, kset, kobject, class dev unreg) - thinkpad_acpi: Handle HKEY 0x1402 event (2025 Thinkpads) - wmi: Fix WMI event enablement" * tag 'platform-drivers-x86-v6.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (22 commits) platform/x86: think-lmi: Fix sysfs group cleanup platform/x86: think-lmi: Fix kobject cleanup platform/x86: think-lmi: Create ksets consecutively platform/mellanox: mlxreg-lc: Fix logic error in power state check i2c: Re-enable piix4 driver on non-x86 Move FCH header to a location accessible by all archs platform/x86/intel/hid: Add Wildcat Lake support platform/x86: dell-wmi-sysman: Fix class device unregistration platform/x86: think-lmi: Fix class device unregistration platform/x86: hp-bioscfg: Fix class device unregistration platform/x86: Update swnode graph for amd isp4 platform/x86: dell-wmi-sysman: Fix WMI data block retrieval in sysfs callbacks platform/x86: wmi: Update documentation of WCxx/WExx ACPI methods platform/x86: wmi: Fix WMI event enablement platform/mellanox: nvsw-sn2201: Fix bus number in adapter error message platform/mellanox: Fix spelling and comment clarity in Mellanox drivers platform/mellanox: mlxbf-pmc: Fix duplicate event ID for CACHE_DATA1 platform/x86: thinkpad_acpi: handle HKEY 0x1402 event platform/x86: asus-nb-wmi: add DMI quirk for ASUS Zenbook Duo UX8406CA platform/x86: dell-lis3lv02d: Add Latitude 5500 ...
2 parents 3c2bd25 + 4f30f94 commit df46426

File tree

26 files changed

+250
-140
lines changed

26 files changed

+250
-140
lines changed

Documentation/wmi/acpi-interface.rst

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Offset Size (in bytes) Content
3636

3737
The WMI object flags control whether the method or notification ID is used:
3838

39-
- 0x1: Data block usage is expensive and must be explicitly enabled/disabled.
39+
- 0x1: Data block is expensive to collect.
4040
- 0x2: Data block contains WMI methods.
4141
- 0x4: Data block contains ASCIZ string.
4242
- 0x8: Data block describes a WMI event, use notification ID instead
@@ -83,14 +83,18 @@ event as hexadecimal value. Their first parameter is an integer with a value
8383
of 0 if the WMI event should be disabled, other values will enable
8484
the WMI event.
8585

86+
Those ACPI methods are always called even for WMI events not registered as
87+
being expensive to collect to match the behavior of the Windows driver.
88+
8689
WCxx ACPI methods
8790
-----------------
88-
Similar to the ``WExx`` ACPI methods, except that it controls data collection
89-
instead of events and thus the last two characters of the ACPI method name are
90-
the method ID of the data block to enable/disable.
91+
Similar to the ``WExx`` ACPI methods, except that instead of WMI events it controls
92+
data collection of data blocks registered as being expensive to collect. Thus the
93+
last two characters of the ACPI method name are the method ID of the data block
94+
to enable/disable.
9195

9296
Those ACPI methods are also called before setting data blocks to match the
93-
behaviour of the Windows driver.
97+
behavior of the Windows driver.
9498

9599
_WED ACPI method
96100
----------------

arch/x86/kernel/cpu/amd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <linux/sched/clock.h>
1010
#include <linux/random.h>
1111
#include <linux/topology.h>
12-
#include <asm/amd/fch.h>
12+
#include <linux/platform_data/x86/amd-fch.h>
1313
#include <asm/processor.h>
1414
#include <asm/apic.h>
1515
#include <asm/cacheinfo.h>

drivers/i2c/busses/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ config I2C_ISMT
200200

201201
config I2C_PIIX4
202202
tristate "Intel PIIX4 and compatible (ATI/AMD/Serverworks/Broadcom/SMSC)"
203-
depends on PCI && HAS_IOPORT && X86
203+
depends on PCI && HAS_IOPORT
204204
select I2C_SMBUS
205205
help
206206
If you say yes to this option, support will be included for the Intel

drivers/i2c/busses/i2c-piix4.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
#include <linux/dmi.h>
3535
#include <linux/acpi.h>
3636
#include <linux/io.h>
37-
#include <asm/amd/fch.h>
37+
#include <linux/platform_data/x86/amd-fch.h>
3838

3939
#include "i2c-piix4.h"
4040

drivers/platform/mellanox/mlxbf-pmc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,7 @@ static const struct mlxbf_pmc_events mlxbf_pmc_llt_events[] = {
715715
{101, "GDC_BANK0_HIT_DCL_PARTIAL"},
716716
{102, "GDC_BANK0_EVICT_DCL"},
717717
{103, "GDC_BANK0_G_RSE_PIPE_CACHE_DATA0"},
718-
{103, "GDC_BANK0_G_RSE_PIPE_CACHE_DATA1"},
718+
{104, "GDC_BANK0_G_RSE_PIPE_CACHE_DATA1"},
719719
{105, "GDC_BANK0_ARB_STRB"},
720720
{106, "GDC_BANK0_ARB_WAIT"},
721721
{107, "GDC_BANK0_GGA_STRB"},

drivers/platform/mellanox/mlxbf-tmfifo.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,8 @@ static int mlxbf_tmfifo_alloc_vrings(struct mlxbf_tmfifo *fifo,
281281
vring->align = SMP_CACHE_BYTES;
282282
vring->index = i;
283283
vring->vdev_id = tm_vdev->vdev.id.device;
284-
vring->drop_desc.len = VRING_DROP_DESC_MAX_LEN;
284+
vring->drop_desc.len = cpu_to_virtio32(&tm_vdev->vdev,
285+
VRING_DROP_DESC_MAX_LEN);
285286
dev = &tm_vdev->vdev.dev;
286287

287288
size = vring_size(vring->num, vring->align);
@@ -1287,7 +1288,7 @@ static void mlxbf_tmfifo_get_cfg_mac(u8 *mac)
12871288
ether_addr_copy(mac, mlxbf_tmfifo_net_default_mac);
12881289
}
12891290

1290-
/* Set TmFifo thresolds which is used to trigger interrupts. */
1291+
/* Set TmFifo thresholds which is used to trigger interrupts. */
12911292
static void mlxbf_tmfifo_set_threshold(struct mlxbf_tmfifo *fifo)
12921293
{
12931294
u64 ctl;

drivers/platform/mellanox/mlxreg-dpu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ static int mlxreg_dpu_config_init(struct mlxreg_dpu *mlxreg_dpu, void *regmap,
483483
mlxreg_dpu->io_data,
484484
sizeof(*mlxreg_dpu->io_data));
485485
if (IS_ERR(mlxreg_dpu->io_regs)) {
486-
dev_err(dev, "Failed to create regio for client %s at bus %d at addr 0x%02x\n",
486+
dev_err(dev, "Failed to create region for client %s at bus %d at addr 0x%02x\n",
487487
data->hpdev.brdinfo->type, data->hpdev.nr,
488488
data->hpdev.brdinfo->addr);
489489
return PTR_ERR(mlxreg_dpu->io_regs);

drivers/platform/mellanox/mlxreg-lc.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ enum mlxreg_lc_state {
5757
* @dev: platform device;
5858
* @lock: line card lock;
5959
* @par_regmap: parent device regmap handle;
60-
* @data: pltaform core data;
60+
* @data: platform core data;
6161
* @io_data: register access platform data;
62-
* @led_data: LED platform data ;
62+
* @led_data: LED platform data;
6363
* @mux_data: MUX platform data;
6464
* @led: LED device;
6565
* @io_regs: register access device;
@@ -171,7 +171,7 @@ static int mlxreg_lc_chan[] = {
171171
0x4e, 0x4f
172172
};
173173

174-
/* Defaul mux configuration. */
174+
/* Default mux configuration. */
175175
static struct mlxcpld_mux_plat_data mlxreg_lc_mux_data[] = {
176176
{
177177
.chan_ids = mlxreg_lc_chan,
@@ -181,7 +181,7 @@ static struct mlxcpld_mux_plat_data mlxreg_lc_mux_data[] = {
181181
},
182182
};
183183

184-
/* Defaul mux board info. */
184+
/* Default mux board info. */
185185
static struct i2c_board_info mlxreg_lc_mux_brdinfo = {
186186
I2C_BOARD_INFO("i2c-mux-mlxcpld", 0x32),
187187
};
@@ -688,7 +688,7 @@ static int mlxreg_lc_completion_notify(void *handle, struct i2c_adapter *parent,
688688
if (regval & mlxreg_lc->data->mask) {
689689
mlxreg_lc->state |= MLXREG_LC_SYNCED;
690690
mlxreg_lc_state_update_locked(mlxreg_lc, MLXREG_LC_SYNCED, 1);
691-
if (mlxreg_lc->state & ~MLXREG_LC_POWERED) {
691+
if (!(mlxreg_lc->state & MLXREG_LC_POWERED)) {
692692
err = mlxreg_lc_power_on_off(mlxreg_lc, 1);
693693
if (err)
694694
goto mlxreg_lc_regmap_power_on_off_fail;
@@ -758,7 +758,7 @@ mlxreg_lc_config_init(struct mlxreg_lc *mlxreg_lc, void *regmap,
758758
platform_device_register_resndata(dev, "mlxreg-io", data->hpdev.nr, NULL, 0,
759759
mlxreg_lc->io_data, sizeof(*mlxreg_lc->io_data));
760760
if (IS_ERR(mlxreg_lc->io_regs)) {
761-
dev_err(dev, "Failed to create regio for client %s at bus %d at addr 0x%02x\n",
761+
dev_err(dev, "Failed to create region for client %s at bus %d at addr 0x%02x\n",
762762
data->hpdev.brdinfo->type, data->hpdev.nr,
763763
data->hpdev.brdinfo->addr);
764764
err = PTR_ERR(mlxreg_lc->io_regs);

drivers/platform/mellanox/nvsw-sn2201.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1181,7 +1181,7 @@ static int nvsw_sn2201_i2c_completion_notify(void *handle, int id)
11811181
if (!nvsw_sn2201->main_mux_devs->adapter) {
11821182
err = -ENODEV;
11831183
dev_err(nvsw_sn2201->dev, "Failed to get adapter for bus %d\n",
1184-
nvsw_sn2201->cpld_devs->nr);
1184+
nvsw_sn2201->main_mux_devs->nr);
11851185
goto i2c_get_adapter_main_fail;
11861186
}
11871187

0 commit comments

Comments
 (0)