On Mon, Jun 15, 2026 at 02:03:47PM +0200, A. Sverdlin wrote:
> From: Alexander Sverdlin <[email protected]>
> 
> 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 <[email protected]>
> ---
>  .../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 <[email protected]>
> @@ -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

Reply via email to