Commit 32c284b7 authored by Hans de Goede's avatar Hans de Goede

platform/x86: thinkpad_acpi: Drop ignore_acpi_ev

Setting ignore_acpi_ev to true has the same result as setting
send_acpi_ev to false, so there is no need to have both.

Drop ignore_acpi_ev.
Tested-by: default avatarMark Pearson <mpearson-lenovo@squebb.ca>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarMark Pearson <mpearson-lenovo@squebb.ca>
Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20240424122834.19801-5-hdegoede@redhat.com
parent b070f13c
...@@ -3755,9 +3755,7 @@ static bool hotkey_notify_extended_hotkey(const u32 hkey) ...@@ -3755,9 +3755,7 @@ static bool hotkey_notify_extended_hotkey(const u32 hkey)
} }
/* 0x1000-0x1FFF: key presses */ /* 0x1000-0x1FFF: key presses */
static bool hotkey_notify_hotkey(const u32 hkey, static bool hotkey_notify_hotkey(const u32 hkey, bool *send_acpi_ev)
bool *send_acpi_ev,
bool *ignore_acpi_ev)
{ {
unsigned int scancode = hkey & 0xfff; unsigned int scancode = hkey & 0xfff;
...@@ -3772,12 +3770,10 @@ static bool hotkey_notify_hotkey(const u32 hkey, ...@@ -3772,12 +3770,10 @@ static bool hotkey_notify_hotkey(const u32 hkey,
scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) { scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
/* HKEY event 0x1001 is scancode 0x00 */ /* HKEY event 0x1001 is scancode 0x00 */
scancode--; scancode--;
if (!(hotkey_source_mask & (1 << scancode))) { if (!(hotkey_source_mask & (1 << scancode)))
tpacpi_input_send_key_masked(scancode); tpacpi_input_send_key_masked(scancode);
*send_acpi_ev = false; *send_acpi_ev = false;
} else {
*ignore_acpi_ev = true;
}
return true; return true;
} }
break; break;
...@@ -3793,21 +3789,19 @@ static bool hotkey_notify_hotkey(const u32 hkey, ...@@ -3793,21 +3789,19 @@ static bool hotkey_notify_hotkey(const u32 hkey,
} }
/* 0x2000-0x2FFF: Wakeup reason */ /* 0x2000-0x2FFF: Wakeup reason */
static bool hotkey_notify_wakeup(const u32 hkey, static bool hotkey_notify_wakeup(const u32 hkey, bool *send_acpi_ev)
bool *send_acpi_ev,
bool *ignore_acpi_ev)
{ {
switch (hkey) { switch (hkey) {
case TP_HKEY_EV_WKUP_S3_UNDOCK: /* suspend, undock */ case TP_HKEY_EV_WKUP_S3_UNDOCK: /* suspend, undock */
case TP_HKEY_EV_WKUP_S4_UNDOCK: /* hibernation, undock */ case TP_HKEY_EV_WKUP_S4_UNDOCK: /* hibernation, undock */
hotkey_wakeup_reason = TP_ACPI_WAKEUP_UNDOCK; hotkey_wakeup_reason = TP_ACPI_WAKEUP_UNDOCK;
*ignore_acpi_ev = true; *send_acpi_ev = false;
break; break;
case TP_HKEY_EV_WKUP_S3_BAYEJ: /* suspend, bay eject */ case TP_HKEY_EV_WKUP_S3_BAYEJ: /* suspend, bay eject */
case TP_HKEY_EV_WKUP_S4_BAYEJ: /* hibernation, bay eject */ case TP_HKEY_EV_WKUP_S4_BAYEJ: /* hibernation, bay eject */
hotkey_wakeup_reason = TP_ACPI_WAKEUP_BAYEJ; hotkey_wakeup_reason = TP_ACPI_WAKEUP_BAYEJ;
*ignore_acpi_ev = true; *send_acpi_ev = false;
break; break;
case TP_HKEY_EV_WKUP_S3_BATLOW: /* Battery on critical low level/S3 */ case TP_HKEY_EV_WKUP_S3_BATLOW: /* Battery on critical low level/S3 */
...@@ -3830,9 +3824,7 @@ static bool hotkey_notify_wakeup(const u32 hkey, ...@@ -3830,9 +3824,7 @@ static bool hotkey_notify_wakeup(const u32 hkey,
} }
/* 0x4000-0x4FFF: dock-related events */ /* 0x4000-0x4FFF: dock-related events */
static bool hotkey_notify_dockevent(const u32 hkey, static bool hotkey_notify_dockevent(const u32 hkey, bool *send_acpi_ev)
bool *send_acpi_ev,
bool *ignore_acpi_ev)
{ {
switch (hkey) { switch (hkey) {
case TP_HKEY_EV_UNDOCK_ACK: case TP_HKEY_EV_UNDOCK_ACK:
...@@ -3863,7 +3855,6 @@ static bool hotkey_notify_dockevent(const u32 hkey, ...@@ -3863,7 +3855,6 @@ static bool hotkey_notify_dockevent(const u32 hkey,
case TP_HKEY_EV_KBD_COVER_ATTACH: case TP_HKEY_EV_KBD_COVER_ATTACH:
case TP_HKEY_EV_KBD_COVER_DETACH: case TP_HKEY_EV_KBD_COVER_DETACH:
*send_acpi_ev = false; *send_acpi_ev = false;
*ignore_acpi_ev = true;
return true; return true;
default: default:
...@@ -3872,9 +3863,7 @@ static bool hotkey_notify_dockevent(const u32 hkey, ...@@ -3872,9 +3863,7 @@ static bool hotkey_notify_dockevent(const u32 hkey,
} }
/* 0x5000-0x5FFF: human interface helpers */ /* 0x5000-0x5FFF: human interface helpers */
static bool hotkey_notify_usrevent(const u32 hkey, static bool hotkey_notify_usrevent(const u32 hkey, bool *send_acpi_ev)
bool *send_acpi_ev,
bool *ignore_acpi_ev)
{ {
switch (hkey) { switch (hkey) {
case TP_HKEY_EV_PEN_INSERTED: /* X61t: tablet pen inserted into bay */ case TP_HKEY_EV_PEN_INSERTED: /* X61t: tablet pen inserted into bay */
...@@ -3892,7 +3881,7 @@ static bool hotkey_notify_usrevent(const u32 hkey, ...@@ -3892,7 +3881,7 @@ static bool hotkey_notify_usrevent(const u32 hkey,
case TP_HKEY_EV_LID_OPEN: /* Lid opened */ case TP_HKEY_EV_LID_OPEN: /* Lid opened */
case TP_HKEY_EV_BRGHT_CHANGED: /* brightness changed */ case TP_HKEY_EV_BRGHT_CHANGED: /* brightness changed */
/* do not propagate these events */ /* do not propagate these events */
*ignore_acpi_ev = true; *send_acpi_ev = false;
return true; return true;
default: default:
...@@ -3904,9 +3893,7 @@ static void thermal_dump_all_sensors(void); ...@@ -3904,9 +3893,7 @@ static void thermal_dump_all_sensors(void);
static void palmsensor_refresh(void); static void palmsensor_refresh(void);
/* 0x6000-0x6FFF: thermal alarms/notices and keyboard events */ /* 0x6000-0x6FFF: thermal alarms/notices and keyboard events */
static bool hotkey_notify_6xxx(const u32 hkey, static bool hotkey_notify_6xxx(const u32 hkey, bool *send_acpi_ev)
bool *send_acpi_ev,
bool *ignore_acpi_ev)
{ {
switch (hkey) { switch (hkey) {
case TP_HKEY_EV_THM_TABLE_CHANGED: case TP_HKEY_EV_THM_TABLE_CHANGED:
...@@ -3953,14 +3940,12 @@ static bool hotkey_notify_6xxx(const u32 hkey, ...@@ -3953,14 +3940,12 @@ static bool hotkey_notify_6xxx(const u32 hkey,
/* key press events, we just ignore them as long as the EC /* key press events, we just ignore them as long as the EC
* is still reporting them in the normal keyboard stream */ * is still reporting them in the normal keyboard stream */
*send_acpi_ev = false; *send_acpi_ev = false;
*ignore_acpi_ev = true;
return true; return true;
case TP_HKEY_EV_KEY_FN_ESC: case TP_HKEY_EV_KEY_FN_ESC:
/* Get the media key status to force the status LED to update */ /* Get the media key status to force the status LED to update */
acpi_evalf(hkey_handle, NULL, "GMKS", "v"); acpi_evalf(hkey_handle, NULL, "GMKS", "v");
*send_acpi_ev = false; *send_acpi_ev = false;
*ignore_acpi_ev = true;
return true; return true;
case TP_HKEY_EV_TABLET_CHANGED: case TP_HKEY_EV_TABLET_CHANGED:
...@@ -3988,7 +3973,6 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) ...@@ -3988,7 +3973,6 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
{ {
u32 hkey; u32 hkey;
bool send_acpi_ev; bool send_acpi_ev;
bool ignore_acpi_ev;
bool known_ev; bool known_ev;
if (event != 0x80) { if (event != 0x80) {
...@@ -4013,18 +3997,15 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) ...@@ -4013,18 +3997,15 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
} }
send_acpi_ev = true; send_acpi_ev = true;
ignore_acpi_ev = false;
switch (hkey >> 12) { switch (hkey >> 12) {
case 1: case 1:
/* 0x1000-0x1FFF: key presses */ /* 0x1000-0x1FFF: key presses */
known_ev = hotkey_notify_hotkey(hkey, &send_acpi_ev, known_ev = hotkey_notify_hotkey(hkey, &send_acpi_ev);
&ignore_acpi_ev);
break; break;
case 2: case 2:
/* 0x2000-0x2FFF: Wakeup reason */ /* 0x2000-0x2FFF: Wakeup reason */
known_ev = hotkey_notify_wakeup(hkey, &send_acpi_ev, known_ev = hotkey_notify_wakeup(hkey, &send_acpi_ev);
&ignore_acpi_ev);
break; break;
case 3: case 3:
/* 0x3000-0x3FFF: bay-related wakeups */ /* 0x3000-0x3FFF: bay-related wakeups */
...@@ -4045,19 +4026,16 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) ...@@ -4045,19 +4026,16 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
break; break;
case 4: case 4:
/* 0x4000-0x4FFF: dock-related events */ /* 0x4000-0x4FFF: dock-related events */
known_ev = hotkey_notify_dockevent(hkey, &send_acpi_ev, known_ev = hotkey_notify_dockevent(hkey, &send_acpi_ev);
&ignore_acpi_ev);
break; break;
case 5: case 5:
/* 0x5000-0x5FFF: human interface helpers */ /* 0x5000-0x5FFF: human interface helpers */
known_ev = hotkey_notify_usrevent(hkey, &send_acpi_ev, known_ev = hotkey_notify_usrevent(hkey, &send_acpi_ev);
&ignore_acpi_ev);
break; break;
case 6: case 6:
/* 0x6000-0x6FFF: thermal alarms/notices and /* 0x6000-0x6FFF: thermal alarms/notices and
* keyboard events */ * keyboard events */
known_ev = hotkey_notify_6xxx(hkey, &send_acpi_ev, known_ev = hotkey_notify_6xxx(hkey, &send_acpi_ev);
&ignore_acpi_ev);
break; break;
case 7: case 7:
/* 0x7000-0x7FFF: misc */ /* 0x7000-0x7FFF: misc */
...@@ -4079,7 +4057,7 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event) ...@@ -4079,7 +4057,7 @@ static void hotkey_notify(struct ibm_struct *ibm, u32 event)
} }
/* netlink events */ /* netlink events */
if (!ignore_acpi_ev && send_acpi_ev) { if (send_acpi_ev) {
acpi_bus_generate_netlink_event( acpi_bus_generate_netlink_event(
ibm->acpi->device->pnp.device_class, ibm->acpi->device->pnp.device_class,
dev_name(&ibm->acpi->device->dev), dev_name(&ibm->acpi->device->dev),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment