From: Marek Behun <kabel@blackhole.sk>
To: Dan Murphy <dmurphy@ti.com>
Cc: <ultracoolguy@tutanota.com>, Pavel <pavel@ucw.cz>,
Linux Leds <linux-leds@vger.kernel.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Rob Herring <robh+dt@kernel.org>,
devicetree@vger.kernel.org
Subject: Re: [PATCH] leds: lm3697: Fix out-of-bound access
Date: Tue, 6 Oct 2020 16:41:01 +0200 [thread overview]
Message-ID: <20201006164101.2c3fa0d7@blackhole.sk> (raw)
In-Reply-To: <144aa75a-4369-cd81-d7dc-2354a9afd7c5@ti.com>
Adding Rob to Cc, Rob, could we have your opinion on this? Mine is below.
On Tue, 6 Oct 2020 07:21:14 -0500
Dan Murphy <dmurphy@ti.com> wrote:
> >> By the way I just realized that the DT binding in this driver seems
> >> incorrect to me.
> >>
> >> The controller logically supports 3 LED strings, each having
> >> configurable control bank.
>
> There are two control banks. You can connect the HVLED outputs to either
> control bank A or B there is no individual control of the LED strings.
>
>
> >> But the DT binding supports 2 DT nodes, one for each control bank
> >> (identified by the `reg` property) and then `led-sources` says which
> >> string should be controlled by given bank.
> >>
> >> But taking in mind that DT should describe how devices are connected to
> >> each other, I think the child nodes in the binding should instead
> >> describe the 3 supported LED strings...
>
> The outputs in this case are virtual outputs which are the banks (A and B).
>
> Since the device is bank controlled the actual current sinks are not
> defined thus making the the banks the actual outputs.
>
> This is why the 'reg' property defines the control bank either A or B
> and the led-sources indicates the strings associated with the control bank.
>
> Dan
>
Dan, I looked at the datasheet, I understand this.
Nonetheless, device tree should describe how devices are connected to
each other. The chip has 3 pins for 3 LED strings.
If this controller should be able to support 3 LED strings via 3
outputs, the device tree binding nodes should, in my opinion, describe
each pin connected string. The nodes should maybe even be called
'led-string@N' where N is from [0, 1, 2].
The fact that the device is bank controlled and there are only two
banks (and it is configurable by which bank each LED string is
controlled) is more relevant to the driver, not as much to device tree
binding.
But yes, I do realize that if we had 3 child nodes, and the driver
created 3 LEDs, then changing brithrness on one of the 3 LEDs would
change brightness on at least another one, which we do not want.
Maybe this driver could parse these 3 `led-string` nodes, each having
defined bank via `led-sources`, and then register LED classdevs for
each bank that is mentioned. This way the device tree would be more
correct, IMO, and the driver would not have the problem mentioned in
the paragraph above.
Marek
next parent reply other threads:[~2020-10-06 14:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20201005141334.36d9441a@blackhole.sk>
[not found] ` <MIt2NiS--3-2@tutanota.com>
[not found] ` <3c5fce56-8604-a7d5-1017-8a075f67061e@ti.com>
[not found] ` <MItBqjy--3-2@tutanota.com>
[not found] ` <966c3f39-1310-dd60-6f33-0d9464ed2ff1@ti.com>
[not found] ` <MItOR9Z--3-2@tutanota.com>
[not found] ` <20201005164808.slrtmsvmw4pvwppm@falbala.internal.home.lespocky.de>
[not found] ` <MItjEho--3-2@tutanota.com>
[not found] ` <20201005173227.GA6431@duo.ucw.cz>
[not found] ` <20201006093356.6d25b280@blackhole.sk>
[not found] ` <MIxm3uX--3-2@tutanota.com>
[not found] ` <144aa75a-4369-cd81-d7dc-2354a9afd7c5@ti.com>
2020-10-06 14:41 ` Marek Behun [this message]
2020-10-06 14:57 ` [PATCH] leds: lm3697: Fix out-of-bound access Dan Murphy
2020-10-06 15:14 ` Marek Behun
2020-10-06 17:26 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201006164101.2c3fa0d7@blackhole.sk \
--to=kabel@blackhole.sk \
--cc=devicetree@vger.kernel.org \
--cc=dmurphy@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=pavel@ucw.cz \
--cc=robh+dt@kernel.org \
--cc=ultracoolguy@tutanota.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).