Re: Use of the pwm-names DT property

From: Thierry Reding
Date: Wed Jul 04 2012 - 03:39:51 EST


On Wed, Jul 04, 2012 at 03:53:22PM +0900, Alex Courbot wrote:
> Hi Thierry,
>
> Looking at your PWM/DT integration patches for linux-next, I was
> wondering what is the rationale behind using the pwm-names property.
> If I got it correctly, its purpose is to be able to reference
> different PWMs by name, e.g. by having
>
> pwms = <&pwm 0 5000000>, <&pwm 1 5000000>;
> pwm-names = "backlight", "flash";
>
> You could get the first PWM in the driver code by calling
> pwm_get(dev, "backlight") and the second through pwm_get(dev,
> "flash").

Yes, that's the way it is supposed to work.

> While I am ok with this way of doing, why not having the form that
> is already used by the regulator and gpio frameworks, in which the
> consumer is part of the property name?
>
> vdd-supply = <&vdd_reg>;
> core-supply = <&core_reg>;
>
> Both regulators are then accessed using regulator_get(dev, "vdd")
> and regulator_get(dev, "core").
>
> Wouldn't it make more sense to follow the same scheme that has been
> popularized by other frameworks? It also has the advantage that you
> do not need to maintain two different properties which must be the
> same size.

In fact the *-names properties are rather common. They are used for the
reg and interrupts properties. The pinctrl subsystem and the upcoming
clock bindings also use the *-names properties. So one could just as
well argue that the regulator and gpio bindings should have been using
regulator-names and gpio-names respectively instead.

Thierry

Attachment: pgp00000.pgp
Description: PGP signature