Loading drivers/regulator/core.c +25 −18 Original line number Diff line number Diff line Loading @@ -912,8 +912,12 @@ static int set_machine_constraints(struct regulator_dev *rdev, int ret = 0; struct regulator_ops *ops = rdev->desc->ops; if (constraints) rdev->constraints = kmemdup(constraints, sizeof(*constraints), GFP_KERNEL); else rdev->constraints = kzalloc(sizeof(*constraints), GFP_KERNEL); if (!rdev->constraints) return -ENOMEM; Loading @@ -922,7 +926,7 @@ static int set_machine_constraints(struct regulator_dev *rdev, goto out; /* do we need to setup our suspend state */ if (constraints->initial_state) { if (rdev->constraints->initial_state) { ret = suspend_prepare(rdev, rdev->constraints->initial_state); if (ret < 0) { rdev_err(rdev, "failed to set suspend state\n"); Loading @@ -930,7 +934,7 @@ static int set_machine_constraints(struct regulator_dev *rdev, } } if (constraints->initial_mode) { if (rdev->constraints->initial_mode) { if (!ops->set_mode) { rdev_err(rdev, "no set_mode operation\n"); ret = -EINVAL; Loading Loading @@ -2697,6 +2701,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, struct device *dev, const struct regulator_init_data *init_data, void *driver_data, struct device_node *of_node) { const struct regulation_constraints *constraints = NULL; static atomic_t regulator_no = ATOMIC_INIT(0); struct regulator_dev *rdev; int ret, i; Loading @@ -2712,9 +2717,6 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, regulator_desc->type != REGULATOR_CURRENT) return ERR_PTR(-EINVAL); if (!init_data) return ERR_PTR(-EINVAL); /* Only one of each should be implemented */ WARN_ON(regulator_desc->ops->get_voltage && regulator_desc->ops->get_voltage_sel); Loading Loading @@ -2747,7 +2749,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, INIT_DELAYED_WORK(&rdev->disable_work, regulator_disable_work); /* preform any regulator specific init */ if (init_data->regulator_init) { if (init_data && init_data->regulator_init) { ret = init_data->regulator_init(rdev->reg_data); if (ret < 0) goto clean; Loading @@ -2768,7 +2770,10 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, dev_set_drvdata(&rdev->dev, rdev); /* set regulator constraints */ ret = set_machine_constraints(rdev, &init_data->constraints); if (init_data) constraints = &init_data->constraints; ret = set_machine_constraints(rdev, constraints); if (ret < 0) goto scrub; Loading @@ -2777,7 +2782,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, if (ret < 0) goto scrub; if (init_data->supply_regulator) if (init_data && init_data->supply_regulator) supply = init_data->supply_regulator; else if (regulator_desc->supply_name) supply = regulator_desc->supply_name; Loading @@ -2799,6 +2804,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, } /* add consumers devices */ if (init_data) { for (i = 0; i < init_data->num_consumer_supplies; i++) { ret = set_consumer_device_supply(rdev, init_data->consumer_supplies[i].dev, Loading @@ -2810,6 +2816,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, goto unset_supplies; } } } list_add(&rdev->list, ®ulator_list); Loading Loading
drivers/regulator/core.c +25 −18 Original line number Diff line number Diff line Loading @@ -912,8 +912,12 @@ static int set_machine_constraints(struct regulator_dev *rdev, int ret = 0; struct regulator_ops *ops = rdev->desc->ops; if (constraints) rdev->constraints = kmemdup(constraints, sizeof(*constraints), GFP_KERNEL); else rdev->constraints = kzalloc(sizeof(*constraints), GFP_KERNEL); if (!rdev->constraints) return -ENOMEM; Loading @@ -922,7 +926,7 @@ static int set_machine_constraints(struct regulator_dev *rdev, goto out; /* do we need to setup our suspend state */ if (constraints->initial_state) { if (rdev->constraints->initial_state) { ret = suspend_prepare(rdev, rdev->constraints->initial_state); if (ret < 0) { rdev_err(rdev, "failed to set suspend state\n"); Loading @@ -930,7 +934,7 @@ static int set_machine_constraints(struct regulator_dev *rdev, } } if (constraints->initial_mode) { if (rdev->constraints->initial_mode) { if (!ops->set_mode) { rdev_err(rdev, "no set_mode operation\n"); ret = -EINVAL; Loading Loading @@ -2697,6 +2701,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, struct device *dev, const struct regulator_init_data *init_data, void *driver_data, struct device_node *of_node) { const struct regulation_constraints *constraints = NULL; static atomic_t regulator_no = ATOMIC_INIT(0); struct regulator_dev *rdev; int ret, i; Loading @@ -2712,9 +2717,6 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, regulator_desc->type != REGULATOR_CURRENT) return ERR_PTR(-EINVAL); if (!init_data) return ERR_PTR(-EINVAL); /* Only one of each should be implemented */ WARN_ON(regulator_desc->ops->get_voltage && regulator_desc->ops->get_voltage_sel); Loading Loading @@ -2747,7 +2749,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, INIT_DELAYED_WORK(&rdev->disable_work, regulator_disable_work); /* preform any regulator specific init */ if (init_data->regulator_init) { if (init_data && init_data->regulator_init) { ret = init_data->regulator_init(rdev->reg_data); if (ret < 0) goto clean; Loading @@ -2768,7 +2770,10 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, dev_set_drvdata(&rdev->dev, rdev); /* set regulator constraints */ ret = set_machine_constraints(rdev, &init_data->constraints); if (init_data) constraints = &init_data->constraints; ret = set_machine_constraints(rdev, constraints); if (ret < 0) goto scrub; Loading @@ -2777,7 +2782,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, if (ret < 0) goto scrub; if (init_data->supply_regulator) if (init_data && init_data->supply_regulator) supply = init_data->supply_regulator; else if (regulator_desc->supply_name) supply = regulator_desc->supply_name; Loading @@ -2799,6 +2804,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, } /* add consumers devices */ if (init_data) { for (i = 0; i < init_data->num_consumer_supplies; i++) { ret = set_consumer_device_supply(rdev, init_data->consumer_supplies[i].dev, Loading @@ -2810,6 +2816,7 @@ struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, goto unset_supplies; } } } list_add(&rdev->list, ®ulator_list); Loading