[PATCH v2 3/5] regulator: helper routine to extract regulator_init_data
Rajendra Nayak
rnayak at ti.com
Mon Oct 24 05:13:58 EDT 2011
On Monday 24 October 2011 02:41 PM, Shawn Guo wrote:
> On Mon, Oct 24, 2011 at 02:26:49PM +0530, Rajendra Nayak wrote:
>> On Monday 24 October 2011 02:32 PM, Shawn Guo wrote:
>>> Okay, it's wrong then since so many people say it's wrong :) I guess
>>> a quick fix would be adding one property in device tree node for
>>> matching some unique field in regulator_desc, id, maybe? Mark, any
>>> suggestion?
>>
>> Thats basically what the DT compatible property is for :)
>
> But adding compatible property will get DT core create 'struct dev'
> for each regulator node, while we are trying to avoid that since
> regulator core has been doing this.
>
No it won't.
So here's what I am suggesting.
Case 1:
One device per regulator:
DT nodes look something like this
reg1: reg at 1 {
...
...
};
reg2: reg at 2 {
...
...
};
The regulator driver probes 2 devices and each time the
dev passed has a of_node associated which the regulator
driver can then pass to the core.
Case 2:
One device for all regulators:
DT nodes look something like this
regulators {
reg1: reg at 1 {
...
...
};
reg2: reg at 2 {
...
...
};
};
The regulator driver probes only one device and the dev->of_node
points to the "regulators" node above.
The regulator driver then based on compatible property extracts
and registers all the child nodes of "regulators" (for ex: reg1, reg2
above) with each call to regulator_register and passes the child nodes
as of_node to be associated with the regulator device.
More information about the linux-arm-kernel
mailing list