regulator: Allow regulator nodes to contain their own init data
Currently it is expected that regulator init data will be defined as a series of sub-nodes from the node that bound in the driver. Add support for a node to both bind in a driver and contain init data for that regulator. Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
925c85e21e
Коммит
eba9473f67
|
@ -380,12 +380,16 @@ struct device_node *regulator_of_get_init_node(struct device *dev,
|
||||||
if (!dev->of_node || !desc->of_match)
|
if (!dev->of_node || !desc->of_match)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (desc->regulators_node)
|
if (desc->regulators_node) {
|
||||||
search = of_get_child_by_name(dev->of_node,
|
search = of_get_child_by_name(dev->of_node,
|
||||||
desc->regulators_node);
|
desc->regulators_node);
|
||||||
else
|
} else {
|
||||||
search = of_node_get(dev->of_node);
|
search = of_node_get(dev->of_node);
|
||||||
|
|
||||||
|
if (!strcmp(desc->of_match, search->name))
|
||||||
|
return search;
|
||||||
|
}
|
||||||
|
|
||||||
if (!search) {
|
if (!search) {
|
||||||
dev_dbg(dev, "Failed to find regulator container node '%s'\n",
|
dev_dbg(dev, "Failed to find regulator container node '%s'\n",
|
||||||
desc->regulators_node);
|
desc->regulators_node);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче