Skip to content

Commit 0da9a3f

Browse files
committed
Merge branch 'fixes' into 'for-next'
Merged the 'fixes' branch into the 'for-next' branch to resolve a conflict in alienware-wmi zone teardown code.
2 parents 3ef4ea5 + 59616a9 commit 0da9a3f

File tree

18 files changed

+140
-48
lines changed

18 files changed

+140
-48
lines changed

Documentation/admin-guide/laptops/thinkpad-acpi.rst

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -445,8 +445,10 @@ event code Key Notes
445445
0x1008 0x07 FN+F8 IBM: toggle screen expand
446446
Lenovo: configure UltraNav,
447447
or toggle screen expand.
448-
On newer platforms (2024+)
449-
replaced by 0x131f (see below)
448+
On 2024 platforms replaced by
449+
0x131f (see below) and on newer
450+
platforms (2025 +) keycode is
451+
replaced by 0x1401 (see below).
450452

451453
0x1009 0x08 FN+F9 -
452454

@@ -506,9 +508,11 @@ event code Key Notes
506508

507509
0x1019 0x18 unknown
508510

509-
0x131f ... FN+F8 Platform Mode change.
511+
0x131f ... FN+F8 Platform Mode change (2024 systems).
510512
Implemented in driver.
511513

514+
0x1401 ... FN+F8 Platform Mode change (2025 + systems).
515+
Implemented in driver.
512516
... ... ...
513517

514518
0x1020 0x1F unknown

drivers/platform/x86/amd/pmc/pmc.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,10 @@ static int amd_pmc_suspend_handler(struct device *dev)
778778
{
779779
struct amd_pmc_dev *pdev = dev_get_drvdata(dev);
780780

781+
/*
782+
* Must be called only from the same set of dev_pm_ops handlers
783+
* as i8042_pm_suspend() is called: currently just from .suspend.
784+
*/
781785
if (pdev->disable_8042_wakeup && !disable_workarounds) {
782786
int rc = amd_pmc_wa_irq1(pdev);
783787

@@ -790,7 +794,9 @@ static int amd_pmc_suspend_handler(struct device *dev)
790794
return 0;
791795
}
792796

793-
static DEFINE_SIMPLE_DEV_PM_OPS(amd_pmc_pm, amd_pmc_suspend_handler, NULL);
797+
static const struct dev_pm_ops amd_pmc_pm = {
798+
.suspend = amd_pmc_suspend_handler,
799+
};
794800

795801
static const struct pci_device_id pmc_pci_ids[] = {
796802
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, AMD_CPU_ID_PS) },

drivers/platform/x86/asus-nb-wmi.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,7 @@ static const struct key_entry asus_nb_wmi_keymap[] = {
624624
{ KE_KEY, 0xC4, { KEY_KBDILLUMUP } },
625625
{ KE_KEY, 0xC5, { KEY_KBDILLUMDOWN } },
626626
{ KE_IGNORE, 0xC6, }, /* Ambient Light Sensor notification */
627+
{ KE_IGNORE, 0xCF, }, /* AC mode */
627628
{ KE_KEY, 0xFA, { KEY_PROG2 } }, /* Lid flip action */
628629
{ KE_KEY, 0xBD, { KEY_PROG2 } }, /* Lid flip action on ROG xflow laptops */
629630
{ KE_END, 0},

drivers/platform/x86/asus-wmi.c

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3696,7 +3696,6 @@ static int asus_wmi_custom_fan_curve_init(struct asus_wmi *asus)
36963696
/* Throttle thermal policy ****************************************************/
36973697
static int throttle_thermal_policy_write(struct asus_wmi *asus)
36983698
{
3699-
u32 retval;
37003699
u8 value;
37013700
int err;
37023701

@@ -3718,8 +3717,8 @@ static int throttle_thermal_policy_write(struct asus_wmi *asus)
37183717
value = asus->throttle_thermal_policy_mode;
37193718
}
37203719

3721-
err = asus_wmi_set_devstate(asus->throttle_thermal_policy_dev,
3722-
value, &retval);
3720+
/* Some machines do not return an error code as a result, so we ignore it */
3721+
err = asus_wmi_set_devstate(asus->throttle_thermal_policy_dev, value, NULL);
37233722

37243723
sysfs_notify(&asus->platform_device->dev.kobj, NULL,
37253724
"throttle_thermal_policy");
@@ -3729,12 +3728,6 @@ static int throttle_thermal_policy_write(struct asus_wmi *asus)
37293728
return err;
37303729
}
37313730

