The aiu stored the irq in an unsigned integer which may have discarded an error returned by platform_get_irq_byname(). This is incorrect and should have been a signed integer.
Also drop the irq error traces from the probe function as this is already done by platform_get_irq_byname().
Fixes: 6ae9ca9ce986 ("ASoC: meson: aiu: add i2s and spdif support") Reported-by: kbuild test robot lkp@intel.com Signed-off-by: Jerome Brunet jbrunet@baylibre.com --- sound/soc/meson/aiu.c | 8 ++------ sound/soc/meson/aiu.h | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/sound/soc/meson/aiu.c b/sound/soc/meson/aiu.c index de678a9d5cab..34b40b8b8299 100644 --- a/sound/soc/meson/aiu.c +++ b/sound/soc/meson/aiu.c @@ -314,16 +314,12 @@ static int aiu_probe(struct platform_device *pdev) }
aiu->i2s.irq = platform_get_irq_byname(pdev, "i2s"); - if (aiu->i2s.irq < 0) { - dev_err(dev, "Can't get i2s irq\n"); + if (aiu->i2s.irq < 0) return aiu->i2s.irq; - }
aiu->spdif.irq = platform_get_irq_byname(pdev, "spdif"); - if (aiu->spdif.irq < 0) { - dev_err(dev, "Can't get spdif irq\n"); + if (aiu->spdif.irq < 0) return aiu->spdif.irq; - }
ret = aiu_clk_get(dev); if (ret) diff --git a/sound/soc/meson/aiu.h b/sound/soc/meson/aiu.h index a65a576e3400..097c26de7b7c 100644 --- a/sound/soc/meson/aiu.h +++ b/sound/soc/meson/aiu.h @@ -26,7 +26,7 @@ enum aiu_clk_ids { struct aiu_interface { struct clk_bulk_data *clks; unsigned int clk_num; - unsigned int irq; + int irq; };
struct aiu {