(2011年07月06日 18:36), ashishj3 wrote:
> +static int __devinit da9052_regulator_probe(struct platform_device *pdev)
> +{
> +     struct da9052_regulator *regulator;
> +     struct da9052 *da9052;
> +     struct da9052_pdata *pdata;
> +     int ret;
> +
> +     regulator = kzalloc(sizeof(struct da9052_regulator), GFP_KERNEL);
> +     if (!regulator)
> +             return -ENOMEM;
> +
> +     da9052 = dev_get_drvdata(pdev->dev.parent);
> +     pdata = da9052->dev->platform_data;
> +
> +     regulator->info = find_regulator_info(pdev->id);
> +     if (regulator->info == NULL) {
> +             dev_err(&pdev->dev, "invalid regulator ID specified\n");
> +             ret = -EINVAL;
> +             goto err;
> +     }
> +
> +     regulator->rdev = regulator_register(&regulator->info->reg_desc,
> +                                          &pdev->dev,
> +                                          pdata->regulators[pdev->id],
> +                                          regulator);
> +     if (IS_ERR(regulator->rdev)) {
> +             dev_err(&pdev->dev, "failed to register regulator %s\n",
> +                     regulator->info->reg_desc.name);
> +             ret = PTR_ERR(regulator->rdev);
> +             goto err;
> +     }
> +
> +     platform_set_drvdata(pdev, regulator);
> +
> +     return 0;
> +err:
> +     kfree(regulator);
> +     return ret;
> +}

Hi Ashish,

It seems to me that in this function, regulator->da9052 isn't initialized.

Regards,
Paul

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to