On Sun, Dec 16, 2018 at 03:18:52PM +0100, Paul Cercueil wrote: > Hi, > > Le ven. 14 déc. 2018 à 15:26, Uwe Kleine-König > <u.kleine-koenig@xxxxxxxxxxxxxx> a écrit : > > Hello, > > > > On Fri, Dec 14, 2018 at 02:50:20PM +0100, Linus Walleij wrote: > > > On Thu, Dec 13, 2018 at 9:42 PM Uwe Kleine-König > > > <u.kleine-koenig@xxxxxxxxxxxxxx> wrote: > > > > [Adding Linus Walleij to Cc:] > > > > On Thu, Dec 13, 2018 at 03:03:15PM +0100, Paul Cercueil wrote: > > > > > Le jeu. 13 déc. 2018 à 10:24, Uwe Kleine-König > > > > > <u.kleine-koenig@xxxxxxxxxxxxxx> a écrit : > > > > > > On Wed, Dec 12, 2018 at 11:09:10PM +0100, Paul Cercueil wrote: > > > > > > > The PWM in the JZ4725B works the same as in the JZ4740, > > > > > > > except that it only has 6 channels available instead of > > > > > > > 8. > > > > > > > > > > > > this driver is probed only from device tree? If yes, it > > > > > > might be sensible to specify the number of PWMs there and > > > > > > get it from there. > > > > > > There doesn't seem to be a generic binding for that, but there are > > > > > > several drivers that could benefit from it. (This is a bigger project > > > > > > though and shouldn't stop your patch. Still more as it already got > > > > > > Thierry's ack.) > > > > > > > > > > I think there needs to be a proper guideline, as there doesn't seem to be > > > > > a consensus about this. I learned from emails with Rob and Linus (Walleij) > > > > > that I should not have in devicetree what I can deduce from the compatible > > > > > string. > > > > > > > > I understood them a bit differently. It is ok to deduce things from the > > > > compatible string. But if you define a generic property (say) "num-pwms" > > > > that is used uniformly in most bindings this is ok, too. (And then the > > > > two different devices could use the same compatible.) > > > > > > > > An upside of the generic "num-pwms" property is that the pwm core could > > > > sanity check pwm phandles before passing them to the hardware drivers. > > > > > > I don't know if this helps, but in GPIO we have "ngpios" which is > > > used to augment an existing block as to the number of lines actually > > > used with it. > > > > > > The typical case is that an ASIC engineer synthesize a block for > > > 32 GPIOs but only 12 of them are routed to external pads. So > > > we augment the behaviour of that driver to only use 12 of the > > > 32 lines. > > > > > > I guess using the remaining 20 lines "works" in a sense but they > > > have no practical use and will just bias electrons in the silicon > > > for no use. > > > > This looks very similar to the case under discussion. > > > > > So if the PWM case is something similar, then by all means add > > > num-pwms. > > > > .. or "npwms" to use the same nomenclature as the gpio binding? > > If we're going to do something like this, should it be the drivers or > the core (within pwmchip_add) that checks for this "npwms" property? Of course this should be done in the core. The driver than can rely on the validity of the index. But as I wrote before, this shouldn't stop your patch from going in. But if Thierry agrees that this npmws (or num-pwms) is a good idea, it would be great to start early to convert drivers. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ |