[PATCH AUTOSEL 6.19-6.18] platform/x86: oxpec: Add support for OneXPlayer APEX

From: Sasha Levin

Date: Tue Mar 10 2026 - 05:14:41 EST


From: Antheas Kapenekakis <lkml@xxxxxxxxxxx>

[ Upstream commit 3385ea97c14d271dcb0c6e6fcf16972f819eecd8 ]

OneXPlayer Apex is a new Strix Halo handheld. It uses the same registers
as the OneXPlayer Fly devices. Add a quirk for it to the oxpec driver.

Signed-off-by: Antheas Kapenekakis <lkml@xxxxxxxxxxx>
Link: https://patch.msgid.link/20260223183004.2696892-2-lkml@xxxxxxxxxxx
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---

LLM Generated explanations, may be completely bogus:

## Analysis

This commit adds a DMI match entry for the OneXPlayer APEX handheld
device to the existing `oxpec` platform driver. It maps the new device
to the already-supported `oxp_fly` variant, which is used by other
OneXPlayer Fly-series devices (F1, F1 EVA-01, F1 OLED).

### Code Change Analysis

The change is minimal:
1. **7 lines added**: A new DMI table entry matching `ONEXPLAYER APEX`
board name from vendor `ONE-NETBOOK`, using `oxp_fly` driver data
2. **1 line modified**: Copyright year update (2025 → 2025-2026)

This is a textbook **device ID / hardware quirk addition** to an
existing driver. The `oxp_fly` enum value and all associated logic
already exist and are exercised by three other devices in the same DMI
table. No new code paths, no new logic, no behavioral changes for
existing hardware.

### Classification

This falls clearly into the **"NEW DEVICE IDs"** exception category for
stable backports:
- The driver (`oxpec`) already exists in stable
- The variant (`oxp_fly`) is already fully supported
- Only a DMI identification entry is new
- Enables fan control on a specific handheld device that would otherwise
have no fan management

### Risk Assessment

**Extremely low risk:**
- DMI matching is board-specific — it cannot affect any other hardware
- The `oxp_fly` code path is already tested by three other devices
- Reviewed by the subsystem maintainer (Ilpo Järvinen)
- No new code paths, APIs, or behavioral changes

### User Impact

Without this quirk, OneXPlayer APEX users running stable kernels have no
fan control through the standard hwmon/pwm interface. For a handheld
gaming device, this is a significant usability issue — inadequate fan
control can lead to thermal throttling or excessive noise.

### Stable Criteria Check

- **Obviously correct**: Yes — trivial DMI table addition using existing
variant
- **Fixes a real issue**: Yes — enables hardware support for real users
- **Small and contained**: Yes — 7 lines of DMI match data
- **No new features**: Correct — uses existing driver functionality
- **No new APIs**: Correct

### Verification

- Verified the `oxp_fly` variant is already used by three other DMI
entries in the same table (F1, F1 EVA-01, F1 OLED) by examining the
diff context
- Verified the change is purely a DMI table addition with no logic
changes
- Verified the commit has `Reviewed-by: Ilpo Järvinen` (x86 platform
maintainer)
- Copyright year change is cosmetic and has zero functional impact

This is a standard hardware quirk addition — exactly the type of small,
safe change that stable trees accept to enable hardware support for real
users.

**YES**

drivers/platform/x86/oxpec.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/oxpec.c b/drivers/platform/x86/oxpec.c
index 144a454103b93..59d6f9d9a9052 100644
--- a/drivers/platform/x86/oxpec.c
+++ b/drivers/platform/x86/oxpec.c
@@ -11,7 +11,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>
+ * Copyright (C) 2025-2026 Antheas Kapenekakis <lkml@xxxxxxxxxxx>
*/

#include <linux/acpi.h>
@@ -142,6 +142,13 @@ static const struct dmi_system_id dmi_table[] = {
},
.driver_data = (void *)oxp_2,
},
+ {
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "ONE-NETBOOK"),
+ DMI_EXACT_MATCH(DMI_BOARD_NAME, "ONEXPLAYER APEX"),
+ },
+ .driver_data = (void *)oxp_fly,
+ },
{
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "ONE-NETBOOK"),
--
2.51.0