mirror of https://gitee.com/openkylin/linux.git
regulator: gpio-regulator: Don't oops on missing regulator-type property
Catch missing regulator-type property in DT and return an error gracefully instead of deferencing a NULL pointer and crashing. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
5e01dc7b26
commit
251b9c21d2
|
@ -139,6 +139,7 @@ of_get_gpio_regulator_config(struct device *dev, struct device_node *np)
|
|||
struct property *prop;
|
||||
const char *regtype;
|
||||
int proplen, gpio, i;
|
||||
int ret;
|
||||
|
||||
config = devm_kzalloc(dev,
|
||||
sizeof(struct gpio_regulator_config),
|
||||
|
@ -202,7 +203,11 @@ of_get_gpio_regulator_config(struct device *dev, struct device_node *np)
|
|||
}
|
||||
config->nr_states = i;
|
||||
|
||||
of_property_read_string(np, "regulator-type", ®type);
|
||||
ret = of_property_read_string(np, "regulator-type", ®type);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "Missing 'regulator-type' property\n");
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
|
||||
if (!strncmp("voltage", regtype, 7))
|
||||
config->type = REGULATOR_VOLTAGE;
|
||||
|
|
Loading…
Reference in New Issue