[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <00715fd2-a866-9589-cfe1-d93fd6f9ed49@salutedevices.com>
Date: Tue, 17 Oct 2023 02:30:26 +0300
From: George Stark <gnstark@...utedevices.com>
To: Dmitry Rokosov <ddrokosov@...utedevices.com>,
Andy Shevchenko <andy.shevchenko@...il.com>
CC: <lee@...nel.org>, <pavel@....cz>, <robh+dt@...nel.org>,
<krzysztof.kozlowski+dt@...aro.org>, <conor+dt@...nel.org>,
<kernel@...rdevices.ru>, <rockosov@...il.com>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-leds@...r.kernel.org>
Subject: Re: [PATCH v1 05/11] leds: aw200xx: calculate dts property
display_rows in driver
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@...utedevices.com> wrote:
>>>
>>> From: George Stark <gnstark@...utedevices.com>
>>>
>>> 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
Powered by blists - more mailing lists