The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Alexander Egorov <begeebe@gmail.com>
To: platform-driver-x86@vger.kernel.org
Cc: hansg@kernel.org, ilpo.jarvinen@linux.intel.com,
	lkml@antheas.dev, derekjohn.clark@gmail.com, samsagax@gmail.com,
	linux-kernel@vger.kernel.org
Subject: [PATCH v2 0/2] platform/x86: oxpec: Report tablet mode on OneXPlayer detachables
Date: Tue, 28 Jul 2026 11:35:27 +0300	[thread overview]
Message-ID: <20260728083529.329772-1-begeebe@gmail.com> (raw)
In-Reply-To: <20260727215947.118292-1-begeebe@gmail.com>

The OneXPlayer X1 family and Super X do not expose a firmware tablet-mode
switch. Add one based on their detachable pogo-pin keyboard devices.

I checked the EC alternative suggested in review. The Super X ACPI EC
operation region covers the complete 0x00-0xff register map. I captured 30
maps with the keyboard attached, 30 detached, and 30 reattached. There were
no stable attached-detached-reattached changes. The named ACPI fields KBFG
and SYSK did not change either. USB hotplug is therefore the only
attachment state exposed by this Super X firmware.

The X1 keyboard ID was taken from public hardware information. X1, X1 Pro,
and X1 Mini systems show the HAILUCK 258a:001e folio keyboard:

  https://wiki.archlinux.org/title/OnexPlayer_X1_A
  https://linux-hardware.org/?probe=517a6d5085
  https://linux-hardware.org/?probe=98267565ff
  https://linux-hardware.org/?probe=21f49ac935

The X1 family is included, but has not been tested by me because I only
have the Super X. G1 is deliberately deferred because of its different
keyboard layout.

Ilpo, comments on whether oxpec is the right home for this functionality are
welcome.

Changes in v2:
- add the requested Assisted-by trailer;
- split Super X from the shared G1 AMD board ID in a preceding patch;
- support the X1 and X1 Mini family using their folio keyboard ID;
- use driver globals and board switches instead of platform data and DMI;
- keep only the USB scan and notifier callbacks, with matching and reporting
  inlined;
- use generic keyboard vendor names and place the IDs beside their users;
- document the complete EC map comparison.

Alexander Egorov (2):
  platform/x86: oxpec: Distinguish OneXPlayer Super X board
  platform/x86: oxpec: Report tablet mode on OneXPlayer detachables

 drivers/platform/x86/Kconfig |   2 +
 drivers/platform/x86/oxpec.c | 116 ++++++++++++++++++++++++++++++++++-
 2 files changed, 117 insertions(+), 1 deletion(-)

-- 
2.55.0

  parent reply	other threads:[~2026-07-28  8:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-27 21:59 [PATCH] platform/x86: oxpec: Report tablet mode on OneXPlayer Super X Alexander Egorov
2026-07-28  7:14 ` Antheas Kapenekakis
2026-07-28  8:35 ` Alexander Egorov [this message]
2026-07-28  8:35   ` [PATCH v2 1/2] platform/x86: oxpec: Distinguish OneXPlayer Super X board Alexander Egorov
2026-07-28  8:35   ` [PATCH v2 2/2] platform/x86: oxpec: Report tablet mode on OneXPlayer detachables Alexander Egorov

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=20260728083529.329772-1-begeebe@gmail.com \
    --to=begeebe@gmail.com \
    --cc=derekjohn.clark@gmail.com \
    --cc=hansg@kernel.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkml@antheas.dev \
    --cc=platform-driver-x86@vger.kernel.org \
    --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