[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120704073942.GC25386@avionic-0098.mockup.avionic-design.de>
Date: Wed, 4 Jul 2012 09:39:42 +0200
From: Thierry Reding <thierry.reding@...onic-design.de>
To: Alex Courbot <acourbot@...dia.com>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devicetree-discuss@...ts.ozlabs.org"
<devicetree-discuss@...ts.ozlabs.org>
Subject: Re: Use of the pwm-names DT property
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
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists