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
