[U-Boot] [PATCH V3 06/14] dm: regulator: add function device_get_supply_regulator()

Simon Glass sjg at chromium.org
Thu Nov 5 19:25:00 CET 2015


Hi Przemyslaw,

On 27 October 2015 at 06:07, Przemyslaw Marczak <p.marczak at samsung.com> wrote:
>
> Some devices are supplied by configurable regulator's output.
> But there was no function for getting it. This commit adds
> function, that allows for getting the supply device by it's phandle.
>
> The returned regulator device can be used with regulator uclass's API.
>
> Signed-off-by: Przemyslaw Marczak <p.marczak at samsung.com>
> Cc: Simon Glass <sjg at chromium.org>
> ---
> Changes V3:
> - new commit
> ---
>  drivers/power/regulator/regulator-uclass.c |  7 +++++++
>  include/power/regulator.h                  | 16 ++++++++++++++++
>  2 files changed, 23 insertions(+)
>
> diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c
> index a5170df..4241a4c 100644
> --- a/drivers/power/regulator/regulator-uclass.c
> +++ b/drivers/power/regulator/regulator-uclass.c
> @@ -138,6 +138,13 @@ int regulator_get_by_devname(const char *devname, struct udevice **devp)
>         return uclass_get_device_by_name(UCLASS_REGULATOR, devname, devp);
>  }
>
> +int device_get_supply_regulator(struct udevice *dev, const char *supply_name,
> +                               struct udevice **devp)

Can we call this regulator_get_supply()? The 'device_' prefix is used
by device.h.

> +{
> +       return uclass_get_device_by_phandle(UCLASS_REGULATOR, dev,
> +                                           supply_name, devp);
> +}
> +
>  int regulator_autoset(struct udevice *dev)
>  {
>         struct dm_regulator_uclass_platdata *uc_pdata;
> diff --git a/include/power/regulator.h b/include/power/regulator.h
> index 1a51c3f..63c0814 100644
> --- a/include/power/regulator.h
> +++ b/include/power/regulator.h
> @@ -419,4 +419,20 @@ int regulator_get_by_devname(const char *devname, struct udevice **devp);
>   */
>  int regulator_get_by_platname(const char *platname, struct udevice **devp);
>
> +/**
> + * device_get_supply_regulator: returns the pointer to the supply regulator.
> + * Search by phandle, found in device's node.
> + *
> + * Note: Please pay attention to proper order of device bind sequence.
> + * The regulator device searched by the phandle, must be binded before
> + * this function call.
> + *
> + * @dev         - device with supply phandle
> + * @supply_name - phandle name of regulator
> + * @devp        - returned pointer to the supply device
> + * @return 0 on success or negative value of errno.
> + */
> +int device_get_supply_regulator(struct udevice *dev, const char *supply_name,
> +                               struct udevice **devp);
> +
>  #endif /* _INCLUDE_REGULATOR_H_ */
> --
> 1.9.1
>

Regards,
Simon


More information about the U-Boot mailing list