On 23-09-20, Sascha Hauer wrote:
> In of_regulator_register() call __regulator_register as last step after
> all fields have been initialized. This was not possible before as
> __regulator_register() returned the struct regulator_internal * which
> contained the remaining fields. Now that struct regulator_internal is
> gone we can restore the natural initialization order.
>
> Signed-off-by: Sascha Hauer <[email protected]>
> ---
> drivers/regulator/core.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
> index b9a97a784f..d08df1dc68 100644
> --- a/drivers/regulator/core.c
> +++ b/drivers/regulator/core.c
> @@ -240,10 +240,6 @@ int of_regulator_register(struct regulator_dev *rdev,
> struct device_node *node)
> if (!name)
> name = node->name;
>
> - ret = __regulator_register(rdev, name);
> - if (ret)
> - return ret;
> -
> rdev->node = node;
> node->dev = rdev->dev;
>
> @@ -260,6 +256,10 @@ int of_regulator_register(struct regulator_dev *rdev,
> struct device_node *node)
> of_property_read_u32(node, "regulator-max-microvolt",
> &rdev->max_uv);
>
> + ret = __regulator_register(rdev, name);
return __regulator_register(rdev, name);
Regards,
Marco
> + if (ret)
> + return ret;
> +
> return 0;
> }
>
> --
> 2.39.2
>
>
>