On Fri, Nov 07, 2014 at 02:00:03PM +0100, Javier Martinez Canillas wrote:

> -     initdata = of_get_regulator_init_data(dev, np);
>       sreg = devm_kzalloc(dev, sizeof(*sreg), GFP_KERNEL);
>       if (!sreg)
>               return -ENOMEM;
> -     sreg->initdata = initdata;
>       sreg->name = of_get_property(np, "regulator-name", NULL);
>       rdesc = &sreg->rdesc;
> +     initdata = of_get_regulator_init_data(dev, np, rdesc);
> +     sreg->initdata = initdata;
>       rdesc->name = sreg->name;
>       rdesc->type = REGULATOR_VOLTAGE;
>       rdesc->owner = THIS_MODULE;

This is using the regulator descriptor before it is initialized which
doesn't seem ideal...

> +++ b/include/linux/regulator/of_regulator.h
> @@ -6,6 +6,8 @@
>  #ifndef __LINUX_OF_REG_H
>  #define __LINUX_OF_REG_H
>  
> +#include <linux/regulator/driver.h>
> +
>  struct of_regulator_match {
>       const char *name;
>       void *driver_data;
> @@ -16,14 +18,16 @@ struct of_regulator_match {
>  #if defined(CONFIG_OF)
>  extern struct regulator_init_data
>       *of_get_regulator_init_data(struct device *dev,
> -                                 struct device_node *node);
> +                                 struct device_node *node,
> +                                 const struct regulator_desc *desc);

This is just adding the include to get the declaration of regulator_desc
as far as I can see, add a forward declaration of it instead.

Attachment: signature.asc
Description: Digital signature

Reply via email to