Commit 75d6b2fa authored by Javier Martinez Canillas's avatar Javier Martinez Canillas Committed by Mark Brown

regulator: of: Pass the regulator description in the match table

Drivers can use the of_regulator_match() function to parse the regulator
init_data from DT. A match table is used to specify the name of the node
containing the regulators, the device node and to return the init_data
to the caller.

But also the static regulator descriptor is needed to correctly extract
some DT properties like the regulator initial and suspend modes. Use the
match table to pass that information.
Signed-off-by: default avatarJavier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 072e78b1
...@@ -221,7 +221,8 @@ int of_regulator_match(struct device *dev, struct device_node *node, ...@@ -221,7 +221,8 @@ int of_regulator_match(struct device *dev, struct device_node *node,
continue; continue;
match->init_data = match->init_data =
of_get_regulator_init_data(dev, child, NULL); of_get_regulator_init_data(dev, child,
match->desc);
if (!match->init_data) { if (!match->init_data) {
dev_err(dev, dev_err(dev,
"failed to parse DT for regulator %s\n", "failed to parse DT for regulator %s\n",
......
...@@ -13,6 +13,7 @@ struct of_regulator_match { ...@@ -13,6 +13,7 @@ struct of_regulator_match {
void *driver_data; void *driver_data;
struct regulator_init_data *init_data; struct regulator_init_data *init_data;
struct device_node *of_node; struct device_node *of_node;
const struct regulator_desc *desc;
}; };
#if defined(CONFIG_OF) #if defined(CONFIG_OF)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment