platform-drivers-x86 for v6.9-2
Fixes: - intel/hid: Solve spurious hibernation aborts (power button release) - toshiba_acpi: Ignore 2 keys to avoid log noise during suspend/resume - intel-vbtn: Fix probe by restoring VBDL and VGBS evalutation order - lg-laptop: Fix W=1 %s null argument warning New HW Support: - acer-wmi: PH18-71 mode button and fan speed sensor - intel/hid: Lunar Lake and Arrow Lake HID IDs The following is an automated shortlog grouped by driver: acer-wmi: - Add support for Acer PH18-71 intel/hid: - Add Lunar Lake and Arrow Lake support - Don't wake on 5-button releases intel-vbtn: - Update tablet mode switch at end of probe - Use acpi_has_method to check for switch lg-laptop: - fix %s null argument warning toshiba_acpi: - Silence logging for some events -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQSCSUwRdwTNL2MhaBlZrE9hU+XOMQUCZhZRrQAKCRBZrE9hU+XO MUuKAP9F7/iFFwGtVp1EhhZXlSp9pUKyGW0M9SgRqfD4bfI0TAD+NsETu9pTzaos wRfivZjHHz6FdJnmenHHbl2N6X/16Ag= =GHUw -----END PGP SIGNATURE----- Merge tag 'platform-drivers-x86-v6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 Pull x86 platform driver fixes from Ilpo Järvinen: "Fixes: - intel/hid: Solve spurious hibernation aborts (power button release) - toshiba_acpi: Ignore 2 keys to avoid log noise during suspend/resume - intel-vbtn: Fix probe by restoring VBDL and VGBS evalutation order - lg-laptop: Fix W=1 %s null argument warning New HW Support: - acer-wmi: PH18-71 mode button and fan speed sensor - intel/hid: Lunar Lake and Arrow Lake HID IDs" * tag 'platform-drivers-x86-v6.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: platform/x86: lg-laptop: fix %s null argument warning platform/x86: intel-vbtn: Update tablet mode switch at end of probe platform/x86: intel-vbtn: Use acpi_has_method to check for switch platform/x86: toshiba_acpi: Silence logging for some events platform/x86/intel/hid: Add Lunar Lake and Arrow Lake support platform/x86/intel/hid: Don't wake on 5-button releases platform/x86: acer-wmi: Add support for Acer PH18-71
This commit is contained in:
commit
3679d9d150
|
@ -597,6 +597,15 @@ static const struct dmi_system_id acer_quirks[] __initconst = {
|
|||
},
|
||||
.driver_data = &quirk_acer_predator_v4,
|
||||
},
|
||||
{
|
||||
.callback = dmi_matched,
|
||||
.ident = "Acer Predator PH18-71",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Predator PH18-71"),
|
||||
},
|
||||
.driver_data = &quirk_acer_predator_v4,
|
||||
},
|
||||
{
|
||||
.callback = set_force_caps,
|
||||
.ident = "Acer Aspire Switch 10E SW3-016",
|
||||
|
|
|
@ -49,6 +49,8 @@ static const struct acpi_device_id intel_hid_ids[] = {
|
|||
{"INTC1076", 0},
|
||||
{"INTC1077", 0},
|
||||
{"INTC1078", 0},
|
||||
{"INTC107B", 0},
|
||||
{"INTC10CB", 0},
|
||||
{"", 0},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(acpi, intel_hid_ids);
|
||||
|
@ -504,6 +506,7 @@ static void notify_handler(acpi_handle handle, u32 event, void *context)
|
|||
struct platform_device *device = context;
|
||||
struct intel_hid_priv *priv = dev_get_drvdata(&device->dev);
|
||||
unsigned long long ev_index;
|
||||
struct key_entry *ke;
|
||||
int err;
|
||||
|
||||
/*
|
||||
|
@ -545,11 +548,15 @@ static void notify_handler(acpi_handle handle, u32 event, void *context)
|
|||
if (event == 0xc0 || !priv->array)
|
||||
return;
|
||||
|
||||
if (!sparse_keymap_entry_from_scancode(priv->array, event)) {
|
||||
ke = sparse_keymap_entry_from_scancode(priv->array, event);
|
||||
if (!ke) {
|
||||
dev_info(&device->dev, "unknown event 0x%x\n", event);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ke->type == KE_IGNORE)
|
||||
return;
|
||||
|
||||
wakeup:
|
||||
pm_wakeup_hard_event(&device->dev);
|
||||
|
||||
|
|
|
@ -136,8 +136,6 @@ static int intel_vbtn_input_setup(struct platform_device *device)
|
|||
priv->switches_dev->id.bustype = BUS_HOST;
|
||||
|
||||
if (priv->has_switches) {
|
||||
detect_tablet_mode(&device->dev);
|
||||
|
||||
ret = input_register_device(priv->switches_dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -258,9 +256,6 @@ static const struct dmi_system_id dmi_switches_allow_list[] = {
|
|||
|
||||
static bool intel_vbtn_has_switches(acpi_handle handle, bool dual_accel)
|
||||
{
|
||||
unsigned long long vgbs;
|
||||
acpi_status status;
|
||||
|
||||
/* See dual_accel_detect.h for more info */
|
||||
if (dual_accel)
|
||||
return false;
|
||||
|
@ -268,8 +263,7 @@ static bool intel_vbtn_has_switches(acpi_handle handle, bool dual_accel)
|
|||
if (!dmi_check_system(dmi_switches_allow_list))
|
||||
return false;
|
||||
|
||||
status = acpi_evaluate_integer(handle, "VGBS", NULL, &vgbs);
|
||||
return ACPI_SUCCESS(status);
|
||||
return acpi_has_method(handle, "VGBS");
|
||||
}
|
||||
|
||||
static int intel_vbtn_probe(struct platform_device *device)
|
||||
|
@ -316,6 +310,9 @@ static int intel_vbtn_probe(struct platform_device *device)
|
|||
if (ACPI_FAILURE(status))
|
||||
dev_err(&device->dev, "Error VBDL failed with ACPI status %d\n", status);
|
||||
}
|
||||
// Check switches after buttons since VBDL may have side effects.
|
||||
if (has_switches)
|
||||
detect_tablet_mode(&device->dev);
|
||||
|
||||
device_init_wakeup(&device->dev, true);
|
||||
/*
|
||||
|
|
|
@ -736,7 +736,7 @@ static int acpi_add(struct acpi_device *device)
|
|||
default:
|
||||
year = 2019;
|
||||
}
|
||||
pr_info("product: %s year: %d\n", product, year);
|
||||
pr_info("product: %s year: %d\n", product ?: "unknown", year);
|
||||
|
||||
if (year >= 2019)
|
||||
battery_limit_use_wmbb = 1;
|
||||
|
|
|
@ -264,6 +264,7 @@ static const struct key_entry toshiba_acpi_keymap[] = {
|
|||
{ KE_KEY, 0xb32, { KEY_NEXTSONG } },
|
||||
{ KE_KEY, 0xb33, { KEY_PLAYPAUSE } },
|
||||
{ KE_KEY, 0xb5a, { KEY_MEDIA } },
|
||||
{ KE_IGNORE, 0x0e00, { KEY_RESERVED } }, /* Wake from sleep */
|
||||
{ KE_IGNORE, 0x1430, { KEY_RESERVED } }, /* Wake from sleep */
|
||||
{ KE_IGNORE, 0x1501, { KEY_RESERVED } }, /* Output changed */
|
||||
{ KE_IGNORE, 0x1502, { KEY_RESERVED } }, /* HDMI plugged/unplugged */
|
||||
|
@ -3523,9 +3524,10 @@ static void toshiba_acpi_notify(struct acpi_device *acpi_dev, u32 event)
|
|||
(dev->kbd_mode == SCI_KBD_MODE_ON) ?
|
||||
LED_FULL : LED_OFF);
|
||||
break;
|
||||
case 0x8e: /* Power button pressed */
|
||||
break;
|
||||
case 0x85: /* Unknown */
|
||||
case 0x8d: /* Unknown */
|
||||
case 0x8e: /* Unknown */
|
||||
case 0x94: /* Unknown */
|
||||
case 0x95: /* Unknown */
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue