[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VeTVU-1mSzAX4j7s9bbDGxDR_FwgFL7dnC4_6OhsN8kpw@mail.gmail.com>
Date: Thu, 19 Oct 2023 12:01:48 +0300
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Dmitry Rokosov <ddrokosov@...utedevices.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,
George Stark <gnstark@...utedevices.com>
Subject: Re: [PATCH v2 04/11] leds: aw200xx: calculate dts property
display_rows in driver
On Wed, Oct 18, 2023 at 9:30 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.
Still the commit message does not answer the question why it's safe
for the users that have this property enabled in their DTBs (note B
letter).
...
> + device_for_each_child_node(dev, child) {
> + u32 source;
> + int ret;
> +
> + ret = fwnode_property_read_u32(child, "reg", &source);
> + if (ret || source >= chip->cdef->channels)
Perhaps a warning?
dev_warn(dev, "Unable to read from %pfw or apply a source channel
number\n", child);
> + continue;
> +
> + max_source = max(max_source, source);
> + }
...
> + chip->display_rows = max_source / chip->cdef->display_size_columns + 1;
> + if (!chip->display_rows) {
> + dev_err(dev, "No valid led definitions found\n");
> + return -EINVAL;
So, this part is in ->probe() flow only, correct? If so,
return dev_err_probe(...);
> + }
...
> + if (aw200xx_probe_get_display_rows(dev, chip))
> + return -EINVAL;
Why is the error code shadowed?
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists