Re: [PATCH 1/3] dt-bindings: backlight: ti,lp8864: Add backlight class properties
flat view
From: Rob Herring <robh@kernel.org>
Date: 2026-06-30 13:50:21
Also in:
dri-devel, linux-devicetree, linux-leds, lkml
On Mon, Jun 15, 2026 at 02:03:47PM +0200, A. Sverdlin wrote:
From: Alexander Sverdlin <alexander.sverdlin@siemens.com> Extend the TI LP8864/LP8866 device-tree binding to support backlight class properties alongside the existing LED class child node. This is a preparatory change for converting the LP8864 driver from a pure LED class driver to additionally register a backlight class device,
That's fine, but should have little to do with the binding. The h/w is not changing.
quoted hunk ↗ jump to hunk
motivated by a use case on a hot-pluggable segment of an I2C bus. The generic led-backlight driver (led_bl.c) is a platform driver and thus inherently non-hotpluggable, which makes it unsuitable for hardware topologies where the backlight controller resides on a hot-pluggable I2C bus segment. By making the LP8864 driver itself register a backlight class device, it becomes a native I2C driver that properly supports hot-plug/unplug events. The binding is updated to: - Reference backlight common.yaml at the top level, making default-brightness and max-brightness valid optional properties - Make the "led" child node optional rather than required, since the backlight class device is now the primary interface - Use unevaluatedProperties instead of additionalProperties to properly allow properties inherited from the referenced common schema The LED child node is preserved for backward compatibility with existing device-trees. No in-tree device-trees reference this binding, so this change has no impact on existing mainline users. Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> --- .../bindings/leds/backlight/ti,lp8864.yaml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)diff --git a/Documentation/devicetree/bindings/leds/backlight/ti,lp8864.yaml b/Documentation/devicetree/bindings/leds/backlight/ti,lp8864.yaml index d44232d462bde..11d7e3840c6fb 100644 --- a/Documentation/devicetree/bindings/leds/backlight/ti,lp8864.yaml +++ b/Documentation/devicetree/bindings/leds/backlight/ti,lp8864.yaml@@ -4,7 +4,7 @@ $id: http://devicetree.org/schemas/leds/backlight/ti,lp8864.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Texas Instruments - LP8864/LP8866 4/6-Channel LED Driver family +title: Texas Instruments - LP8864/LP8866 4/6-Channel LED Backlight Driver family maintainers: - Andrew Davis <afd@ti.com>@@ -21,6 +21,9 @@ description: | https://www.ti.com/product/LP8866-Q1 https://www.ti.com/product/LP8866S-Q1 +allOf: + - $ref: common.yaml# + properties: compatible: const: ti,lp8864@@ -36,9 +39,15 @@ properties: vled-supply: description: LED supply + default-brightness: + maximum: 65535 + + max-brightness: + maximum: 65535 + led: type: object - $ref: common.yaml# + $ref: /schemas/leds/common.yaml#
This was already supporting backlight properties. Changing it to leds is an ABI break. The binding was designed to have a child node. Make that work for whatever you want to do with the driver. I see no reason to support with *and* without a child node. Rob