|
@@ -2082,6 +2082,7 @@ static struct attribute_set *hotkey_dev_attributes;
|
|
|
|
|
|
static void tpacpi_driver_event(const unsigned int hkey_event);
|
|
|
static void hotkey_driver_event(const unsigned int scancode);
|
|
|
+static void hotkey_poll_setup(const bool may_warn);
|
|
|
|
|
|
/* HKEY.MHKG() return bits */
|
|
|
#define TP_HOTKEY_TABLET_MASK (1 << 3)
|
|
@@ -2264,6 +2265,8 @@ static int tpacpi_hotkey_driver_mask_set(const u32 mask)
|
|
|
|
|
|
rc = hotkey_mask_set((hotkey_acpi_mask | hotkey_driver_mask) &
|
|
|
~hotkey_source_mask);
|
|
|
+ hotkey_poll_setup(true);
|
|
|
+
|
|
|
mutex_unlock(&hotkey_mutex);
|
|
|
|
|
|
return rc;
|
|
@@ -2548,7 +2551,7 @@ static void hotkey_poll_stop_sync(void)
|
|
|
}
|
|
|
|
|
|
/* call with hotkey_mutex held */
|
|
|
-static void hotkey_poll_setup(bool may_warn)
|
|
|
+static void hotkey_poll_setup(const bool may_warn)
|
|
|
{
|
|
|
const u32 poll_driver_mask = hotkey_driver_mask & hotkey_source_mask;
|
|
|
const u32 poll_user_mask = hotkey_user_mask & hotkey_source_mask;
|
|
@@ -2579,7 +2582,7 @@ static void hotkey_poll_setup(bool may_warn)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-static void hotkey_poll_setup_safe(bool may_warn)
|
|
|
+static void hotkey_poll_setup_safe(const bool may_warn)
|
|
|
{
|
|
|
mutex_lock(&hotkey_mutex);
|
|
|
hotkey_poll_setup(may_warn);
|
|
@@ -2597,7 +2600,11 @@ static void hotkey_poll_set_freq(unsigned int freq)
|
|
|
|
|
|
#else /* CONFIG_THINKPAD_ACPI_HOTKEY_POLL */
|
|
|
|
|
|
-static void hotkey_poll_setup_safe(bool __unused)
|
|
|
+static void hotkey_poll_setup(const bool __unused)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+static void hotkey_poll_setup_safe(const bool __unused)
|
|
|
{
|
|
|
}
|
|
|
|