On 23-09-20, Sascha Hauer wrote:
> dev_* functions only print the struct device * as context, but often
> a single struct device * implements multiple regulators. Add rdev_*
> logging functions which allow to to print one specific regulator as
> context.
> 
> Signed-off-by: Sascha Hauer <s.ha...@pengutronix.de>

Reviewed-by: Marco Felsch <m.fel...@pengutronix.de>

> ---
>  drivers/regulator/core.c | 12 ++++++++++--
>  include/regulator.h      | 13 +++++++++++++
>  2 files changed, 23 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
> index 41a3378ac8..8ef5a2372c 100644
> --- a/drivers/regulator/core.c
> +++ b/drivers/regulator/core.c
> @@ -19,6 +19,14 @@ struct regulator {
>       struct device *dev;
>  };
>  
> +const char *rdev_get_name(struct regulator_dev *rdev)
> +{
> +     if (rdev->name)
> +             return rdev->name;
> +
> +     return "";
> +}
> +
>  static int regulator_map_voltage(struct regulator_dev *rdev, int min_uV,
>                                int max_uV)
>  {
> @@ -125,7 +133,7 @@ static int regulator_resolve_supply(struct regulator_dev 
> *rdev)
>       if (!supply_name)
>               return 0;
>  
> -     dev_dbg(rdev->dev, "resolving %s\n", supply_name);
> +     rdev_dbg(rdev, "resolving %s\n", supply_name);
>  
>       supply = regulator_get(rdev->dev, supply_name);
>       if (IS_ERR(supply)) {
> @@ -141,7 +149,7 @@ static int regulator_resolve_supply(struct regulator_dev 
> *rdev)
>                * we couldn't. If you want to get rid of this warning, consider
>                * migrating your platform to have deep probe support.
>                */
> -             dev_warn(rdev->dev, "Failed to get '%s' regulator (ignored).\n",
> +             rdev_warn(rdev, "Failed to get '%s' regulator (ignored).\n",
>                        supply_name);
>               return 0;
>       }
> diff --git a/include/regulator.h b/include/regulator.h
> index 5eb236e602..d02ea8ffd0 100644
> --- a/include/regulator.h
> +++ b/include/regulator.h
> @@ -159,6 +159,19 @@ int dev_regulator_register(struct regulator_dev *rd, 
> const char * name,
>  
>  void regulators_print(void);
>  
> +const char *rdev_get_name(struct regulator_dev *rdev);
> +
> +#define rdev_crit(rdev, fmt, ...)                                       \
> +        pr_crit("%s: " fmt, rdev_get_name(rdev), ##__VA_ARGS__)
> +#define rdev_err(rdev, fmt, ...)                                        \
> +        pr_err("%s: " fmt, rdev_get_name(rdev), ##__VA_ARGS__)
> +#define rdev_warn(rdev, fmt, ...)                                       \
> +        pr_warn("%s: " fmt, rdev_get_name(rdev), ##__VA_ARGS__)
> +#define rdev_info(rdev, fmt, ...)                                       \
> +        pr_info("%s: " fmt, rdev_get_name(rdev), ##__VA_ARGS__)
> +#define rdev_dbg(rdev, fmt, ...)                                        \
> +        pr_debug("%s: " fmt, rdev_get_name(rdev), ##__VA_ARGS__)
> +
>  #ifdef CONFIG_REGULATOR
>  
>  struct regulator *regulator_get(struct device *, const char *);
> -- 
> 2.39.2
> 
> 
> 

Reply via email to