diff --git a/drivers/regulator/fixed.c b/drivers/regulator/fixed.c index 716ea375f50f..6828dce72371 100644 --- a/drivers/regulator/fixed.c +++ b/drivers/regulator/fixed.c @@ -51,7 +51,8 @@ struct fixed_voltage_data { * tree node, returns a pointer to the populated structure of NULL if memory * alloc fails. */ -struct fixed_voltage_config *of_get_fixed_voltage_config(struct device *dev) +static struct fixed_voltage_config * +of_get_fixed_voltage_config(struct device *dev) { struct fixed_voltage_config *config; struct device_node *np = dev->of_node; @@ -64,6 +65,9 @@ struct fixed_voltage_config *of_get_fixed_voltage_config(struct device *dev) return NULL; config->init_data = of_get_regulator_init_data(dev); + if (!config->init_data) + return NULL; + init_data = config->init_data; config->supply_name = init_data->constraints.name; diff --git a/drivers/regulator/of_regulator.c b/drivers/regulator/of_regulator.c index 76673c784ab8..acd7045d1601 100644 --- a/drivers/regulator/of_regulator.c +++ b/drivers/regulator/of_regulator.c @@ -10,6 +10,7 @@ * (at your option) any later version. */ +#include #include #include #include @@ -79,3 +80,4 @@ struct regulator_init_data *of_get_regulator_init_data(struct device *dev) of_get_regulation_constraints(dev->of_node, &init_data); return init_data; } +EXPORT_SYMBOL_GPL(of_get_regulator_init_data);