Message ID | 1478538633-11450-2-git-send-email-lyude@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Mon, 07 Nov 2016, Lyude wrote: > There's no need to have multiple copies of the logic we use for checking > whether or not we're in tablet mode, so just use > hotkey_get_tablet_mode() when checking the initial state in > hotkey_init_tablet_mode(). ... > @@ -3130,13 +3130,16 @@ hotkey_init_tablet_mode(void) > /* For X41t, X60t, X61t Tablets... */ > if (acpi_evalf(hkey_handle, &res, "MHKG", "qd")) { > tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_MHKG; > - in_tablet_mode = !!(res & TP_HOTKEY_TABLET_MASK); > type = "MHKG"; > } > > if (!tp_features.hotkey_tablet) > return 0; > > + res = hotkey_get_tablet_mode(&in_tablet_mode); > + if (res) > + return res; > + Won't this way of doing things cause the ACPI methods to be called twice in a row? The hotkey_init_tablet_mode() code does mode detection, and thus hotkey_get_tablet_mode() must be kept in sync with it *anyway* (and not the opposite), so it doesn't look like a very relevant maintenance burden...
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index dfa1af8..ad93c41 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -3130,13 +3130,16 @@ hotkey_init_tablet_mode(void) /* For X41t, X60t, X61t Tablets... */ if (acpi_evalf(hkey_handle, &res, "MHKG", "qd")) { tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_MHKG; - in_tablet_mode = !!(res & TP_HOTKEY_TABLET_MASK); type = "MHKG"; } if (!tp_features.hotkey_tablet) return 0; + res = hotkey_get_tablet_mode(&in_tablet_mode); + if (res) + return res; + pr_info("Tablet mode switch found (type: %s), currently in %s mode\n", type, in_tablet_mode ? "tablet" : "laptop");
There's no need to have multiple copies of the logic we use for checking whether or not we're in tablet mode, so just use hotkey_get_tablet_mode() when checking the initial state in hotkey_init_tablet_mode(). Cc: Daniel Martin <consume.noise@gmail.com> Signed-off-by: Lyude <lyude@redhat.com> --- drivers/platform/x86/thinkpad_acpi.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)