Message ID | 1364444747-16777-1-git-send-email-sachin.kamat@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi, Sachin Your patch is right. I want to use the mmc_regulator_set_ocr() into core.c. Then I think we can remove the regulator_enable/disable in suspend/resume. how about this? If you have any opinion, let me know. Anyway, this patch looks good to me. Thanks for your effort. Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Best Regards, Jaehoon Chung On 03/28/2013 01:25 PM, Sachin Kamat wrote: > regulator_enable() is declared with __must_check attribute. > Hence check the return value to ensure that the regulator is enabled. > Fixes the following warning: > drivers/mmc/host/dw_mmc.c:2461:19: warning: > ignoring return value of ‘regulator_enable’, declared with attribute > warn_unused_result [-Wunused-result] > drivers/mmc/host/dw_mmc.c: In function ‘dw_mci_init_slot’: > drivers/mmc/host/dw_mmc.c:1994:19: warning: > ignoring return value of ‘regulator_enable’, declared with attribute > warn_unused_result [-Wunused-result] > > Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> > --- > drivers/mmc/host/dw_mmc.c | 20 ++++++++++++++++---- > 1 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index a443820..1ba09d0 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -1990,8 +1990,14 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id) > if (IS_ERR(host->vmmc)) { > pr_info("%s: no vmmc regulator found\n", mmc_hostname(mmc)); > host->vmmc = NULL; > - } else > - regulator_enable(host->vmmc); > + } else { > + ret = regulator_enable(host->vmmc); > + if (ret != 0) { > + dev_err(host->dev, > + "failed to enable regulator: %d\n", ret); > + goto err_setup_bus; > + } > + } > > if (dw_mci_get_cd(mmc)) > set_bit(DW_MMC_CARD_PRESENT, &slot->flags); > @@ -2457,8 +2463,14 @@ int dw_mci_resume(struct dw_mci *host) > { > int i, ret; > > - if (host->vmmc) > - regulator_enable(host->vmmc); > + if (host->vmmc) { > + ret = regulator_enable(host->vmmc); > + if (ret != 0) { > + dev_err(host->dev, > + "failed to enable regulator: %d\n", ret); > + return ret; > + } > + } > > if (!mci_wait_reset(host->dev, host)) { > ret = -ENODEV; > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thursday, March 28, 2013, Sachin Kamat wrote: > regulator_enable() is declared with __must_check attribute. > Hence check the return value to ensure that the regulator is enabled. > Fixes the following warning: > drivers/mmc/host/dw_mmc.c:2461:19: warning: > ignoring return value of ‘regulator_enable’, declared with attribute > warn_unused_result [-Wunused-result] > drivers/mmc/host/dw_mmc.c: In function ‘dw_mci_init_slot’: > drivers/mmc/host/dw_mmc.c:1994:19: warning: > ignoring return value of ‘regulator_enable’, declared with attribute > warn_unused_result [-Wunused-result] > > Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> > --- > drivers/mmc/host/dw_mmc.c | 20 ++++++++++++++++---- > 1 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c > index a443820..1ba09d0 100644 > --- a/drivers/mmc/host/dw_mmc.c > +++ b/drivers/mmc/host/dw_mmc.c > @@ -1990,8 +1990,14 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id) > if (IS_ERR(host->vmmc)) { > pr_info("%s: no vmmc regulator found\n", mmc_hostname(mmc)); > host->vmmc = NULL; > - } else > - regulator_enable(host->vmmc); > + } else { > + ret = regulator_enable(host->vmmc); > + if (ret != 0) { Just for trivial style... if (ret) { It looks like more simple? > + dev_err(host->dev, > + "failed to enable regulator: %d\n", ret); > + goto err_setup_bus; > + } > + } > > if (dw_mci_get_cd(mmc)) > set_bit(DW_MMC_CARD_PRESENT, &slot->flags); > @@ -2457,8 +2463,14 @@ int dw_mci_resume(struct dw_mci *host) > { > int i, ret; > > - if (host->vmmc) > - regulator_enable(host->vmmc); > + if (host->vmmc) { > + ret = regulator_enable(host->vmmc); > + if (ret != 0) { As above, Thanks, Seungwon Jeon > + dev_err(host->dev, > + "failed to enable regulator: %d\n", ret); > + return ret; > + } > + } > > if (!mci_wait_reset(host->dev, host)) { > ret = -ENODEV; > -- > 1.7.4.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 4 April 2013 11:19, Seungwon Jeon <tgih.jun@samsung.com> wrote: > On Thursday, March 28, 2013, Sachin Kamat wrote: >> regulator_enable() is declared with __must_check attribute. >> Hence check the return value to ensure that the regulator is enabled. >> Fixes the following warning: >> drivers/mmc/host/dw_mmc.c:2461:19: warning: >> ignoring return value of ‘regulator_enable’, declared with attribute >> warn_unused_result [-Wunused-result] >> drivers/mmc/host/dw_mmc.c: In function ‘dw_mci_init_slot’: >> drivers/mmc/host/dw_mmc.c:1994:19: warning: >> ignoring return value of ‘regulator_enable’, declared with attribute >> warn_unused_result [-Wunused-result] >> >> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> >> --- >> drivers/mmc/host/dw_mmc.c | 20 ++++++++++++++++---- >> 1 files changed, 16 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c >> index a443820..1ba09d0 100644 >> --- a/drivers/mmc/host/dw_mmc.c >> +++ b/drivers/mmc/host/dw_mmc.c >> @@ -1990,8 +1990,14 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id) >> if (IS_ERR(host->vmmc)) { >> pr_info("%s: no vmmc regulator found\n", mmc_hostname(mmc)); >> host->vmmc = NULL; >> - } else >> - regulator_enable(host->vmmc); >> + } else { >> + ret = regulator_enable(host->vmmc); >> + if (ret != 0) { > Just for trivial style... if (ret) { > It looks like more simple? Ok. I will resend with this change. > >> + dev_err(host->dev, >> + "failed to enable regulator: %d\n", ret); >> + goto err_setup_bus; >> + } >> + } >> >> if (dw_mci_get_cd(mmc)) >> set_bit(DW_MMC_CARD_PRESENT, &slot->flags); >> @@ -2457,8 +2463,14 @@ int dw_mci_resume(struct dw_mci *host) >> { >> int i, ret; >> >> - if (host->vmmc) >> - regulator_enable(host->vmmc); >> + if (host->vmmc) { >> + ret = regulator_enable(host->vmmc); >> + if (ret != 0) { > As above, > > Thanks, > Seungwon Jeon >> + dev_err(host->dev, >> + "failed to enable regulator: %d\n", ret); >> + return ret; >> + } >> + } >> >> if (!mci_wait_reset(host->dev, host)) { >> ret = -ENODEV; >> -- >> 1.7.4.1 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index a443820..1ba09d0 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1990,8 +1990,14 @@ static int dw_mci_init_slot(struct dw_mci *host, unsigned int id) if (IS_ERR(host->vmmc)) { pr_info("%s: no vmmc regulator found\n", mmc_hostname(mmc)); host->vmmc = NULL; - } else - regulator_enable(host->vmmc); + } else { + ret = regulator_enable(host->vmmc); + if (ret != 0) { + dev_err(host->dev, + "failed to enable regulator: %d\n", ret); + goto err_setup_bus; + } + } if (dw_mci_get_cd(mmc)) set_bit(DW_MMC_CARD_PRESENT, &slot->flags); @@ -2457,8 +2463,14 @@ int dw_mci_resume(struct dw_mci *host) { int i, ret; - if (host->vmmc) - regulator_enable(host->vmmc); + if (host->vmmc) { + ret = regulator_enable(host->vmmc); + if (ret != 0) { + dev_err(host->dev, + "failed to enable regulator: %d\n", ret); + return ret; + } + } if (!mci_wait_reset(host->dev, host)) { ret = -ENODEV;
regulator_enable() is declared with __must_check attribute. Hence check the return value to ensure that the regulator is enabled. Fixes the following warning: drivers/mmc/host/dw_mmc.c:2461:19: warning: ignoring return value of ‘regulator_enable’, declared with attribute warn_unused_result [-Wunused-result] drivers/mmc/host/dw_mmc.c: In function ‘dw_mci_init_slot’: drivers/mmc/host/dw_mmc.c:1994:19: warning: ignoring return value of ‘regulator_enable’, declared with attribute warn_unused_result [-Wunused-result] Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> --- drivers/mmc/host/dw_mmc.c | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-)