[PATCH 1/2] mmc: core: add helpers mmc_regulator_set_ocr_vmmc_up/off

Ulf Hansson ulf.hansson at linaro.org
Fri Feb 17 02:47:45 PST 2023


On Wed, 15 Feb 2023 at 21:14, Heiner Kallweit <hkallweit1 at gmail.com> wrote:
>
> A lot of drivers use this code, therefore let's factor it out to
> helpers.
>
> Signed-off-by: Heiner Kallweit <hkallweit1 at gmail.com>
> ---
>  include/linux/mmc/host.h | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
> index 812e6b583..f93fb8c7d 100644
> --- a/include/linux/mmc/host.h
> +++ b/include/linux/mmc/host.h
> @@ -597,6 +597,23 @@ static inline int mmc_regulator_set_vqmmc(struct mmc_host *mmc,
>  }
>  #endif
>
> +static inline int mmc_regulator_set_ocr_vmmc_up(struct mmc_host *mmc,
> +                                               struct mmc_ios *ios)
> +{
> +       if (IS_ERR(mmc->supply.vmmc))
> +               return 0;

Rather than adding these two new helper functions, how about adding
the similar check in mmc_regulator_set_ocr() instead?

That should allow us to simplify some code in the host drivers too, right?

> +
> +       return mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, ios->vdd);
> +}
> +
> +static inline int mmc_regulator_set_ocr_vmmc_off(struct mmc_host *mmc)
> +{
> +       if (IS_ERR(mmc->supply.vmmc))
> +               return 0;
> +
> +       return mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);
> +}
> +
>  int mmc_regulator_get_supply(struct mmc_host *mmc);
>
>  static inline int mmc_card_is_removable(struct mmc_host *host)
> --
> 2.39.1
>
>

Kind regards
Uffe



More information about the linux-arm-kernel mailing list