]> www.infradead.org Git - users/dwmw2/linux.git/commit
platform/x86: Add new Dell UART backlight driver
authorHans de Goede <hdegoede@redhat.com>
Mon, 13 May 2024 14:46:01 +0000 (16:46 +0200)
committerHans de Goede <hdegoede@redhat.com>
Tue, 14 May 2024 09:43:40 +0000 (11:43 +0200)
commit484bae9e4d6acb5eec39e1ea47f9aa43f11b154d
tree14791048e7134f6830f6870a82c029c7478bec4d
parent9426adb0326a87ed2fa9d010c4c18189047e0c11
platform/x86: Add new Dell UART backlight driver

Dell All In One (AIO) models released after 2017 use a backlight controller
board connected to an UART.

In DSDT this uart port will be defined as:

   Name (_HID, "DELL0501")
   Name (_CID, EisaId ("PNP0501")

Instead of having a separate ACPI device with an UartSerialBusV2() resource
to model the backlight-controller, which would be the standard way to do
this.

The acpi_quirk_skip_serdev_enumeration() has special handling for this
and it will make the serial port code create a serdev controller device
for the UART instead of a /dev/ttyS0 char-dev. It will also create
a dell-uart-backlight driver platform device for this driver to bind too.

This new kernel module contains 2 drivers for this:

1. A simple platform driver which creates the actual serdev device
   (with the serdev controller device as parent)

2. A serdev driver for the created serdev device which exports
   the backlight functionality uses a standard backlight class device.

Reported-by: Roman Bogoyev <roman@computercheck.com.au>
Tested-by: Roman Bogoyev <roman@computercheck.com.au>
Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Co-developed-by: AceLan Kao <acelan.kao@canonical.com>
Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20240513144603.93874-2-hdegoede@redhat.com
drivers/platform/x86/dell/Kconfig
drivers/platform/x86/dell/Makefile
drivers/platform/x86/dell/dell-uart-backlight.c [new file with mode: 0644]