platform/x86: ideapad-laptop: check for Fn-lock support in HALS
Bit 9 in the return value of the HALS ACPI method is set if Fn-lock is supported. Change ideapad_check_features() to check it. Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Link: https://lore.kernel.org/r/20210203215403.290792-20-pobrn@protonmail.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
Родитель
1c59de4ad2
Коммит
392cbf0a42
|
@ -57,7 +57,9 @@ enum {
|
|||
};
|
||||
|
||||
enum {
|
||||
HALS_FNLOCK_STATE_BIT = 10,
|
||||
HALS_FNLOCK_SUPPORT_BIT = 9,
|
||||
HALS_FNLOCK_STATE_BIT = 10,
|
||||
HALS_HOTKEYS_PRIMARY_BIT = 11,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -1290,8 +1292,12 @@ static void ideapad_check_features(struct ideapad_private *priv)
|
|||
if (acpi_has_method(handle, "DYTC"))
|
||||
priv->features.dytc = true;
|
||||
|
||||
if (acpi_has_method(handle, "HALS") && acpi_has_method(handle, "SALS"))
|
||||
priv->features.fn_lock = true;
|
||||
if (acpi_has_method(handle, "HALS") && acpi_has_method(handle, "SALS")) {
|
||||
if (!eval_hals(handle, &val)) {
|
||||
if (test_bit(HALS_FNLOCK_SUPPORT_BIT, &val))
|
||||
priv->features.fn_lock = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static int ideapad_acpi_add(struct platform_device *pdev)
|
||||
|
|
Загрузка…
Ссылка в новой задаче