[PATCH v2 0/6] platform/x86: ayaneo-ec: Add Ayaneo Embedded Controller platform driver
From: Antheas Kapenekakis
Date: Wed Oct 15 2025 - 04:46:37 EST
This series introduces a platform driver for Ayaneo devices, ayaneo-ec.
This driver provides hwmon support, power management, and module management
(for the new Ayaneo 3 device). Module management is done through the new
firmware attributes sysfs interface.
Luckily, all Ayaneo devices with an ACPI mapped EC use the same registers.
Older devices also use a memory mapped region for RGB[1], but that is
replaced by HID in the new Ayaneo 3. Therefore, this allows for a simple
driver design that provides robust future support. The memory mapped region
can be upstreamed as a different RGB driver in the future or remain
out-of-tree[1].
This change also allows cleaning up the oxpec driver, by removing Ayaneo
devices from it. In parallel, charge limiting is added for these devices.
[1] https://github.com/ShadowBlip/ayaneo-platform
---
V1: https://lore.kernel.org/all/20250820160628.99678-1-lkml@xxxxxxxxxxx/
Changes since V1:
- Use plain sysfs attrs for magic module attributes
- Combine quirk for power and modules, so attribute tree is simpler
- Use switch statement in hwmon
- Add hibernation hook for charge bypass in last patch
- Restoring fan speed is a liability so it is omitted, see patch notes
Note that for EC managed fan curves, it would be acceptable
- Regmap comment: Using regmap is unprecedented for ACPI mapped ECs
and overkill for one value (> 100 LOC)
- fixp_linear_interpolate() comment: it requires importing an extra header,
is not used for static parameters in other modules, and expands to the
same equation for parameters used, so it is omitted
Antheas Kapenekakis (6):
platform/x86: ayaneo-ec: Add Ayaneo Embedded Controller platform
driver
platform/x86: ayaneo-ec: Add hwmon support
platform/x86: ayaneo-ec: Add charge control support
platform/x86: ayaneo-ec: Add controller power and modules attributes
platform/x86: ayaneo-ec: Move Ayaneo devices from oxpec to ayaneo-ec
platform/x86: ayaneo-ec: Add suspend hook
.../ABI/testing/sysfs-platform-ayaneo | 19 +
MAINTAINERS | 7 +
drivers/platform/x86/Kconfig | 17 +-
drivers/platform/x86/Makefile | 3 +
drivers/platform/x86/ayaneo-ec.c | 541 ++++++++++++++++++
drivers/platform/x86/oxpec.c | 115 +---
6 files changed, 585 insertions(+), 117 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-platform-ayaneo
create mode 100644 drivers/platform/x86/ayaneo-ec.c
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
--
2.51.0