From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Hans de Goede <hdegoede@redhat.com>,
Maxim Mikityanskiy <maxtram95@gmail.com>,
Sasha Levin <sashal@kernel.org>,
alexhung@gmail.com, markgross@kernel.org,
platform-driver-x86@vger.kernel.org
Subject: [PATCH AUTOSEL 5.15 22/31] platform/x86: intel: hid: Always call BTNL ACPI method
Date: Sun, 13 Aug 2023 12:05:55 -0400 [thread overview]
Message-ID: <20230813160605.1080385-22-sashal@kernel.org> (raw)
In-Reply-To: <20230813160605.1080385-1-sashal@kernel.org>
From: Hans de Goede <hdegoede@redhat.com>
[ Upstream commit e3ab18de2b09361d6f0e4aafb9cfd6d002ce43a1 ]
On a HP Elite Dragonfly G2 the 0xcc and 0xcd events for SW_TABLET_MODE
are only send after the BTNL ACPI method has been called.
Likely more devices need this, so make the BTNL ACPI method unconditional
instead of only doing it on devices with a 5 button array.
Note this also makes the intel_button_array_enable() call in probe()
unconditional, that function does its own priv->array check. This makes
the intel_button_array_enable() call in probe() consistent with the calls
done on suspend/resume which also rely on the priv->array check inside
the function.
Reported-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Closes: https://lore.kernel.org/platform-driver-x86/20230712175023.31651-1-maxtram95@gmail.com/
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230715181516.5173-1-hdegoede@redhat.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/platform/x86/intel/hid.c | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/drivers/platform/x86/intel/hid.c b/drivers/platform/x86/intel/hid.c
index 4d1c78635114e..73ecbdfcfb7c0 100644
--- a/drivers/platform/x86/intel/hid.c
+++ b/drivers/platform/x86/intel/hid.c
@@ -608,7 +608,7 @@ static bool button_array_present(struct platform_device *device)
static int intel_hid_probe(struct platform_device *device)
{
acpi_handle handle = ACPI_HANDLE(&device->dev);
- unsigned long long mode;
+ unsigned long long mode, dummy;
struct intel_hid_priv *priv;
acpi_status status;
int err;
@@ -673,18 +673,15 @@ static int intel_hid_probe(struct platform_device *device)
if (err)
goto err_remove_notify;
- if (priv->array) {
- unsigned long long dummy;
+ intel_button_array_enable(&device->dev, true);
- intel_button_array_enable(&device->dev, true);
-
- /* Call button load method to enable HID power button */
- if (!intel_hid_evaluate_method(handle, INTEL_HID_DSM_BTNL_FN,
- &dummy)) {
- dev_warn(&device->dev,
- "failed to enable HID power button\n");
- }
- }
+ /*
+ * Call button load method to enable HID power button
+ * Always do this since it activates events on some devices without
+ * a button array too.
+ */
+ if (!intel_hid_evaluate_method(handle, INTEL_HID_DSM_BTNL_FN, &dummy))
+ dev_warn(&device->dev, "failed to enable HID power button\n");
device_init_wakeup(&device->dev, true);
/*
--
2.40.1
next prev parent reply other threads:[~2023-08-13 16:10 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-13 16:05 [PATCH AUTOSEL 5.15 01/31] phy: qcom-snps-femto-v2: keep cfg_ahb_clk enabled during runtime suspend Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 02/31] phy: qcom-snps-femto-v2: use qcom_snps_hsphy_suspend/resume error code Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 03/31] media: pulse8-cec: handle possible ping error Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 04/31] media: pci: cx23885: fix error handling for cx23885 ATSC boards Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 05/31] 9p: virtio: make sure 'offs' is initialized in zc_request Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 06/31] ksmbd: fix out of bounds in smb3_decrypt_req() Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 07/31] ksmbd: no response from compound read Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 08/31] ASoC: da7219: Flush pending AAD IRQ when suspending Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 09/31] ASoC: da7219: Check for failure reading AAD IRQ events Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 10/31] ethernet: atheros: fix return value check in atl1c_tso_csum() Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 11/31] vxlan: generalize vxlan_parse_gpe_hdr and remove unused args Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 12/31] m68k: Fix invalid .section syntax Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 13/31] s390/dasd: use correct number of retries for ERP requests Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 14/31] s390/dasd: fix hanging device after request requeue Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 15/31] fs/nls: make load_nls() take a const parameter Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 16/31] ASoC: rt5682-sdw: fix for JD event handling in ClockStop Mode0 Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 17/31] ASoc: codecs: ES8316: Fix DMIC config Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 18/31] ASoC: rt711: fix for JD event handling in ClockStop Mode0 Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 19/31] ASoC: rt711-sdca: " Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 20/31] ASoC: atmel: Fix the 8K sample parameter in I2SC master Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 21/31] ALSA: usb-audio: Add quirk for Microsoft Modern Wireless Headset Sasha Levin
2023-08-13 16:05 ` Sasha Levin [this message]
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 23/31] platform/x86/intel/hid: Add HP Dragonfly G2 to VGBS DMI quirks Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 24/31] platform/x86: huawei-wmi: Silence ambient light sensor Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 25/31] drm/amd/display: Exit idle optimizations before attempt to access PHY Sasha Levin
2023-08-13 16:05 ` [PATCH AUTOSEL 5.15 26/31] ovl: Always reevaluate the file signature for IMA Sasha Levin
2023-08-13 16:06 ` [PATCH AUTOSEL 5.15 27/31] ata: pata_arasan_cf: Use dev_err_probe() instead dev_err() in data_xfer() Sasha Levin
2023-08-13 16:06 ` [PATCH AUTOSEL 5.15 28/31] rbd: make get_lock_owner_info() return a single locker or NULL Sasha Levin
2023-08-14 13:17 ` Ilya Dryomov
2023-08-13 16:06 ` [PATCH AUTOSEL 5.15 29/31] rbd: harden get_lock_owner_info() a bit Sasha Levin
2023-08-13 16:06 ` [PATCH AUTOSEL 5.15 30/31] security: keys: perform capable check only on privileged operations Sasha Levin
2023-08-13 16:06 ` [PATCH AUTOSEL 5.15 31/31] kprobes: Prohibit probing on CFI preamble symbol Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230813160605.1080385-22-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=alexhung@gmail.com \
--cc=hdegoede@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=markgross@kernel.org \
--cc=maxtram95@gmail.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).