]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
mmc: renesas_sdhi: improve registering irqs
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Mon, 31 Mar 2025 06:43:17 +0000 (08:43 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 14 May 2025 14:59:16 +0000 (16:59 +0200)
The probe() function is convoluted enough, so merge sanity checks for
number of irqs into one place. Also, change the error code for 'no irq'
because ENXIO will not print a warning from the driver core.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20250331064400.16677-2-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/renesas_sdhi_core.c

index 8c83e203c516705654018829a359fa728ce5bec1..4642fdb8bf65fdcbfb049deb0b1c294d7d8781bc 100644 (file)
@@ -1240,15 +1240,10 @@ int renesas_sdhi_probe(struct platform_device *pdev,
 
        sd_ctrl_write32_as_16_and_16(host, CTL_IRQ_MASK, host->sdcard_irq_mask_all);
 
-       num_irqs = platform_irq_count(pdev);
-       if (num_irqs < 0) {
-               ret = num_irqs;
-               goto edisclk;
-       }
-
        /* There must be at least one IRQ source */
-       if (!num_irqs) {
-               ret = -ENXIO;
+       num_irqs = platform_irq_count(pdev);
+       if (num_irqs <= 0) {
+               ret = num_irqs ?: -ENOENT;
                goto edisclk;
        }