mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 21:07:02 +09:00
Merge 4.19.71 into android-4.19
Changes in 4.19.71 Revert "Input: elantech - enable SMBus on new (2018+) systems" Linux 4.19.71 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ibb903d2cf315c490cd61287a62e825f3a2f42b15
This commit is contained in:
2
Makefile
2
Makefile
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 4
|
||||
PATCHLEVEL = 19
|
||||
SUBLEVEL = 70
|
||||
SUBLEVEL = 71
|
||||
EXTRAVERSION =
|
||||
NAME = "People's Front"
|
||||
|
||||
|
||||
@@ -1810,30 +1810,6 @@ static int elantech_create_smbus(struct psmouse *psmouse,
|
||||
leave_breadcrumbs);
|
||||
}
|
||||
|
||||
static bool elantech_use_host_notify(struct psmouse *psmouse,
|
||||
struct elantech_device_info *info)
|
||||
{
|
||||
if (ETP_NEW_IC_SMBUS_HOST_NOTIFY(info->fw_version))
|
||||
return true;
|
||||
|
||||
switch (info->bus) {
|
||||
case ETP_BUS_PS2_ONLY:
|
||||
/* expected case */
|
||||
break;
|
||||
case ETP_BUS_SMB_HST_NTFY_ONLY:
|
||||
case ETP_BUS_PS2_SMB_HST_NTFY:
|
||||
/* SMbus implementation is stable since 2018 */
|
||||
if (dmi_get_bios_year() >= 2018)
|
||||
return true;
|
||||
default:
|
||||
psmouse_dbg(psmouse,
|
||||
"Ignoring SMBus bus provider %d\n", info->bus);
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* elantech_setup_smbus - called once the PS/2 devices are enumerated
|
||||
* and decides to instantiate a SMBus InterTouch device.
|
||||
@@ -1853,7 +1829,7 @@ static int elantech_setup_smbus(struct psmouse *psmouse,
|
||||
* i2c_blacklist_pnp_ids.
|
||||
* Old ICs are up to the user to decide.
|
||||
*/
|
||||
if (!elantech_use_host_notify(psmouse, info) ||
|
||||
if (!ETP_NEW_IC_SMBUS_HOST_NOTIFY(info->fw_version) ||
|
||||
psmouse_matches_pnp_id(psmouse, i2c_blacklist_pnp_ids))
|
||||
return -ENXIO;
|
||||
}
|
||||
@@ -1873,6 +1849,34 @@ static int elantech_setup_smbus(struct psmouse *psmouse,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool elantech_use_host_notify(struct psmouse *psmouse,
|
||||
struct elantech_device_info *info)
|
||||
{
|
||||
if (ETP_NEW_IC_SMBUS_HOST_NOTIFY(info->fw_version))
|
||||
return true;
|
||||
|
||||
switch (info->bus) {
|
||||
case ETP_BUS_PS2_ONLY:
|
||||
/* expected case */
|
||||
break;
|
||||
case ETP_BUS_SMB_ALERT_ONLY:
|
||||
/* fall-through */
|
||||
case ETP_BUS_PS2_SMB_ALERT:
|
||||
psmouse_dbg(psmouse, "Ignoring SMBus provider through alert protocol.\n");
|
||||
break;
|
||||
case ETP_BUS_SMB_HST_NTFY_ONLY:
|
||||
/* fall-through */
|
||||
case ETP_BUS_PS2_SMB_HST_NTFY:
|
||||
return true;
|
||||
default:
|
||||
psmouse_dbg(psmouse,
|
||||
"Ignoring SMBus bus provider %d.\n",
|
||||
info->bus);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
int elantech_init_smbus(struct psmouse *psmouse)
|
||||
{
|
||||
struct elantech_device_info info;
|
||||
|
||||
Reference in New Issue
Block a user