Thread (11 messages) 11 messages, 2 authors, 2023-10-25

RE: [PATCH 1/1] dt-bindings: backlight: mp3309c: remove two required properties

From: Flavio Suligoi <f.suligoi@asem.it>
Date: 2023-10-24 07:53:49
Also in: dri-devel, linux-devicetree, linux-leds, lkml

Hi Conor,

...
On Mon, Oct 23, 2023 at 09:28:03AM +0000, Flavio Suligoi wrote:
quoted
quoted
On Fri, Oct 20, 2023 at 03:54:33PM +0200, Flavio Suligoi wrote:
quoted
The two properties:

- max-brightness
- default brightness

are not really required, so they can be removed from the "required"
section.
Why are they not required? You need to provide an explanation.
The "max-brightness" is not more used now in the driver (I used it in
the first version of the driver).
If it is not used any more, what happens when someone passes an old
devicetree to the kernel, that contains max-brightness, but not any of your
new properties?
This is not a problem, because the device driver has not yet been included in any kernel.
My patch for the device driver is still being analyzed by the maintainers.
Only this dt-binding yaml file is already included in the "for-backlight-next" branch
of the "backlight" kernel repository.
At the moment, this driver is used only in a i.MX8MM board produced in my company,
under my full control. No other developer is using it now.
quoted
The "default-brightness", if omitted in the DT, is managed by the
device driver, using a default value. This depends on the dimming mode
used:

For default-brightness, has here always been support in the driver for the
property being omitted, or is this newly added?
In the first version of the driver this property was a "required property",
but nobody has used this driver before, so this should be not a problem.
quoted
- for the "analog mode", via I2C commands, this value is fixed by
hardware (=31)
- while in case of pwm mode the default used is the last value of the
  brightness-levels array.

Also the brightness-levels array is not required; if it is omitted,
the driver uses a default array of 0..255 and the "default-brightness" is the
last one, which is "255".

Firstly, this is the sort of rationale that needs to be put into your commit
messages, rather than bullet pointed lists of what you have done.
You are absolutely right, I'll include these details in the next commit message.
Secondly, what about other operating systems etc, do any of those support
this platform and depend on presence of these properties?
I used this backlight driver in our i.MX8MM board only, with Linux only.
quoted
quoted
quoted
Other changes:

- improve the backlight working mode description, in the "description"
  section
quoted
- update the example, removing the "max-brightness" and introducing
the
quoted
quoted
quoted
  "brightess-levels" property
Why is this more useful?
I introduced the "brightness-levels" instead of "max-brightness" for
homogeneity, since the "analog mode" dimming has a brightness-levels array
fixed by hardware (0..31).
quoted
In this way also the "pwm" mode can use the same concepts of array of
levels.

What I would like is an explanation in the commit message as to why the
revised example is more helpful than the existing (and
must-remain-valid) one.
As said before, no one may have ever used this device driver,
so I would leave only this new version of the example.
Cheers,
Conor.
Thanks for your help and best regards,
Flavio.
quoted
quoted
quoted
Signed-off-by: Flavio Suligoi <f.suligoi@asem.it>
---
 .../bindings/leds/backlight/mps,mp3309c.yaml           | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git
a/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
b/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
quoted
index 4191e33626f5..527a37368ed7 100644
---
a/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
quoted
+++
b/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
quoted
@@ -14,8 +14,8 @@ description: |
   programmable switching frequency to optimize efficiency.
   It supports two different dimming modes:

-  - analog mode, via I2C commands (default)
-  - PWM controlled mode.
+  - analog mode, via I2C commands, as default mode (32 dimming
+ levels)
+  - PWM controlled mode (optional)

   The datasheet is available at:
   https://www.monolithicpower.com/en/mp3309c.html
@@ -50,8 +50,6 @@ properties:
 required:
   - compatible
   - reg
-  - max-brightness
-  - default-brightness

 unevaluatedProperties: false
@@ -66,8 +64,8 @@ examples:
             compatible = "mps,mp3309c";
             reg = <0x17>;
             pwms = <&pwm1 0 3333333 0>; /* 300 Hz --> (1/f) * 1*10^9 */
-            max-brightness = <100>;
-            default-brightness = <80>;
+            brightness-levels = <0 4 8 16 32 64 128 255>;
+            default-brightness = <6>;
             mps,overvoltage-protection-microvolt = <24000000>;
         };
     };
--
2.34.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help