Skip to content

Commit 872cf28

Browse files
committed
Merge tag 'platform-drivers-x86-v6.11-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
Pull x86 platform driver fixes from Ilpo Järvinen: - ISST: Fix an error-handling corner case - platform/surface: aggregator: Minor corner case fix and new HW support * tag 'platform-drivers-x86-v6.11-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: platform/x86: ISST: Fix return value on last invalid resource platform/surface: aggregator: Fix warning when controller is destroyed in probe platform/surface: aggregator_registry: Add support for Surface Laptop 6 platform/surface: aggregator_registry: Add fan and thermal sensor support for Surface Laptop 5 platform/surface: aggregator_registry: Add support for Surface Laptop Studio 2 platform/surface: aggregator_registry: Add support for Surface Laptop Go 3 platform/surface: aggregator_registry: Add Support for Surface Pro 10 platform/x86: asus-wmi: Add quirk for ROG Ally X
2 parents 5c6154f + 46ee21e commit 872cf28

File tree

4 files changed

+70
-10
lines changed

4 files changed

+70
-10
lines changed

drivers/platform/surface/aggregator/controller.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1354,7 +1354,8 @@ void ssam_controller_destroy(struct ssam_controller *ctrl)
13541354
if (ctrl->state == SSAM_CONTROLLER_UNINITIALIZED)
13551355
return;
13561356

1357-
WARN_ON(ctrl->state != SSAM_CONTROLLER_STOPPED);
1357+
WARN_ON(ctrl->state != SSAM_CONTROLLER_STOPPED &&
1358+
ctrl->state != SSAM_CONTROLLER_INITIALIZED);
13581359

13591360
/*
13601361
* Note: New events could still have been received after the previous

drivers/platform/surface/surface_aggregator_registry.c

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -265,16 +265,34 @@ static const struct software_node *ssam_node_group_sl5[] = {
265265
&ssam_node_root,
266266
&ssam_node_bat_ac,
267267
&ssam_node_bat_main,
268-
&ssam_node_tmp_perf_profile,
268+
&ssam_node_tmp_perf_profile_with_fan,
269+
&ssam_node_tmp_sensors,
270+
&ssam_node_fan_speed,
271+
&ssam_node_hid_main_keyboard,
272+
&ssam_node_hid_main_touchpad,
273+
&ssam_node_hid_main_iid5,
274+
&ssam_node_hid_sam_ucm_ucsi,
275+
NULL,
276+
};
277+
278+
/* Devices for Surface Laptop 6. */
279+
static const struct software_node *ssam_node_group_sl6[] = {
280+
&ssam_node_root,
281+
&ssam_node_bat_ac,
282+
&ssam_node_bat_main,
283+
&ssam_node_tmp_perf_profile_with_fan,
284+
&ssam_node_tmp_sensors,
285+
&ssam_node_fan_speed,
269286
&ssam_node_hid_main_keyboard,
270287
&ssam_node_hid_main_touchpad,
271288
&ssam_node_hid_main_iid5,
289+
&ssam_node_hid_sam_sensors,
272290
&ssam_node_hid_sam_ucm_ucsi,
273291
NULL,
274292
};
275293

