lkml.org 
[lkml]   [2015]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 13/15] mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status
From
On 27 August 2015 at 11:14, Kishon Vijay Abraham I <kishon@ti.com> wrote:
> Use regulator_is_enabled of pbias regulator to find pbias regulator
> status instead of maintaining a custom bookkeeping
> pbias_enabled variable.

Doesn't this cause a problem for the scenario when the initial state
of the regulator is enabled?

Both in the sense that you will increase the enable count for it
(potentially it may then become disabled when you need it enabled) but
also from a enable/disable imbalance point of view.

Kind regards
Uffe

>
> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
> Tested-by: Tony Lindgren <tony@atomide.com>
> ---
> drivers/mmc/host/omap_hsmmc.c | 8 ++------
> 1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
> index 5a5946a..4cd7a58 100644
> --- a/drivers/mmc/host/omap_hsmmc.c
> +++ b/drivers/mmc/host/omap_hsmmc.c
> @@ -182,7 +182,6 @@ struct omap_hsmmc_host {
> struct clk *fclk;
> struct clk *dbclk;
> struct regulator *pbias;
> - bool pbias_enabled;
> void __iomem *base;
> int vqmmc_enabled;
> resource_size_t mapbase;
> @@ -330,22 +329,20 @@ static int omap_hsmmc_set_pbias(struct omap_hsmmc_host *host, bool power_on,
> return ret;
> }
>
> - if (host->pbias_enabled == 0) {
> + if (!regulator_is_enabled(host->pbias)) {
> ret = regulator_enable(host->pbias);
> if (ret) {
> dev_err(host->dev, "pbias reg enable fail\n");
> return ret;
> }
> - host->pbias_enabled = 1;
> }
> } else {
> - if (host->pbias_enabled == 1) {
> + if (regulator_is_enabled(host->pbias)) {
> ret = regulator_disable(host->pbias);
> if (ret) {
> dev_err(host->dev, "pbias reg disable fail\n");
> return ret;
> }
> - host->pbias_enabled = 0;
> }
> }
>
> @@ -2081,7 +2078,6 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
> host->base = base + pdata->reg_offset;
> host->power_mode = MMC_POWER_OFF;
> host->next_data.cookie = 1;
> - host->pbias_enabled = 0;
> host->vqmmc_enabled = 0;
>
> ret = omap_hsmmc_gpio_init(mmc, host, pdata);
> --
> 1.7.9.5
>


\
 
 \ /
  Last update: 2015-08-27 15:01    [W:0.183 / U:0.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site