Commit 95723243 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'platform-drivers-x86-v5.16-3' of...

Merge tag 'platform-drivers-x86-v5.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver fixes from Hans de Goede:
 "Various bug-fixes and hardware-id additions"

* tag 'platform-drivers-x86-v5.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
  platform/x86/intel: hid: add quirk to support Surface Go 3
  platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops
  platform/x86: touchscreen_dmi: Add TrekStor SurfTab duo W1 touchscreen info
  platform/x86: lg-laptop: Recognize more models
  platform/x86: thinkpad_acpi: Add lid_logo_dot to the list of safe LEDs
  platform/x86: thinkpad_acpi: Restore missing hotkey_tablet_mode and hotkey_radio_sw sysfs-attr
parents cd8c917a 7d0c0090
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
#define AMD_CPU_ID_CZN AMD_CPU_ID_RN #define AMD_CPU_ID_CZN AMD_CPU_ID_RN
#define AMD_CPU_ID_YC 0x14B5 #define AMD_CPU_ID_YC 0x14B5
#define PMC_MSG_DELAY_MIN_US 100 #define PMC_MSG_DELAY_MIN_US 50
#define RESPONSE_REGISTER_LOOP_MAX 20000 #define RESPONSE_REGISTER_LOOP_MAX 20000
#define SOC_SUBSYSTEM_IP_MAX 12 #define SOC_SUBSYSTEM_IP_MAX 12
......
...@@ -99,6 +99,13 @@ static const struct dmi_system_id button_array_table[] = { ...@@ -99,6 +99,13 @@ static const struct dmi_system_id button_array_table[] = {
DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Tablet Gen 2"), DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Tablet Gen 2"),
}, },
}, },
{
.ident = "Microsoft Surface Go 3",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"),
DMI_MATCH(DMI_PRODUCT_NAME, "Surface Go 3"),
},
},
{ } { }
}; };
......
...@@ -657,6 +657,18 @@ static int acpi_add(struct acpi_device *device) ...@@ -657,6 +657,18 @@ static int acpi_add(struct acpi_device *device)
if (product && strlen(product) > 4) if (product && strlen(product) > 4)
switch (product[4]) { switch (product[4]) {
case '5': case '5':
if (strlen(product) > 5)
switch (product[5]) {
case 'N':
year = 2021;
break;
case '0':
year = 2016;
break;
default:
year = 2022;
}
break;
case '6': case '6':
year = 2016; year = 2016;
break; break;
......
...@@ -3015,6 +3015,8 @@ static struct attribute *hotkey_attributes[] = { ...@@ -3015,6 +3015,8 @@ static struct attribute *hotkey_attributes[] = {
&dev_attr_hotkey_all_mask.attr, &dev_attr_hotkey_all_mask.attr,
&dev_attr_hotkey_adaptive_all_mask.attr, &dev_attr_hotkey_adaptive_all_mask.attr,
&dev_attr_hotkey_recommended_mask.attr, &dev_attr_hotkey_recommended_mask.attr,
&dev_attr_hotkey_tablet_mode.attr,
&dev_attr_hotkey_radio_sw.attr,
#ifdef CONFIG_THINKPAD_ACPI_HOTKEY_POLL #ifdef CONFIG_THINKPAD_ACPI_HOTKEY_POLL
&dev_attr_hotkey_source_mask.attr, &dev_attr_hotkey_source_mask.attr,
&dev_attr_hotkey_poll_freq.attr, &dev_attr_hotkey_poll_freq.attr,
...@@ -5726,11 +5728,11 @@ static const char * const tpacpi_led_names[TPACPI_LED_NUMLEDS] = { ...@@ -5726,11 +5728,11 @@ static const char * const tpacpi_led_names[TPACPI_LED_NUMLEDS] = {
"tpacpi::standby", "tpacpi::standby",
"tpacpi::dock_status1", "tpacpi::dock_status1",
"tpacpi::dock_status2", "tpacpi::dock_status2",
"tpacpi::unknown_led2", "tpacpi::lid_logo_dot",
"tpacpi::unknown_led3", "tpacpi::unknown_led3",
"tpacpi::thinkvantage", "tpacpi::thinkvantage",
}; };
#define TPACPI_SAFE_LEDS 0x1081U #define TPACPI_SAFE_LEDS 0x1481U
static inline bool tpacpi_is_led_restricted(const unsigned int led) static inline bool tpacpi_is_led_restricted(const unsigned int led)
{ {
......
...@@ -905,6 +905,16 @@ static const struct ts_dmi_data trekstor_primetab_t13b_data = { ...@@ -905,6 +905,16 @@ static const struct ts_dmi_data trekstor_primetab_t13b_data = {
.properties = trekstor_primetab_t13b_props, .properties = trekstor_primetab_t13b_props,
}; };
static const struct property_entry trekstor_surftab_duo_w1_props[] = {
PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
{ }
};
static const struct ts_dmi_data trekstor_surftab_duo_w1_data = {
.acpi_name = "GDIX1001:00",
.properties = trekstor_surftab_duo_w1_props,
};
static const struct property_entry trekstor_surftab_twin_10_1_props[] = { static const struct property_entry trekstor_surftab_twin_10_1_props[] = {
PROPERTY_ENTRY_U32("touchscreen-min-x", 20), PROPERTY_ENTRY_U32("touchscreen-min-x", 20),
PROPERTY_ENTRY_U32("touchscreen-min-y", 0), PROPERTY_ENTRY_U32("touchscreen-min-y", 0),
...@@ -1502,6 +1512,14 @@ const struct dmi_system_id touchscreen_dmi_table[] = { ...@@ -1502,6 +1512,14 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "Primetab T13B"), DMI_MATCH(DMI_PRODUCT_NAME, "Primetab T13B"),
}, },
}, },
{
/* TrekStor SurfTab duo W1 10.1 ST10432-10b */
.driver_data = (void *)&trekstor_surftab_duo_w1_data,
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "TrekStor"),
DMI_MATCH(DMI_PRODUCT_NAME, "SurfTab duo W1 10.1 (VT4)"),
},
},
{ {
/* TrekStor SurfTab twin 10.1 ST10432-8 */ /* TrekStor SurfTab twin 10.1 ST10432-8 */
.driver_data = (void *)&trekstor_surftab_twin_10_1_data, .driver_data = (void *)&trekstor_surftab_twin_10_1_data,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment