From: lee.jones@linaro.org (Lee Jones)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] mmc: mmci: Ensure return value of regulator_enable() is checked
Date: Fri, 3 May 2013 09:16:33 +0100 [thread overview]
Message-ID: <20130503081633.GD24153@gmail.com> (raw)
In-Reply-To: <CAPDyKFr60-nuh-BFsWtFhNeqUmswKC4hL4mw-gDhiqLmarvEDA@mail.gmail.com>
On Fri, 03 May 2013, Ulf Hansson wrote:
> On 2 May 2013 17:48, Lee Jones <lee.jones@linaro.org> wrote:
> > This patch suppresses the warning below:
> >
> > drivers/mmc/host/mmci.c: In function ?mmci_set_ios?:
> > drivers/mmc/host/mmci.c:1165:20: warning: ignoring return value of
> > ?regulator_enable?, declared with attribute warn_unused_result
> > [-Wunused-result]
> >
> > Cc: Russell King <linux@arm.linux.org.uk>
> > Cc: Chris Ball <cjb@laptop.org>
> > Signed-off-by: Lee Jones <lee.jones@linaro.org>
> > ---
> > drivers/mmc/host/mmci.c | 9 +++++++--
> > 1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
> > index 375c109..f4f3038 100644
> > --- a/drivers/mmc/host/mmci.c
> > +++ b/drivers/mmc/host/mmci.c
> > @@ -1130,6 +1130,7 @@ static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
> > struct variant_data *variant = host->variant;
> > u32 pwr = 0;
> > unsigned long flags;
> > + int ret;
> >
> > pm_runtime_get_sync(mmc_dev(mmc));
> >
> > @@ -1161,8 +1162,12 @@ static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
> > break;
> > case MMC_POWER_ON:
> > if (!IS_ERR(mmc->supply.vqmmc) &&
> > - !regulator_is_enabled(mmc->supply.vqmmc))
>
> I realize that we actually have a bug here (and in the MMC_POWER_OFF
> mode as well).
>
> We shall not use regulator_is_enabled API as a trigger to enable/fetch
> a reference to the regulator, since it will only tell us if the
> regulator is enabled - hw wise.
> Instead we need a local variable in the mmci host struct keeping track
> if we have enabled the regulator. Do you mind fix this up in this
> patch as well since it is tightly coupled to the regulator handling!?
IMHO I think that should be taken care of in a separate patch. This
patch only touches the line containing regulator_is_enabled() to
encompass a multi-line comparison result.
Care to write that patch? I have so much on my TODO already. :|
> Otherwise it looks good to me.
>
> Kind regards
> Ulf Hansson
>
> > - regulator_enable(mmc->supply.vqmmc);
> > + !regulator_is_enabled(mmc->supply.vqmmc)) {
> > + ret = regulator_enable(mmc->supply.vqmmc);
> > + if (ret < 0)
> > + dev_err(mmc_dev(mmc),
> > + "failed to enable vqmmc regulator\n");
> > + }
> >
> > pwr |= MCI_PWR_ON;
> > break;
> >
--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
WARNING: multiple messages have this Message-ID (diff)
From: Lee Jones <lee.jones@linaro.org>
To: Ulf Hansson <ulf.hansson@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, arnd@arndb.de,
linus.walleij@stericsson.com, srinidhi.kasagar@stericsson.com,
Russell King <linux@arm.linux.org.uk>,
Chris Ball <cjb@laptop.org>
Subject: Re: [PATCH 3/4] mmc: mmci: Ensure return value of regulator_enable() is checked
Date: Fri, 3 May 2013 09:16:33 +0100 [thread overview]
Message-ID: <20130503081633.GD24153@gmail.com> (raw)
In-Reply-To: <CAPDyKFr60-nuh-BFsWtFhNeqUmswKC4hL4mw-gDhiqLmarvEDA@mail.gmail.com>
On Fri, 03 May 2013, Ulf Hansson wrote:
> On 2 May 2013 17:48, Lee Jones <lee.jones@linaro.org> wrote:
> > This patch suppresses the warning below:
> >
> > drivers/mmc/host/mmci.c: In function ‘mmci_set_ios’:
> > drivers/mmc/host/mmci.c:1165:20: warning: ignoring return value of
> > ‘regulator_enable’, declared with attribute warn_unused_result
> > [-Wunused-result]
> >
> > Cc: Russell King <linux@arm.linux.org.uk>
> > Cc: Chris Ball <cjb@laptop.org>
> > Signed-off-by: Lee Jones <lee.jones@linaro.org>
> > ---
> > drivers/mmc/host/mmci.c | 9 +++++++--
> > 1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
> > index 375c109..f4f3038 100644
> > --- a/drivers/mmc/host/mmci.c
> > +++ b/drivers/mmc/host/mmci.c
> > @@ -1130,6 +1130,7 @@ static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
> > struct variant_data *variant = host->variant;
> > u32 pwr = 0;
> > unsigned long flags;
> > + int ret;
> >
> > pm_runtime_get_sync(mmc_dev(mmc));
> >
> > @@ -1161,8 +1162,12 @@ static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
> > break;
> > case MMC_POWER_ON:
> > if (!IS_ERR(mmc->supply.vqmmc) &&
> > - !regulator_is_enabled(mmc->supply.vqmmc))
>
> I realize that we actually have a bug here (and in the MMC_POWER_OFF
> mode as well).
>
> We shall not use regulator_is_enabled API as a trigger to enable/fetch
> a reference to the regulator, since it will only tell us if the
> regulator is enabled - hw wise.
> Instead we need a local variable in the mmci host struct keeping track
> if we have enabled the regulator. Do you mind fix this up in this
> patch as well since it is tightly coupled to the regulator handling!?
IMHO I think that should be taken care of in a separate patch. This
patch only touches the line containing regulator_is_enabled() to
encompass a multi-line comparison result.
Care to write that patch? I have so much on my TODO already. :|
> Otherwise it looks good to me.
>
> Kind regards
> Ulf Hansson
>
> > - regulator_enable(mmc->supply.vqmmc);
> > + !regulator_is_enabled(mmc->supply.vqmmc)) {
> > + ret = regulator_enable(mmc->supply.vqmmc);
> > + if (ret < 0)
> > + dev_err(mmc_dev(mmc),
> > + "failed to enable vqmmc regulator\n");
> > + }
> >
> > pwr |= MCI_PWR_ON;
> > break;
> >
--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
next prev parent reply other threads:[~2013-05-03 8:16 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-02 15:48 [PATCH 0/4] Fixing boot warnings in -next Lee Jones
2013-05-02 15:48 ` Lee Jones
2013-05-02 15:48 ` [PATCH 1/4] ARM: ux500: Rid ignored return value of regulator_enable() compiler warning Lee Jones
2013-05-02 15:48 ` Lee Jones
2013-05-03 8:27 ` Linus Walleij
2013-05-03 8:27 ` Linus Walleij
2013-05-02 15:48 ` [PATCH 2/4] mfd: ab8500-gpadc: Suppress 'ignoring regulator_enable() return value' warning Lee Jones
2013-05-02 15:48 ` Lee Jones
2013-05-03 8:28 ` Linus Walleij
2013-05-03 8:28 ` Linus Walleij
2013-05-03 11:04 ` Lee Jones
2013-05-03 11:04 ` Lee Jones
2013-05-03 11:22 ` Lee Jones
2013-05-03 11:22 ` Lee Jones
2013-05-03 11:15 ` [PATCH 2/4 v2] " Lee Jones
2013-05-03 11:15 ` Lee Jones
2013-05-03 13:41 ` Linus Walleij
2013-05-03 13:41 ` Linus Walleij
2013-05-03 13:55 ` Lee Jones
2013-05-03 13:55 ` Lee Jones
2013-05-02 15:48 ` [PATCH 3/4] mmc: mmci: Ensure return value of regulator_enable() is checked Lee Jones
2013-05-02 15:48 ` Lee Jones
2013-05-03 8:01 ` Ulf Hansson
2013-05-03 8:01 ` Ulf Hansson
2013-05-03 8:16 ` Lee Jones [this message]
2013-05-03 8:16 ` Lee Jones
2013-05-03 8:20 ` Ulf Hansson
2013-05-03 8:20 ` Ulf Hansson
2013-05-03 10:38 ` Lee Jones
2013-05-03 10:38 ` Lee Jones
2013-05-02 15:48 ` [PATCH 4/4] staging: ste_rmi4: Suppress 'ignoring return value of ‘regulator_enable()' warning Lee Jones
2013-05-02 15:48 ` Lee Jones
2013-05-03 7:07 ` Srinidhi Kasagar
2013-05-03 7:07 ` Srinidhi Kasagar
2013-05-03 7:11 ` Lee Jones
2013-05-03 7:11 ` Lee Jones
2013-05-05 14:18 ` Dan Carpenter
2013-05-05 14:18 ` Dan Carpenter
2013-05-06 6:51 ` Srinidhi Kasagar
2013-05-06 6:51 ` Srinidhi Kasagar
2013-05-06 7:43 ` Dan Carpenter
2013-05-06 7:43 ` Dan Carpenter
2013-05-03 14:21 ` [PATCH 4/4 v2] " Lee Jones
2013-05-03 14:21 ` Lee Jones
2013-05-14 10:46 ` [PATCH 4/4] " Lee Jones
2013-05-14 10:46 ` Lee Jones
2013-05-14 11:05 ` Greg Kroah-Hartman
2013-05-14 11:05 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130503081633.GD24153@gmail.com \
--to=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.