diff mbox series

[1/3,v2] dt-bindings: backlight: Add some common backlight properties

Message ID 20200812085850.2643820-1-linus.walleij@linaro.org
State Superseded
Headers show
Series [1/3,v2] dt-bindings: backlight: Add some common backlight properties | expand

Commit Message

Linus Walleij Aug. 12, 2020, 8:58 a.m. UTC
Let's use a common.yaml include for the backlight like we do with
the LEDs. The LEDs are inherently incompatible so their bindings
cannot be reused for backlight.

Cc: devicetree@vger.kernel.org
Suggested-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

---
ChangeLog v1->v2:
- New patch as suggested by Sam.
---
 .../bindings/leds/backlight/common.yaml       | 42 +++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/backlight/common.yaml

-- 
2.26.2

Comments

Rob Herring Aug. 12, 2020, 3:46 p.m. UTC | #1
On Wed, Aug 12, 2020 at 2:58 AM Linus Walleij <linus.walleij@linaro.org> wrote:
>

> Let's use a common.yaml include for the backlight like we do with

> the LEDs. The LEDs are inherently incompatible so their bindings

> cannot be reused for backlight.

>

> Cc: devicetree@vger.kernel.org

> Suggested-by: Sam Ravnborg <sam@ravnborg.org>

> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

> ---

> ChangeLog v1->v2:

> - New patch as suggested by Sam.

> ---

>  .../bindings/leds/backlight/common.yaml       | 42 +++++++++++++++++++

>  1 file changed, 42 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/leds/backlight/common.yaml


I'd expect some refactoring here with existing backlight schemas
including the ones I just added for 5.9.

Ideally, we shouldn't have any property have a type definition more
than once. (We don't have any way to detect that though it wouldn't be
hard to write a program to do so).

> diff --git a/Documentation/devicetree/bindings/leds/backlight/common.yaml b/Documentation/devicetree/bindings/leds/backlight/common.yaml

> new file mode 100644

> index 000000000000..8ae7e3818b0d

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/leds/backlight/common.yaml

> @@ -0,0 +1,42 @@

> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/leds/backlight/common.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Common backlight properties

> +

> +maintainers:

> +  - Lee Jones <lee.jones@linaro.org>

> +  - Daniel Thompson <daniel.thompson@linaro.org>

> +  - Jingoo Han <jingoohan1@gmail.com>

> +

> +description: |


You don't need '|' if there's no formatting to preserve.

> +  Backlight devices provide backlight for different types of graphical

> +  displays. They are typically but not necessarilt implemented using a white


typo

> +  LED powered by a boost converter.

> +

> +properties:

> +  default-on:

> +    description:

> +      The initial state of the backlight can be set to be on with this

> +      property. This is a state applied by the operating system so that the

> +      backlight is always turned on at boot.


Needs a type.

> +

> +  default-brightness:

> +    description:

> +      The default brightness that should be applied to the LED by the operating

> +      system on start-up. The brightness should not exceed the brightness the

> +      LED can provide.

> +    $ref: /schemas/types.yaml#definitions/uint32

> +    minimum: 0


It's an unsigned int, so the min is already 0.

> +

> +  max-brightness:

> +    description:

> +      Normally the maximum brightness is determined by the hardware and this

> +      property is not required. This property is used to put a software limit

> +      on the brightness apart from what the driver says, as it could happen

> +      that a LED can be made so bright that it gets damaged or causes damage

> +      due to restrictions in a specific system, such as mounting conditions.

> +    $ref: /schemas/types.yaml#definitions/uint32

> +    minimum: 0
Daniel Thompson Aug. 13, 2020, 11:04 a.m. UTC | #2
On Wed, Aug 12, 2020 at 10:58:48AM +0200, Linus Walleij wrote:
> Let's use a common.yaml include for the backlight like we do with

> the LEDs. The LEDs are inherently incompatible so their bindings

> cannot be reused for backlight.

> 

> Cc: devicetree@vger.kernel.org

> Suggested-by: Sam Ravnborg <sam@ravnborg.org>

> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

> ---

> ChangeLog v1->v2:

> - New patch as suggested by Sam.

> ---

>  .../bindings/leds/backlight/common.yaml       | 42 +++++++++++++++++++

>  1 file changed, 42 insertions(+)

>  create mode 100644 Documentation/devicetree/bindings/leds/backlight/common.yaml

> 

> diff --git a/Documentation/devicetree/bindings/leds/backlight/common.yaml b/Documentation/devicetree/bindings/leds/backlight/common.yaml

