platform-drivers-x86 for v5.10-2
Highlights: - thinkpad_acpi fixes: 2 bug-fixes and 3 model specific quirks - fixes for misc. other drivers: 2 bug-fixes and 3 model specific quirks The following is an automated git shortlog grouped by driver: acer-wmi: - add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE intel-vbtn: - Support for tablet mode on HP Pavilion 13 x360 PC thinkpad_acpi: - Whitelist P15 firmware for dual fan control - Send tablet mode switch at wakeup time - Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen - Do not report SW_TABLET_MODE on Yoga 11e - add P1 gen3 second fan support toshiba_acpi: - Fix the wrong variable assignment touchscreen_dmi: - Add info for the Irbis TW118 tablet - Add info for the Predia Basic tablet -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEEuvA7XScYQRpenhd+kuxHeUQDJ9wFAl/AxzkUHGhkZWdvZWRl QHJlZGhhdC5jb20ACgkQkuxHeUQDJ9wWvgf/dwP1q3cuXu7uuBNjMbJGsTwbwW2w QEWhXkV/K2q/L1zqOb6ucKmkjgJYQ+60Vzt327IFXFVvxMmylr+Vq/jlz/QlFKtE 3uJx4/PcNPWevgsgiHi542l6n5w8TiqB4RcNjeaSWizT4KYjHI4pODDY/OomSCnj Acz6T1Bybpi7gct6l9XdjlYiDUy3vO+LJBxu/FqV0cy9AxguikWjSyqW0CMTSaY0 U1JI3pKTlg+PMtGzt0sBYGzm8FlzXVSMVlREGrndRPNvYppRg8HN4E1UYUj8ptSH aE3SpHh12v1Yk3/X9xrXU354IKkeyJgwZ8V7CzZEg8KcmnJCPfKxJv3F/w== =lyYR -----END PGP SIGNATURE----- Merge tag 'platform-drivers-x86-v5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 Pull x86 platform driver fixes from Hans de Goede: - thinkpad_acpi fixes: two bug-fixes and three model specific quirks - fixes for misc other drivers: two bug-fixes and three model specific quirks * tag 'platform-drivers-x86-v5.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet platform/x86: touchscreen_dmi: Add info for the Predia Basic tablet platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC platform/x86: toshiba_acpi: Fix the wrong variable assignment platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE platform/x86: thinkpad_acpi: Whitelist P15 firmware for dual fan control platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e platform/x86: thinkpad_acpi: add P1 gen3 second fan support
This commit is contained in:
commit
99c710c46d
@ -111,6 +111,7 @@ static const struct key_entry acer_wmi_keymap[] __initconst = {
|
||||
{KE_KEY, 0x64, {KEY_SWITCHVIDEOMODE} }, /* Display Switch */
|
||||
{KE_IGNORE, 0x81, {KEY_SLEEP} },
|
||||
{KE_KEY, 0x82, {KEY_TOUCHPAD_TOGGLE} }, /* Touch Pad Toggle */
|
||||
{KE_IGNORE, 0x84, {KEY_KBDILLUMTOGGLE} }, /* Automatic Keyboard background light toggle */
|
||||
{KE_KEY, KEY_TOUCHPAD_ON, {KEY_TOUCHPAD_ON} },
|
||||
{KE_KEY, KEY_TOUCHPAD_OFF, {KEY_TOUCHPAD_OFF} },
|
||||
{KE_IGNORE, 0x83, {KEY_TOUCHPAD_TOGGLE} },
|
||||
|
@ -206,6 +206,12 @@ static const struct dmi_system_id dmi_switches_allow_list[] = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP Stream x360 Convertible PC 11"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion 13 x360 PC"),
|
||||
},
|
||||
},
|
||||
{} /* Array terminator */
|
||||
};
|
||||
|
||||
|
@ -3218,7 +3218,14 @@ static int hotkey_init_tablet_mode(void)
|
||||
|
||||
in_tablet_mode = hotkey_gmms_get_tablet_mode(res,
|
||||
&has_tablet_mode);
|
||||
if (has_tablet_mode)
|
||||
/*
|
||||
* The Yoga 11e series has 2 accelerometers described by a
|
||||
* BOSC0200 ACPI node. This setup relies on a Windows service
|
||||
* which calls special ACPI methods on this node to report
|
||||
* the laptop/tent/tablet mode to the EC. The bmc150 iio driver
|
||||
* does not support this, so skip the hotkey on these models.
|
||||
*/
|
||||
if (has_tablet_mode && !acpi_dev_present("BOSC0200", "1", -1))
|
||||
tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_GMMS;
|
||||
type = "GMMS";
|
||||
} else if (acpi_evalf(hkey_handle, &res, "MHKG", "qd")) {
|
||||
@ -4228,6 +4235,7 @@ static void hotkey_resume(void)
|
||||
pr_err("error while attempting to reset the event firmware interface\n");
|
||||
|
||||
tpacpi_send_radiosw_update();
|
||||
tpacpi_input_send_tabletsw();
|
||||
hotkey_tablet_mode_notify_change();
|
||||
hotkey_wakeup_reason_notify_change();
|
||||
hotkey_wakeup_hotunplug_complete_notify_change();
|
||||
@ -8776,6 +8784,8 @@ static const struct tpacpi_quirk fan_quirk_table[] __initconst = {
|
||||
TPACPI_Q_LNV3('N', '2', 'C', TPACPI_FAN_2CTL), /* P52 / P72 */
|
||||
TPACPI_Q_LNV3('N', '2', 'E', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (1st gen) */
|
||||
TPACPI_Q_LNV3('N', '2', 'O', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (2nd gen) */
|
||||
TPACPI_Q_LNV3('N', '2', 'V', TPACPI_FAN_2CTL), /* P1 / X1 Extreme (3nd gen) */
|
||||
TPACPI_Q_LNV3('N', '3', '0', TPACPI_FAN_2CTL), /* P15 (1st gen) / P15v (1st gen) */
|
||||
};
|
||||
|
||||
static int __init fan_init(struct ibm_init_struct *iibm)
|
||||
@ -9703,6 +9713,7 @@ static const struct tpacpi_quirk battery_quirk_table[] __initconst = {
|
||||
TPACPI_Q_LNV3('R', '0', 'B', true), /* Thinkpad 11e gen 3 */
|
||||
TPACPI_Q_LNV3('R', '0', 'C', true), /* Thinkpad 13 */
|
||||
TPACPI_Q_LNV3('R', '0', 'J', true), /* Thinkpad 13 gen 2 */
|
||||
TPACPI_Q_LNV3('R', '0', 'K', true), /* Thinkpad 11e gen 4 celeron BIOS */
|
||||
};
|
||||
|
||||
static int __init tpacpi_battery_init(struct ibm_init_struct *ibm)
|
||||
|
@ -1478,7 +1478,7 @@ static ssize_t video_proc_write(struct file *file, const char __user *buf,
|
||||
struct toshiba_acpi_dev *dev = PDE_DATA(file_inode(file));
|
||||
char *buffer;
|
||||
char *cmd;
|
||||
int lcd_out, crt_out, tv_out;
|
||||
int lcd_out = -1, crt_out = -1, tv_out = -1;
|
||||
int remain = count;
|
||||
int value;
|
||||
int ret;
|
||||
@ -1510,7 +1510,6 @@ static ssize_t video_proc_write(struct file *file, const char __user *buf,
|
||||
|
||||
kfree(cmd);
|
||||
|
||||
lcd_out = crt_out = tv_out = -1;
|
||||
ret = get_video_status(dev, &video_out);
|
||||
if (!ret) {
|
||||
unsigned int new_video_out = video_out;
|
||||
|
@ -295,6 +295,21 @@ static const struct ts_dmi_data irbis_tw90_data = {
|
||||
.properties = irbis_tw90_props,
|
||||
};
|
||||
|
||||
static const struct property_entry irbis_tw118_props[] = {
|
||||
PROPERTY_ENTRY_U32("touchscreen-min-x", 20),
|
||||
PROPERTY_ENTRY_U32("touchscreen-min-y", 30),
|
||||
PROPERTY_ENTRY_U32("touchscreen-size-x", 1960),
|
||||
PROPERTY_ENTRY_U32("touchscreen-size-y", 1510),
|
||||
PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-irbis-tw118.fw"),
|
||||
PROPERTY_ENTRY_U32("silead,max-fingers", 10),
|
||||
{ }
|
||||
};
|
||||
|
||||
static const struct ts_dmi_data irbis_tw118_data = {
|
||||
.acpi_name = "MSSL1680:00",
|
||||
.properties = irbis_tw118_props,
|
||||
};
|
||||
|
||||
static const struct property_entry itworks_tw891_props[] = {
|
||||
PROPERTY_ENTRY_U32("touchscreen-min-x", 1),
|
||||
PROPERTY_ENTRY_U32("touchscreen-min-y", 5),
|
||||
@ -623,6 +638,23 @@ static const struct ts_dmi_data pov_mobii_wintab_p1006w_v10_data = {
|
||||
.properties = pov_mobii_wintab_p1006w_v10_props,
|
||||
};
|
||||
|
||||
static const struct property_entry predia_basic_props[] = {
|
||||
PROPERTY_ENTRY_U32("touchscreen-min-x", 3),
|
||||
PROPERTY_ENTRY_U32("touchscreen-min-y", 10),
|
||||
PROPERTY_ENTRY_U32("touchscreen-size-x", 1728),
|
||||
PROPERTY_ENTRY_U32("touchscreen-size-y", 1144),
|
||||
PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
|
||||
PROPERTY_ENTRY_STRING("firmware-name", "gsl3680-predia-basic.fw"),
|
||||
PROPERTY_ENTRY_U32("silead,max-fingers", 10),
|
||||
PROPERTY_ENTRY_BOOL("silead,home-button"),
|
||||
{ }
|
||||
};
|
||||
|
||||
static const struct ts_dmi_data predia_basic_data = {
|
||||
.acpi_name = "MSSL1680:00",
|
||||
.properties = predia_basic_props,
|
||||
};
|
||||
|
||||
static const struct property_entry schneider_sct101ctm_props[] = {
|
||||
PROPERTY_ENTRY_U32("touchscreen-size-x", 1715),
|
||||
PROPERTY_ENTRY_U32("touchscreen-size-y", 1140),
|
||||
@ -936,6 +968,14 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "TW90"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* Irbis TW118 */
|
||||
.driver_data = (void *)&irbis_tw118_data,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "IRBIS"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "TW118"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* I.T.Works TW891 */
|
||||
.driver_data = (void *)&itworks_tw891_data,
|
||||
@ -1109,6 +1149,16 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
|
||||
DMI_MATCH(DMI_BIOS_DATE, "10/24/2014"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* Predia Basic tablet) */
|
||||
.driver_data = (void *)&predia_basic_data,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "CherryTrail"),
|
||||
/* Above matches are too generic, add bios-version match */
|
||||
DMI_MATCH(DMI_BIOS_VERSION, "Mx.WT107.KUBNGEA"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* Point of View mobii wintab p800w (v2.1) */
|
||||
.driver_data = (void *)&pov_mobii_wintab_p800w_v21_data,
|
||||
|
Loading…
Reference in New Issue
Block a user