All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] platform/x86: Add new Dell UART backlight driver
@ 2024-05-12 16:23 Hans de Goede
  2024-05-12 16:23 ` [PATCH 1/2] " Hans de Goede
  2024-05-12 16:23 ` [PATCH 2/2] tools arch x86: Add dell-uart-backlight-emulator Hans de Goede
  0 siblings, 2 replies; 21+ messages in thread
From: Hans de Goede @ 2024-05-12 16:23 UTC (permalink / raw)
  To: Ilpo Järvinen, Andy Shevchenko, AceLan Kao
  Cc: Hans de Goede, Kai-Heng Feng, platform-driver-x86

Hi All,

I recently learned that some Dell AIOs (1) use a backlight controller board
connected to an UART. Canonical even submitted a driver for this in 2017:
https://lkml.org/lkml/2017/10/26/78

This UART has a DELL0501 HID with CID set to PNP0501 so that the UART is
still handled by 8250_pnp.c. Unfortunately there is no separate ACPI device
with an UartSerialBusV2() resource to model the backlight-controller. An
ACPI quirk has been merged recently to deal with this and create a serdev
controller for the UART despite the missing UartSerialBusV2() resource:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=99b572e6136eab69a8c91d72cf8595b256e304b5

Patch 1 in this series adds a driver binding to the "dell-uart-backlight"
device created by this quirk. This drivers creates a serdev-device for
the DELL0501 serdev-controller and registers a serdev backlight driver
which binds to this serdev-device.

Patch 2 contains a small emulator for the UART attached backlight
controller found on this Dell AOIs, I wrote and used this to develop
the driver since I did not have access to such an AOI myself.

This has been successfully tested by Roman Bogoyev (who originally
reported the missing driver to me by email) on a Dell Inspiron 27 7000
(7790) and by Kai-Heng Feng on a newer Dell AOI model.

Regards,

Hans

1) All In One a monitor with a PC builtin


Hans de Goede (2):
  platform/x86: Add new Dell UART backlight driver
  tools arch x86: Add dell-uart-backlight-emulator

 drivers/platform/x86/dell/Kconfig             |  15 +
 drivers/platform/x86/dell/Makefile            |   1 +
 .../platform/x86/dell/dell-uart-backlight.c   | 409 ++++++++++++++++++
 .../dell-uart-backlight-emulator/.gitignore   |   1 +
 .../x86/dell-uart-backlight-emulator/Makefile |  19 +
 .../x86/dell-uart-backlight-emulator/README   |  46 ++
 .../dell-uart-backlight-emulator.c            | 166 +++++++
 7 files changed, 657 insertions(+)
 create mode 100644 drivers/platform/x86/dell/dell-uart-backlight.c
 create mode 100644 tools/arch/x86/dell-uart-backlight-emulator/.gitignore
 create mode 100644 tools/arch/x86/dell-uart-backlight-emulator/Makefile
 create mode 100644 tools/arch/x86/dell-uart-backlight-emulator/README
 create mode 100644 tools/arch/x86/dell-uart-backlight-emulator/dell-uart-backlight-emulator.c

-- 
2.44.0


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-05-13 14:39 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-12 16:23 [PATCH 0/2] platform/x86: Add new Dell UART backlight driver Hans de Goede
2024-05-12 16:23 ` [PATCH 1/2] " Hans de Goede
2024-05-12 19:35   ` Andy Shevchenko
2024-05-13 10:01     ` Hans de Goede
2024-05-13 12:28       ` Andy Shevchenko
2024-05-13 12:36         ` Ilpo Järvinen
2024-05-13  8:34   ` Ilpo Järvinen
2024-05-13  9:55     ` Hans de Goede
2024-05-13 12:12       ` Ilpo Järvinen
2024-05-13 12:14         ` Ilpo Järvinen
2024-05-13 13:07         ` Hans de Goede
2024-05-13 13:14           ` Ilpo Järvinen
2024-05-13 13:21             ` Hans de Goede
2024-05-13 13:34               ` Ilpo Järvinen
2024-05-13 14:23                 ` Hans de Goede
2024-05-13 14:36                   ` Ilpo Järvinen
2024-05-13 14:39                     ` Hans de Goede
2024-05-12 16:23 ` [PATCH 2/2] tools arch x86: Add dell-uart-backlight-emulator Hans de Goede
2024-05-12 19:32   ` Andy Shevchenko
2024-05-12 19:47     ` Hans de Goede
2024-05-13 11:03     ` Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.