mmc: mediatek: Avoid ugly error message when SDIO wakeup IRQ isn't used

Message ID 20230510064434.1.I935404c5396e6bf952e99bb7ffb744c6f7fd430b@changeid
State New
Headers
Series mmc: mediatek: Avoid ugly error message when SDIO wakeup IRQ isn't used |

Commit Message

Doug Anderson May 10, 2023, 1:44 p.m. UTC
  When I boot a kukui-kodama board, I see an ugly warning in my kernel
log:
  mtk-msdc 11240000.mmc: error -ENXIO: IRQ sdio_wakeup not found

It's pretty normal not to have an "sdio_wakeup" IRQ defined. In fact,
no device trees in mainline seem to have it. Let's use the
platform_get_irq_byname_optional() to avoid the error message.

Fixes: 527f36f5efa4 ("mmc: mediatek: add support for SDIO eint wakup IRQ")
Signed-off-by: Douglas Anderson <dianders@chromium.org>
---

 drivers/mmc/host/mtk-sd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Matthias Brugger May 10, 2023, 2:19 p.m. UTC | #1
On 10/05/2023 15:44, Douglas Anderson wrote:
> When I boot a kukui-kodama board, I see an ugly warning in my kernel
> log:
>    mtk-msdc 11240000.mmc: error -ENXIO: IRQ sdio_wakeup not found
> 
> It's pretty normal not to have an "sdio_wakeup" IRQ defined. In fact,
> no device trees in mainline seem to have it. Let's use the
> platform_get_irq_byname_optional() to avoid the error message.
> 
> Fixes: 527f36f5efa4 ("mmc: mediatek: add support for SDIO eint wakup IRQ")
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>

> ---
> 
>   drivers/mmc/host/mtk-sd.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
> index edade0e54a0c..8ce864169986 100644
> --- a/drivers/mmc/host/mtk-sd.c
> +++ b/drivers/mmc/host/mtk-sd.c
> @@ -2707,7 +2707,7 @@ static int msdc_drv_probe(struct platform_device *pdev)
>   
>   	/* Support for SDIO eint irq ? */
>   	if ((mmc->pm_caps & MMC_PM_WAKE_SDIO_IRQ) && (mmc->pm_caps & MMC_PM_KEEP_POWER)) {
> -		host->eint_irq = platform_get_irq_byname(pdev, "sdio_wakeup");
> +		host->eint_irq = platform_get_irq_byname_optional(pdev, "sdio_wakeup");
>   		if (host->eint_irq > 0) {
>   			host->pins_eint = pinctrl_lookup_state(host->pinctrl, "state_eint");
>   			if (IS_ERR(host->pins_eint)) {
  
Ulf Hansson May 24, 2023, 1:10 p.m. UTC | #2
On Wed, 10 May 2023 at 15:46, Douglas Anderson <dianders@chromium.org> wrote:
>
> When I boot a kukui-kodama board, I see an ugly warning in my kernel
> log:
>   mtk-msdc 11240000.mmc: error -ENXIO: IRQ sdio_wakeup not found
>
> It's pretty normal not to have an "sdio_wakeup" IRQ defined. In fact,
> no device trees in mainline seem to have it. Let's use the
> platform_get_irq_byname_optional() to avoid the error message.
>
> Fixes: 527f36f5efa4 ("mmc: mediatek: add support for SDIO eint wakup IRQ")
> Signed-off-by: Douglas Anderson <dianders@chromium.org>

Applied for next, thanks!

Kind regards
Uffe


> ---
>
>  drivers/mmc/host/mtk-sd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
> index edade0e54a0c..8ce864169986 100644
> --- a/drivers/mmc/host/mtk-sd.c
> +++ b/drivers/mmc/host/mtk-sd.c
> @@ -2707,7 +2707,7 @@ static int msdc_drv_probe(struct platform_device *pdev)
>
>         /* Support for SDIO eint irq ? */
>         if ((mmc->pm_caps & MMC_PM_WAKE_SDIO_IRQ) && (mmc->pm_caps & MMC_PM_KEEP_POWER)) {
> -               host->eint_irq = platform_get_irq_byname(pdev, "sdio_wakeup");
> +               host->eint_irq = platform_get_irq_byname_optional(pdev, "sdio_wakeup");
>                 if (host->eint_irq > 0) {
>                         host->pins_eint = pinctrl_lookup_state(host->pinctrl, "state_eint");
>                         if (IS_ERR(host->pins_eint)) {
> --
> 2.40.1.521.gf1e218fcd8-goog
>
  

Patch

diff --git a/drivers/mmc/host/mtk-sd.c b/drivers/mmc/host/mtk-sd.c
index edade0e54a0c..8ce864169986 100644
--- a/drivers/mmc/host/mtk-sd.c
+++ b/drivers/mmc/host/mtk-sd.c
@@ -2707,7 +2707,7 @@  static int msdc_drv_probe(struct platform_device *pdev)
 
 	/* Support for SDIO eint irq ? */
 	if ((mmc->pm_caps & MMC_PM_WAKE_SDIO_IRQ) && (mmc->pm_caps & MMC_PM_KEEP_POWER)) {
-		host->eint_irq = platform_get_irq_byname(pdev, "sdio_wakeup");
+		host->eint_irq = platform_get_irq_byname_optional(pdev, "sdio_wakeup");
 		if (host->eint_irq > 0) {
 			host->pins_eint = pinctrl_lookup_state(host->pinctrl, "state_eint");
 			if (IS_ERR(host->pins_eint)) {