Re: [PATCH v3 03/12] platform/x86: oxpec: Move hwmon/oxp-sensors to platform/x86

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
>





[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux