Re: [PATCH v1 05/11] leds: aw200xx: calculate dts property display_rows in driver

From: George Stark
Date: Mon Oct 16 2023 - 19:30:14 EST


Hello Andy

On 10/9/23 16:20, Dmitry Rokosov wrote:
On Fri, Oct 06, 2023 at 08:59:46PM +0300, Andy Shevchenko wrote:
On Fri, Oct 6, 2023 at 7:05 PM Dmitry Rokosov
<ddrokosov@xxxxxxxxxxxxxxxxx> wrote:

From: George Stark <gnstark@xxxxxxxxxxxxxxxxx>

Get rid of device tree property "awinic,display-rows" and calculate it
in driver using led definition nodes. display-row actually means number
of current switches and depends on how leds are connected to the device.

So, how do we know that there will be no regressions on the systems
where this property is used in production?

There're two possible cases here if "awinic,display-rows" value is not equal to autocalculated value which is incorrect way of using the driver:

1) "awinic,display-rows" value was less then autocalculated value - it means that some leds never couldn't be turned on even if they are defined in dts. Now all defined leds can be controlled.

2)"awinic,display-rows" value was higher then autocalculated value -
it means that leds refresh cycle time was greater then it really needed due to controller spent time powering unconnected pins. It will affect leds' current but I consider it a kind of hack - the driver provides means to control current.


In the production boards, developers should set up the display-rows
correctly; otherwise, the AW200XX LED controller will not function
properly. In the new implementation, we calculate display-rows
automatically, and I assume that the value will remain unchanged.

+ if (max_source < source)
+ max_source = source;

max() (will need minmax.h)?

Correct, I will fix it in the v2.


--
Best regards
George