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

Rob Herring <[email protected]>
Newsgroups org.kernel.vger.linux-fbdev,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-leds
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.