> new file mode 100644

> index 000000000000..8ae7e3818b0d

> --- /dev/null

> +++ b/Documentation/devicetree/bindings/leds/backlight/common.yaml

> @@ -0,0 +1,42 @@

> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> +%YAML 1.2

> +---

> +$id: http://devicetree.org/schemas/leds/backlight/common.yaml#

> +$schema: http://devicetree.org/meta-schemas/core.yaml#

> +

> +title: Common backlight properties

> +

> +maintainers:

> +  - Lee Jones <lee.jones@linaro.org>

> +  - Daniel Thompson <daniel.thompson@linaro.org>

> +  - Jingoo Han <jingoohan1@gmail.com>

> +

> +description: |

> +  Backlight devices provide backlight for different types of graphical

> +  displays. They are typically but not necessarilt implemented using a white

> +  LED powered by a boost converter.

> +

> +properties:

> +  default-on:

> +    description:

> +      The initial state of the backlight can be set to be on with this

> +      property. This is a state applied by the operating system so that the

> +      backlight is always turned on at boot.


Is default-on really a common property? I would describe it as legacy
that emerged when we added the gpio bindings and didn't spell
default-brightness correctly!

Currently I think this is only implemented for GPIO and it is simply
not needed for most hardware. More specifically, for hardware that is
capable of flicker-free handover (bootloader -> kernel) by examining
the hardware state at handover then we don't want a DT property. It is
duplicative and can only result in bad handovers.


Daniel.
Linus Walleij Aug. 19, 2020, 8:46 p.m. UTC | #3
On Wed, Aug 12, 2020 at 5:46 PM Rob Herring <robh@kernel.org> wrote:
> On Wed, Aug 12, 2020 at 2:58 AM Linus Walleij <linus.walleij@linaro.org> wrote:

> >

> > Let's use a common.yaml include for the backlight like we do with

> > the LEDs. The LEDs are inherently incompatible so their bindings

> > cannot be reused for backlight.

> >

> > Cc: devicetree@vger.kernel.org

> > Suggested-by: Sam Ravnborg <sam@ravnborg.org>

> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

> > ---

> > ChangeLog v1->v2:

> > - New patch as suggested by Sam.

> > ---

> >  .../bindings/leds/backlight/common.yaml       | 42 +++++++++++++++++++

> >  1 file changed, 42 insertions(+)

> >  create mode 100644 Documentation/devicetree/bindings/leds/backlight/common.yaml

>

> I'd expect some refactoring here with existing backlight schemas

> including the ones I just added for 5.9.


Yeah if it takes off I can certainly make a slew of refactorings,
I would like to do that once this is applied.

> > +  LED powered by a boost converter.

> > +

> > +properties:

> > +  default-on:

> > +    description:

> > +      The initial state of the backlight can be set to be on with this

> > +      property. This is a state applied by the operating system so that the

> > +      backlight is always turned on at boot.

>

> Needs a type.


Dropping this property because the subsystem maintainer
doubts this is needed.

Fixed the rest!

Yours,
Linus Walleij
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/leds/backlight/common.yaml b/Documentation/devicetree/bindings/leds/backlight/common.yaml
new file mode 100644
index 000000000000..8ae7e3818b0d
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/backlight/common.yaml
@@ -0,0 +1,42 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/backlight/common.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Common backlight properties
+
+maintainers:
+  - Lee Jones <lee.jones@linaro.org>
+  - Daniel Thompson <daniel.thompson@linaro.org>
+  - Jingoo Han <jingoohan1@gmail.com>
+
+description: |
+  Backlight devices provide backlight for different types of graphical
+  displays. They are typically but not necessarilt implemented using a white
+  LED powered by a boost converter.
+
+properties:
+  default-on:
+    description:
+      The initial state of the backlight can be set to be on with this
+      property. This is a state applied by the operating system so that the
+      backlight is always turned on at boot.
+
+  default-brightness:
+    description:
+      The default brightness that should be applied to the LED by the operating
+      system on start-up. The brightness should not exceed the brightness the
+      LED can provide.
+    $ref: /schemas/types.yaml#definitions/uint32
+    minimum: 0
+
+  max-brightness:
+    description:
+      Normally the maximum brightness is determined by the hardware and this
+      property is not required. This property is used to put a software limit
+      on the brightness apart from what the driver says, as it could happen
+      that a LED can be made so bright that it gets damaged or causes damage
+      due to restrictions in a specific system, such as mounting conditions.
+    $ref: /schemas/types.yaml#definitions/uint32
+    minimum: 0