platform/x86: ideapad-laptop: Refactor ideapad_sync_touchpad_state()
Add an error exit for read_ec_data() failing instead of putting the main body in an if (success) block. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Tested-by: Maxim Mikityanskiy <maxtram95@gmail.com> Link: https://lore.kernel.org/r/20221117110244.67811-2-hdegoede@redhat.com
This commit is contained in:
parent
7fdc03a737
commit
289a59895e
|
@ -1490,23 +1490,26 @@ static void ideapad_kbd_bl_exit(struct ideapad_private *priv)
|
|||
static void ideapad_sync_touchpad_state(struct ideapad_private *priv)
|
||||
{
|
||||
unsigned long value;
|
||||
unsigned char param;
|
||||
int ret;
|
||||
|
||||
if (!priv->features.touchpad_ctrl_via_ec)
|
||||
return;
|
||||
|
||||
/* Without reading from EC touchpad LED doesn't switch state */
|
||||
if (!read_ec_data(priv->adev->handle, VPCCMD_R_TOUCHPAD, &value)) {
|
||||
unsigned char param;
|
||||
/*
|
||||
* Some IdeaPads don't really turn off touchpad - they only
|
||||
* switch the LED state. We (de)activate KBC AUX port to turn
|
||||
* touchpad off and on. We send KEY_TOUCHPAD_OFF and
|
||||
* KEY_TOUCHPAD_ON to not to get out of sync with LED
|
||||
*/
|
||||
i8042_command(¶m, value ? I8042_CMD_AUX_ENABLE : I8042_CMD_AUX_DISABLE);
|
||||
ideapad_input_report(priv, value ? 67 : 66);
|
||||
sysfs_notify(&priv->platform_device->dev.kobj, NULL, "touchpad");
|
||||
}
|
||||
ret = read_ec_data(priv->adev->handle, VPCCMD_R_TOUCHPAD, &value);
|
||||
if (ret)
|
||||
return;
|
||||
|
||||
/*
|
||||
* Some IdeaPads don't really turn off touchpad - they only
|
||||
* switch the LED state. We (de)activate KBC AUX port to turn
|
||||
* touchpad off and on. We send KEY_TOUCHPAD_OFF and
|
||||
* KEY_TOUCHPAD_ON to not to get out of sync with LED
|
||||
*/
|
||||
i8042_command(¶m, value ? I8042_CMD_AUX_ENABLE : I8042_CMD_AUX_DISABLE);
|
||||
ideapad_input_report(priv, value ? 67 : 66);
|
||||
sysfs_notify(&priv->platform_device->dev.kobj, NULL, "touchpad");
|
||||
}
|
||||
|
||||
static void ideapad_acpi_notify(acpi_handle handle, u32 event, void *data)
|
||||
|
|
Loading…
Reference in New Issue