On Sun, Mar 9, 2025 at 4:21 AM Antheas Kapenekakis <lkml@xxxxxxxxxxx> wrote: > > The EC of OneXPlayer devices used to only control the fan. > This is no longer the case, with the EC of OneXPlayer gaining > additional functionality (turbo button, turbo led, battery controls). > > As it will be beneficial from a complexity perspective > to retain this driver as a single unit, move it out > of hwmon, and into platform/x86. > > While at it, add myself to the maintainer's file. > > Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> > Signed-off-by: Antheas Kapenekakis <lkml@xxxxxxxxxxx> > --- > Documentation/hwmon/index.rst | 2 +- > Documentation/hwmon/{oxp-sensors.rst => oxpec.rst} | 0 > MAINTAINERS | 7 ++++--- > drivers/hwmon/Kconfig | 11 ----------- > drivers/hwmon/Makefile | 1 - > drivers/platform/x86/Kconfig | 11 +++++++++++ > drivers/platform/x86/Makefile | 3 +++ > drivers/{hwmon/oxp-sensors.c => platform/x86/oxpec.c} | 10 ++++------ > 8 files changed, 23 insertions(+), 22 deletions(-) > rename Documentation/hwmon/{oxp-sensors.rst => oxpec.rst} (100%) IMO this should also be moved, it doesn't really make sense that hwmon would continue to carry the docs after the move. Platform/x86 doesn't seem to have a home in Documentation, perhaps misc-devices? Armin or Ilpo may have some thoughts here. > rename drivers/{hwmon/oxp-sensors.c => platform/x86/oxpec.c} (98%) > > diff --git a/Documentation/hwmon/index.rst b/Documentation/hwmon/index.rst > index 874f8fd26325..dd7a54d5f281 100644 > --- a/Documentation/hwmon/index.rst > +++ b/Documentation/hwmon/index.rst > @@ -186,7 +186,7 @@ Hardware Monitoring Kernel Drivers > nzxt-kraken3 > nzxt-smart2 > occ > - oxp-sensors > + oxpec > pc87360 > pc87427 > pcf8591 > diff --git a/Documentation/hwmon/oxp-sensors.rst b/Documentation/hwmon/oxpec.rst > similarity index 100% > rename from Documentation/hwmon/oxp-sensors.rst > rename to Documentation/hwmon/oxpec.rst > diff --git a/MAINTAINERS b/MAINTAINERS > index 0248c9eb39d6..a11d346a458b 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -17641,12 +17641,13 @@ S: Maintained > F: drivers/mtd/nand/onenand/ > F: include/linux/mtd/onenand*.h > > -ONEXPLAYER FAN DRIVER > +ONEXPLAYER PLATFORM EC DRIVER > +M: Antheas Kapenekakis <lkml@xxxxxxxxxxx> > M: Derek John Clark <derekjohn.clark@xxxxxxxxx> > M: Joaquín Ignacio Aramendía <samsagax@xxxxxxxxx> > -L: linux-hwmon@xxxxxxxxxxxxxxx > +L: platform-driver-x86@xxxxxxxxxxxxxxx > S: Maintained > -F: drivers/hwmon/oxp-sensors.c > +F: drivers/platform/x86/oxpec.c > > ONIE TLV NVMEM LAYOUT DRIVER > M: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig > index 4cbaba15d86e..09f7aed96d15 100644 > --- a/drivers/hwmon/Kconfig > +++ b/drivers/hwmon/Kconfig > @@ -1774,17 +1774,6 @@ config SENSORS_NZXT_SMART2 > > source "drivers/hwmon/occ/Kconfig" > > -config SENSORS_OXP > - tristate "OneXPlayer EC fan control" > - depends on ACPI_EC > - depends on X86 > - help > - If you say yes here you get support for fan readings and control over > - OneXPlayer handheld devices. Only OneXPlayer mini AMD handheld variant > - boards are supported. > - > - Can also be built as a module. In that case it will be called oxp-sensors. > - > config SENSORS_PCF8591 > tristate "Philips PCF8591 ADC/DAC" > depends on I2C > diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile > index b7ef0f0562d3..0edb08824b17 100644 > --- a/drivers/hwmon/Makefile > +++ b/drivers/hwmon/Makefile > @@ -181,7 +181,6 @@ obj-$(CONFIG_SENSORS_NTC_THERMISTOR) += ntc_thermistor.o > obj-$(CONFIG_SENSORS_NZXT_KRAKEN2) += nzxt-kraken2.o > obj-$(CONFIG_SENSORS_NZXT_KRAKEN3) += nzxt-kraken3.o > obj-$(CONFIG_SENSORS_NZXT_SMART2) += nzxt-smart2.o > -obj-$(CONFIG_SENSORS_OXP) += oxp-sensors.o > obj-$(CONFIG_SENSORS_PC87360) += pc87360.o > obj-$(CONFIG_SENSORS_PC87427) += pc87427.o > obj-$(CONFIG_SENSORS_PCF8591) += pcf8591.o > diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig > index 0258dd879d64..4531b20c6b30 100644 > --- a/drivers/platform/x86/Kconfig > +++ b/drivers/platform/x86/Kconfig > @@ -1186,6 +1186,17 @@ config SEL3350_PLATFORM > To compile this driver as a module, choose M here: the module > will be called sel3350-platform. > > +config OXP_EC > + tristate "OneXPlayer EC platform control" > + depends on ACPI_EC > + depends on X86 > + help > + Enables support for the platform EC of OneXPlayer and AOKZOE > + handheld devices. This includes fan speed, fan controls, and > + disabling the default TDP behavior of the device. Due to legacy > + reasons, this driver also provides hwmon functionality to Ayaneo > + devices and the OrangePi Neo. > + I don't think it is necessary to indicate future plans in config options or documentation. It should just reflect the current state of the kernel at the time of the patch. Whenever I get to submitting ayaneo-platform I'll remove the necessary notes from Kconfigs, Docs, etc. > endif # X86_PLATFORM_DEVICES > > config P2SB > diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile > index e1b142947067..f64a191c1162 100644 > --- a/drivers/platform/x86/Makefile > +++ b/drivers/platform/x86/Makefile > @@ -153,3 +153,6 @@ obj-$(CONFIG_WINMATE_FM07_KEYS) += winmate-fm07-keys.o > > # SEL > obj-$(CONFIG_SEL3350_PLATFORM) += sel3350-platform.o > + > +# OneXPlayer > +obj-$(CONFIG_OXP_EC) += oxpec.o > \ No newline at end of file > diff --git a/drivers/hwmon/oxp-sensors.c b/drivers/platform/x86/oxpec.c > similarity index 98% > rename from drivers/hwmon/oxp-sensors.c > rename to drivers/platform/x86/oxpec.c > index f7a64fbc8f33..dc3a0871809c 100644 > --- a/drivers/hwmon/oxp-sensors.c > +++ b/drivers/platform/x86/oxpec.c > @@ -1,11 +1,8 @@ > // SPDX-License-Identifier: GPL-2.0+ > /* > - * Platform driver for OneXPlayer, AOKZOE, AYANEO, and OrangePi Handhelds > - * that expose fan reading and control via hwmon sysfs. > - * > - * Old OXP boards have the same DMI strings and they are told apart by > - * the boot cpu vendor (Intel/AMD). Of these older models only AMD is > - * supported. > + * Platform driver for OneXPlayer and AOKZOE devices. For the time being, > + * it also exposes fan controls for AYANEO, and OrangePi Handhelds via > + * hwmon sysfs. > * Same as above. Cheers, - Derek > * Fan control is provided via pwm interface in the range [0-255]. > * Old AMD boards use [0-100] as range in the EC, the written value is > @@ -16,6 +13,7 @@ > * > * Copyright (C) 2022 Joaquín I. Aramendía <samsagax@xxxxxxxxx> > * Copyright (C) 2024 Derek J. Clark <derekjohn.clark@xxxxxxxxx> > + * Copyright (C) 2025 Antheas Kapenekakis <lkml@xxxxxxxxxxx> > */ > > #include <linux/acpi.h> > -- > 2.48.1 >