Skip to content

Commit 484bae9

Browse files
committed
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 <[email protected]> Tested-by: Roman Bogoyev <[email protected]> Tested-by: Kai-Heng Feng <[email protected]> Co-developed-by: AceLan Kao <[email protected]> Signed-off-by: AceLan Kao <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 9426adb commit 484bae9

File tree

3 files changed

+414
-0
lines changed

3 files changed

+414
-0
lines changed

drivers/platform/x86/dell/Kconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,21 @@ config DELL_SMO8800
145145
To compile this driver as a module, choose M here: the module will
146146
be called dell-smo8800.
147147

148+
config DELL_UART_BACKLIGHT
149+
tristate "Dell AIO UART Backlight driver"
150+
depends on ACPI
151+
depends on BACKLIGHT_CLASS_DEVICE
152+
depends on SERIAL_DEV_BUS
153+
help
154+
Say Y here if you want to support Dell AIO UART backlight interface.
155+
The Dell AIO machines released after 2017 come with a UART interface
156+
to communicate with the backlight scalar board. This driver creates
157+
a standard backlight interface and talks to the scalar board through
158+
UART to adjust the AIO screen brightness.
159+
160+
To compile this driver as a module, choose M here: the module will
161+
be called dell_uart_backlight.
162+
148163
config DELL_WMI
149164
tristate "Dell WMI notifications"
150165
default m

drivers/platform/x86/dell/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ dell-smbios-objs := dell-smbios-base.o
1414
dell-smbios-$(CONFIG_DELL_SMBIOS_WMI) += dell-smbios-wmi.o
1515
dell-smbios-$(CONFIG_DELL_SMBIOS_SMM) += dell-smbios-smm.o
1616
obj-$(CONFIG_DELL_SMO8800) += dell-smo8800.o
17+
obj-$(CONFIG_DELL_UART_BACKLIGHT) += dell-uart-backlight.o
1718
obj-$(CONFIG_DELL_WMI) += dell-wmi.o
1819
dell-wmi-objs := dell-wmi-base.o
1920
dell-wmi-$(CONFIG_DELL_WMI_PRIVACY) += dell-wmi-privacy.o

0 commit comments

Comments
 (0)