[PATCH v9 0/1] platform/x86/tuxedo: Add virtual LampArray for TUXEDO NB04 devices

From: Werner Sembach
Date: Fri Apr 25 2025 - 17:01:06 EST


Note that I'm away from my work PC for the next week so expect my next
response the monday after.

v2: - Integrated Armins feedback and fixed kernel test robot warnings.
v3: - Fixed borked subject line of v2.
v4: - Remove unrequired WMI mutex.
- Move device checking from probe to init.
- Fix device checking working exactly reverse as it should.
- Fix null pointer dereference because,
hdev->driver_data != hdev->dev.driver_data.
v5: - Move everything to subfolder nb04 in preparation for the eventual
upstreaming of other tuxedo-driver parts.
- Integrated Ilpos coding style feedback.
- Use dev_set/get_drvdata() based on Armins feedback.
v6: - Integrated more of Ilpo coding style feedback from a different LKML
patch-thread (less files, local functions prefixed with a short
string).
v7: - Integrated more of Ilpos feedback e.g.:
- Use cleanup.h
- replace some if cases with a pointer in driver_data
- coding style oversights
v8: - Integrated more of Ilpos feedback
- Typo fix spotted by Alok
v9: - Introduce lamp_rgbi_tuple_t to group some values
- Introduce LAMP_MULTI_UPDATE_REPORT_LAMP_COUNT_MAX to not manually set
a fixed number at multiple places
- Move lamp_multi_update_report initialization in
handle_lamp_range_update_report out of the loop again as a small
performance optimization as the unused entries do not actually be
zeroed (I mixed up the spec of this devices wmi interface and the HID
spec)

Werner Sembach (1):
platform/x86/tuxedo: Add virtual LampArray for TUXEDO NB04 devices

MAINTAINERS | 6 +
drivers/platform/x86/Kconfig | 2 +
drivers/platform/x86/Makefile | 3 +
drivers/platform/x86/tuxedo/Kconfig | 8 +
drivers/platform/x86/tuxedo/Makefile | 8 +
drivers/platform/x86/tuxedo/nb04/Kconfig | 15 +
drivers/platform/x86/tuxedo/nb04/Makefile | 10 +
drivers/platform/x86/tuxedo/nb04/wmi_ab.c | 923 ++++++++++++++++++++
drivers/platform/x86/tuxedo/nb04/wmi_util.c | 91 ++
drivers/platform/x86/tuxedo/nb04/wmi_util.h | 109 +++
10 files changed, 1175 insertions(+)
create mode 100644 drivers/platform/x86/tuxedo/Kconfig
create mode 100644 drivers/platform/x86/tuxedo/Makefile
create mode 100644 drivers/platform/x86/tuxedo/nb04/Kconfig
create mode 100644 drivers/platform/x86/tuxedo/nb04/Makefile
create mode 100644 drivers/platform/x86/tuxedo/nb04/wmi_ab.c
create mode 100644 drivers/platform/x86/tuxedo/nb04/wmi_util.c
create mode 100644 drivers/platform/x86/tuxedo/nb04/wmi_util.h

--
2.43.0