276-
/* Devices for Surface Laptop Studio. */
277-
static const struct software_node *ssam_node_group_sls[] = {
294+
/* Devices for Surface Laptop Studio 1. */
295+
static const struct software_node *ssam_node_group_sls1[] = {
278296
&ssam_node_root,
279297
&ssam_node_bat_ac,
280298
&ssam_node_bat_main,
@@ -289,6 +307,22 @@ static const struct software_node *ssam_node_group_sls[] = {
289307
NULL,
290308
};
291309

310+
/* Devices for Surface Laptop Studio 2. */
311+
static const struct software_node *ssam_node_group_sls2[] = {
312+
&ssam_node_root,
313+
&ssam_node_bat_ac,
314+
&ssam_node_bat_main,
315+
&ssam_node_tmp_perf_profile_with_fan,
316+
&ssam_node_tmp_sensors,
317+
&ssam_node_fan_speed,
318+
&ssam_node_pos_tablet_switch,
319+
&ssam_node_hid_sam_keyboard,
320+
&ssam_node_hid_sam_penstash,
321+
&ssam_node_hid_sam_sensors,
322+
&ssam_node_hid_sam_ucm_ucsi,
323+
NULL,
324+
};
325+
292326
/* Devices for Surface Laptop Go. */
293327
static const struct software_node *ssam_node_group_slg1[] = {
294328
&ssam_node_root,
@@ -324,7 +358,7 @@ static const struct software_node *ssam_node_group_sp8[] = {
324358
NULL,
325359
};
326360

327-
/* Devices for Surface Pro 9 */
361+
/* Devices for Surface Pro 9 and 10 */
328362
static const struct software_node *ssam_node_group_sp9[] = {
329363
&ssam_node_root,
330364
&ssam_node_hub_kip,
@@ -365,6 +399,9 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
365399
/* Surface Pro 9 */
366400
{ "MSHW0343", (unsigned long)ssam_node_group_sp9 },
367401

402+
/* Surface Pro 10 */
403+
{ "MSHW0510", (unsigned long)ssam_node_group_sp9 },
404+
368405
/* Surface Book 2 */
369406
{ "MSHW0107", (unsigned long)ssam_node_group_gen5 },
370407

@@ -389,14 +426,23 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
389426
/* Surface Laptop 5 */
390427
{ "MSHW0350", (unsigned long)ssam_node_group_sl5 },
391428

429+
/* Surface Laptop 6 */
430+
{ "MSHW0530", (unsigned long)ssam_node_group_sl6 },
431+
392432
/* Surface Laptop Go 1 */
393433
{ "MSHW0118", (unsigned long)ssam_node_group_slg1 },
394434

395435
/* Surface Laptop Go 2 */
396436
{ "MSHW0290", (unsigned long)ssam_node_group_slg1 },
397437

398-
/* Surface Laptop Studio */
399-
{ "MSHW0123", (unsigned long)ssam_node_group_sls },
438+
/* Surface Laptop Go 3 */
439+
{ "MSHW0440", (unsigned long)ssam_node_group_slg1 },
440+
441+
/* Surface Laptop Studio 1 */
442+
{ "MSHW0123", (unsigned long)ssam_node_group_sls1 },
443+
444+
/* Surface Laptop Studio 2 */
445+
{ "MSHW0360", (unsigned long)ssam_node_group_sls2 },
400446

401447
{ },
402448
};

drivers/platform/x86/asus-wmi.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,20 @@ static const char * const ashs_ids[] = { "ATK4001", "ATK4002", NULL };
146146

147147
static int throttle_thermal_policy_write(struct asus_wmi *);
148148

149+
static const struct dmi_system_id asus_ally_mcu_quirk[] = {
150+
{
151+
.matches = {
152+
DMI_MATCH(DMI_BOARD_NAME, "RC71L"),
153+
},
154+
},
155+
{
156+
.matches = {
157+
DMI_MATCH(DMI_BOARD_NAME, "RC72L"),
158+
},
159+
},
160+
{ },
161+
};
162+
149163
static bool ashs_present(void)
150164
{
151165
int i = 0;
@@ -4685,7 +4699,7 @@ static int asus_wmi_add(struct platform_device *pdev)
46854699
asus->dgpu_disable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_DGPU);
46864700
asus->kbd_rgb_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_STATE);
46874701
asus->ally_mcu_usb_switch = acpi_has_method(NULL, ASUS_USB0_PWR_EC0_CSEE)
4688-
&& dmi_match(DMI_BOARD_NAME, "RC71L");
4702+
&& dmi_check_system(asus_ally_mcu_quirk);
46894703

46904704
if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MINI_LED_MODE))
46914705
asus->mini_led_dev_id = ASUS_WMI_DEVID_MINI_LED_MODE;

drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1549,8 +1549,7 @@ int tpmi_sst_dev_add(struct auxiliary_device *auxdev)
15491549
goto unlock_free;
15501550
}
15511551

1552-
ret = sst_main(auxdev, &pd_info[i]);
1553-
if (ret) {
1552+
if (sst_main(auxdev, &pd_info[i])) {
15541553
/*
15551554
* This entry is not valid, hardware can partially
15561555
* populate dies. In this case MMIO will have 0xFFs.

0 commit comments

Comments
 (0)