From: Antheas Kapenekakis <lkml@antheas.dev>
To: linux-hwmon@vger.kernel.org
Cc: linux-doc@vger.kernel.org, linux-pm@vger.kernel.org,
Guenter Roeck <linux@roeck-us.net>,
Jean Delvare <jdelvare@suse.com>,
Jonathan Corbet <corbet@lwn.net>,
Joaquin Ignacio Aramendia <samsagax@gmail.com>,
Derek J Clark <derekjohn.clark@gmail.com>,
Kevin Greenberg <kdgreenberg234@protonmail.com>,
Joshua Tam <csinaction@pm.me>,
Parth Menon <parthasarathymenon@gmail.com>,
Eileen <eileen@one-netbook.com>,
Antheas Kapenekakis <lkml@antheas.dev>
Subject: [PATCH 00/10] hwmon: (oxpsensors) Add 2024 OneXPlayer line-up, add charge limiting and turbo LED, fix ABI
Date: Thu, 26 Dec 2024 12:27:30 +0100 [thread overview]
Message-ID: <20241226112740.340804-1-lkml@antheas.dev> (raw)
This three part series updates the oxpsensors module to bring it in line
with its Windows OneXPlayer counterpart. First, it adds support for all
2024 OneXPlayer handhelds and their special variants.
Then, it adds the new charge limiting and bypass features that were first
introduced in the X1 and retrofit to older OneXFly variants and for
controlling the turbo led found in the X1 models. For Bypass, it adds a new
bypass variant BypassS0 that is only active while the device is in the S0
state.
Finally, it performs a minor refactor by moving around switch statements
into their own functions, in order to allow for fixing the pwm1_enable ABI
in the final patch. Currently, pwm1_enable sets the fan to auto with the
value 0 and allows manual control with the value 1. This patch makes it
so 0 sets the fan to full speed, 1 sets the fan to manual control, and
2 sets the fan to auto. This requires both setting enable and the fan
speed when the enable sysfs is written to as 0, hence the refactor.
As this is a breaking ABI change and there is userspace software relying
on this previous behavior, the last patch also changes the /name of the
hwmon endpoint to "oxp_ec" from "oxpec" (mirroring WMI module conventions)
such that userspace software that relied on the previous behavior can be
retrofit to the new kernel while enabling correct functionality on old
and new kernels. Failing that, software that is not updated will just
stop controlling the fans, ensuring no malignant behavior.
As part of this series I also updated my userspace software [1] to work
with this change and verified it works correctly on both 6.12.6 and when
using this module on my X1.
To make testing possible this patch series is rebased on top of the tag
kernel-6.12.6 (hash e4cc9a13) on remote [2]. None of the files changed
in-between master and this tag, but in case this does not apply clean,
you can pull that remote or reference [3].
[1] https://github.com/hhd-dev/adjustor/commit/4b02087ae39bef39288f26431af0ec221da089c4
[2] https://gitlab.com/cki-project/kernel-ark
[3] https://github.com/hhd-dev/patchwork/tree/upstream/oxpsensors
Antheas Kapenekakis (10):
hwmon: (oxp-sensors) Distinguish the X1 variants
hwmon: (oxp-sensors) Add all OneXFly variants
ABI: testing: sysfs-class-power: add BypassS0 charge_type
hwmon: (oxp-sensors) Add charge threshold and bypass to OneXPlayer
hwmon: (oxp-sensors) Rename ec group to tt_toggle
hwmon: (oxp-sensors) Add turbo led support to X1 devices
hwmon: (oxp-sensors) Move pwm_enable read to its own function
hwmon: (oxp-sensors) Move pwm value read/write to separate functions
hwmon: (oxp-sensors) Move fan speed read to separate function
hwmon: (oxp-sensors) Adhere to sysfs-class-hwmon and enable pwm on 2
Documentation/ABI/testing/sysfs-class-power | 6 +-
drivers/hwmon/oxp-sensors.c | 647 ++++++++++++++++----
2 files changed, 523 insertions(+), 130 deletions(-)
--
2.47.1
next reply other threads:[~2024-12-26 11:27 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-26 11:27 Antheas Kapenekakis [this message]
2024-12-26 11:27 ` [PATCH 01/10] hwmon: (oxp-sensors) Distinguish the X1 variants Antheas Kapenekakis
2024-12-26 11:27 ` [PATCH 02/10] hwmon: (oxp-sensors) Add all OneXFly variants Antheas Kapenekakis
2024-12-26 11:27 ` [PATCH 03/10] ABI: testing: sysfs-class-power: add BypassS0 charge_type Antheas Kapenekakis
2024-12-26 11:27 ` [PATCH 04/10] hwmon: (oxp-sensors) Add charge threshold and bypass to OneXPlayer Antheas Kapenekakis
2025-01-07 17:15 ` Guenter Roeck
2025-01-07 17:19 ` Antheas Kapenekakis
2024-12-26 11:27 ` [PATCH 05/10] hwmon: (oxp-sensors) Rename ec group to tt_toggle Antheas Kapenekakis
2024-12-26 11:27 ` [PATCH 06/10] hwmon: (oxp-sensors) Add turbo led support to X1 devices Antheas Kapenekakis
2024-12-26 11:27 ` [PATCH 07/10] hwmon: (oxp-sensors) Move pwm_enable read to its own function Antheas Kapenekakis
2024-12-26 11:27 ` [PATCH 08/10] hwmon: (oxp-sensors) Move pwm value read/write to separate functions Antheas Kapenekakis
2024-12-26 11:27 ` [PATCH 09/10] hwmon: (oxp-sensors) Move fan speed read to separate function Antheas Kapenekakis
2024-12-26 11:27 ` [PATCH 10/10] hwmon: (oxp-sensors) Adhere to sysfs-class-hwmon and enable pwm on 2 Antheas Kapenekakis
2024-12-26 21:08 ` [PATCH 00/10] hwmon: (oxpsensors) Add 2024 OneXPlayer line-up, add charge limiting and turbo LED, fix ABI Guenter Roeck
2024-12-26 21:16 ` Derek J. Clark
2024-12-26 21:59 ` Antheas Kapenekakis
2024-12-27 17:12 ` Guenter Roeck
2025-01-04 15:37 ` Antheas Kapenekakis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241226112740.340804-1-lkml@antheas.dev \
--to=lkml@antheas.dev \
--cc=corbet@lwn.net \
--cc=csinaction@pm.me \
--cc=derekjohn.clark@gmail.com \
--cc=eileen@one-netbook.com \
--cc=jdelvare@suse.com \
--cc=kdgreenberg234@protonmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=parthasarathymenon@gmail.com \
--cc=samsagax@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox