Re: [PATCH 1/3] dt-bindings: backlight: ti,lp8864: Add backlight class properties

From: Rob Herring

Date: Tue Jun 30 2026 - 09:54:09 EST


On Mon, Jun 15, 2026 at 02:03:47PM +0200, A. Sverdlin wrote:
> From: Alexander Sverdlin <alexander.sverdlin@xxxxxxxxxxx>
>
> 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.

> 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@xxxxxxxxxxx>
> ---
> .../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@xxxxxx>
> @@ -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