3732-
if (retval != 1) {
3733-
pr_warn("Failed to set throttle thermal policy (retval): 0x%x\n",
3734-
retval);
3735-
return -EIO;
3736-
}
3737-
37383731
/* Must set to disabled if mode is toggled */
37393732
if (asus->cpu_fan_curve_available)
37403733
asus->custom_fan_curves[FAN_CURVE_DEV_CPU].enabled = false;

drivers/platform/x86/dell/alienware-wmi.c

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ static struct quirk_entry quirk_asm201 = {
190190
};
191191

192192
static struct quirk_entry quirk_g_series = {
193-
.num_zones = 2,
193+
.num_zones = 0,
194194
.hdmi_mux = 0,
195195
.amplifier = 0,
196196
.deepslp = 0,
@@ -199,7 +199,7 @@ static struct quirk_entry quirk_g_series = {
199199
};
200200

201201
static struct quirk_entry quirk_x_series = {
202-
.num_zones = 2,
202+
.num_zones = 0,
203203
.hdmi_mux = 0,
204204
.amplifier = 0,
205205
.deepslp = 0,
@@ -241,6 +241,15 @@ static const struct dmi_system_id alienware_quirks[] __initconst = {
241241
},
242242
.driver_data = &quirk_asm201,
243243
},
244+
{
245+
.callback = dmi_matched,
246+
.ident = "Alienware m16 R1 AMD",
247+
.matches = {
248+
DMI_MATCH(DMI_SYS_VENDOR, "Alienware"),
249+
DMI_MATCH(DMI_PRODUCT_NAME, "Alienware m16 R1 AMD"),
250+
},
251+
.driver_data = &quirk_x_series,
252+
},
244253
{
245254
.callback = dmi_matched,
246255
.ident = "Alienware m17 R5",
@@ -689,6 +698,9 @@ static int alienware_zone_init(struct platform_device *dev)
689698

690699
static void alienware_zone_exit(struct platform_device *dev)
691700
{
701+
if (!quirks->num_zones)
702+
return;
703+
692704
led_classdev_unregister(&global_led);
693705
}
694706

@@ -1205,9 +1217,11 @@ static int __init alienware_wmi_init(void)
12051217
goto fail_prep_thermal_profile;
12061218
}
12071219

1208-
ret = alienware_zone_init(platform_device);
1209-
if (ret)
1210-
goto fail_prep_zones;
1220+
if (quirks->num_zones > 0) {
1221+
ret = alienware_zone_init(platform_device);
1222+
if (ret)
1223+
goto fail_prep_zones;
1224+
}
12111225

12121226
return 0;
12131227

drivers/platform/x86/dell/dell-uart-backlight.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,15 +283,16 @@ static int dell_uart_bl_serdev_probe(struct serdev_device *serdev)
283283
init_waitqueue_head(&dell_bl->wait_queue);
284284
dell_bl->dev = dev;
285285

286+
serdev_device_set_drvdata(serdev, dell_bl);
287+
serdev_device_set_client_ops(serdev, &dell_uart_bl_serdev_ops);
288+
286289
ret = devm_serdev_device_open(dev, serdev);
287290
if (ret)
288291
return dev_err_probe(dev, ret, "opening UART device\n");
289292

290293
/* 9600 bps, no flow control, these are the default but set them to be sure */
291294
serdev_device_set_baudrate(serdev, 9600);
292295
serdev_device_set_flow_control(serdev, false);
293-
serdev_device_set_drvdata(serdev, dell_bl);
294-
serdev_device_set_client_ops(serdev, &dell_uart_bl_serdev_ops);
295296

296297
get_version[0] = DELL_SOF(GET_CMD_LEN);
297298
get_version[1] = CMD_GET_VERSION;

drivers/platform/x86/hp/hp-wmi.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ static const char * const omen_thermal_profile_boards[] = {
6868
"874A", "8603", "8604", "8748", "886B", "886C", "878A", "878B", "878C",
6969
"88C8", "88CB", "8786", "8787", "8788", "88D1", "88D2", "88F4", "88FD",
7070
"88F5", "88F6", "88F7", "88FE", "88FF", "8900", "8901", "8902", "8912",
71-
"8917", "8918", "8949", "894A", "89EB", "8BAD", "8A42"
71+
"8917", "8918", "8949", "894A", "89EB", "8BAD", "8A42", "8A15"
7272
};
7373

7474
/* DMI Board names of Omen laptops that are specifically set to be thermal
@@ -84,7 +84,7 @@ static const char * const omen_thermal_profile_force_v0_boards[] = {
8484
* "balanced" when reaching zero.
8585
*/
8686
static const char * const omen_timed_thermal_profile_boards[] = {
87-
"8BAD", "8A42"
87+
"8BAD", "8A42", "8A15"
8888
};
8989

9090
/* DMI Board names of Victus 16-d1xxx laptops */

drivers/platform/x86/intel/ifs/core.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ static const struct x86_cpu_id ifs_cpu_ids[] __initconst = {
2020
X86_MATCH(INTEL_GRANITERAPIDS_X, ARRAY_GEN0),
2121
X86_MATCH(INTEL_GRANITERAPIDS_D, ARRAY_GEN0),
2222
X86_MATCH(INTEL_ATOM_CRESTMONT_X, ARRAY_GEN1),
23+
X86_MATCH(INTEL_ATOM_DARKMONT_X, ARRAY_GEN1),
2324
{}
2425
};
2526
MODULE_DEVICE_TABLE(x86cpu, ifs_cpu_ids);

drivers/platform/x86/intel/pmc/core_ssram.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,8 +269,12 @@ pmc_core_ssram_get_pmc(struct pmc_dev *pmcdev, int pmc_idx, u32 offset)
269269
/*
270270
* The secondary PMC BARS (which are behind hidden PCI devices)
271271
* are read from fixed offsets in MMIO of the primary PMC BAR.
272+
* If a device is not present, the value will be 0.
272273
*/
273274
ssram_base = get_base(tmp_ssram, offset);
275+
if (!ssram_base)
276+
return 0;
277+
274278
ssram = ioremap(ssram_base, SSRAM_HDR_SIZE);
275279
if (!ssram)
276280
return -ENOMEM;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,7 @@ EXPORT_SYMBOL_GPL(isst_if_cdev_unregister);
804804
static const struct x86_cpu_id isst_cpu_ids[] = {
805805
X86_MATCH_VFM(INTEL_ATOM_CRESTMONT, SST_HPM_SUPPORTED),
806806
X86_MATCH_VFM(INTEL_ATOM_CRESTMONT_X, SST_HPM_SUPPORTED),
807+
X86_MATCH_VFM(INTEL_ATOM_DARKMONT_X, SST_HPM_SUPPORTED),
807808
X86_MATCH_VFM(INTEL_EMERALDRAPIDS_X, 0),
808809
X86_MATCH_VFM(INTEL_GRANITERAPIDS_D, SST_HPM_SUPPORTED),
809810
X86_MATCH_VFM(INTEL_GRANITERAPIDS_X, SST_HPM_SUPPORTED),

0 commit comments

Comments
 (0)