[PATCH 0/5] platform/x86: wmi: Pass event data directly to legacy notify handlers

Armin Wolf
2024-08-22T17:38:55Z

The current legacy WMI handlers are susceptible to picking up wrong
WMI event data on systems where different WMI devices share some
notification IDs.

Prevent this by letting the WMI driver core taking care of retrieving
the event data. This also simplifies the legacy WMI handlers and their
implementation inside the WMI driver core.

The first patch converts all legacy WMI notify handlers to stop using
wmi_get_event_data() and instead use the new event data provided by
the WMI driver core.
The second patch fixes a minor issue discovered inside the
hp-wmi-sensors driver, and the remaining patches perform some cleanups.

The patch series was tested on a Dell Inspiron 3505 and a Acer Aspire
E1-731 and appears to work.

Armin Wolf (5):
platform/x86: wmi: Pass event data directly to legacy notify handlers
hwmon: (hp-wmi-sensors) Check if WMI event data exists
platform/x86: wmi: Remove wmi_get_event_data()
platform/x86: wmi: Merge get_event_data() with wmi_get_notify_data()
platform/x86: wmi: Call both legacy and WMI driver notify handlers

drivers/hwmon/hp-wmi-sensors.c | 20 +---
drivers/platform/x86/acer-wmi.c | 16 +--
drivers/platform/x86/asus-wmi.c | 19 +--
drivers/platform/x86/dell/dell-wmi-aio.c | 13 +--
drivers/platform/x86/hp/hp-wmi.c | 16 +--
drivers/platform/x86/huawei-wmi.c | 14 +--
drivers/platform/x86/lg-laptop.c | 13 +--
drivers/platform/x86/msi-wmi.c | 20 +---
drivers/platform/x86/toshiba-wmi.c | 15 +--
drivers/platform/x86/wmi.c | 143 ++++++-----------------
include/linux/acpi.h | 3 +-
11 files changed, 53 insertions(+), 239 deletions(-)

--
2.39.2