68d9cb8214
Run tested: ath79, ipq40xx Build tested: ath79, ipq40xx Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
468 lines
14 KiB
Diff
468 lines
14 KiB
Diff
From b3aa9fe657c5e96659d64e6b008e025b433616ad Mon Sep 17 00:00:00 2001
|
|
From: Dong Aisheng <aisheng.dong@nxp.com>
|
|
Date: Fri, 16 Aug 2019 18:01:53 +0800
|
|
Subject: [PATCH] Revert "ASoC: Remove dev_err() usage after
|
|
platform_get_irq()"
|
|
|
|
This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
|
|
---
|
|
sound/soc/atmel/atmel-classd.c | 7 +++++--
|
|
sound/soc/atmel/atmel-pdmic.c | 7 +++++--
|
|
sound/soc/bcm/cygnus-ssp.c | 7 +++++--
|
|
sound/soc/codecs/msm8916-wcd-analog.c | 12 +++++++++---
|
|
sound/soc/codecs/twl6040.c | 4 +++-
|
|
sound/soc/fsl/fsl_asrc.c | 4 +++-
|
|
sound/soc/fsl/fsl_esai.c | 4 +++-
|
|
sound/soc/fsl/fsl_sai.c | 4 +++-
|
|
sound/soc/fsl/fsl_spdif.c | 4 +++-
|
|
sound/soc/fsl/fsl_ssi.c | 4 +++-
|
|
sound/soc/fsl/imx-ssi.c | 4 +++-
|
|
sound/soc/kirkwood/kirkwood-i2s.c | 4 +++-
|
|
sound/soc/mediatek/common/mtk-btcvsd.c | 4 +++-
|
|
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c | 4 +++-
|
|
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 4 +++-
|
|
sound/soc/mxs/mxs-saif.c | 8 ++++++--
|
|
sound/soc/qcom/lpass-platform.c | 5 ++++-
|
|
sound/soc/sof/intel/bdw.c | 5 ++++-
|
|
sound/soc/sof/intel/byt.c | 5 ++++-
|
|
sound/soc/sprd/sprd-mcdt.c | 4 +++-
|
|
sound/soc/sti/sti_uniperif.c | 4 +++-
|
|
sound/soc/stm/stm32_i2s.c | 5 ++++-
|
|
sound/soc/stm/stm32_sai.c | 4 +++-
|
|
sound/soc/stm/stm32_spdifrx.c | 4 +++-
|
|
sound/soc/sunxi/sun4i-i2s.c | 4 +++-
|
|
sound/soc/uniphier/aio-dma.c | 4 +++-
|
|
sound/soc/xilinx/xlnx_formatter_pcm.c | 2 ++
|
|
sound/soc/xtensa/xtfpga-i2s.c | 1 +
|
|
28 files changed, 100 insertions(+), 32 deletions(-)
|
|
|
|
--- a/sound/soc/atmel/atmel-classd.c
|
|
+++ b/sound/soc/atmel/atmel-classd.c
|
|
@@ -571,8 +571,11 @@ static int atmel_classd_probe(struct pla
|
|
dd->pdata = pdata;
|
|
|
|
dd->irq = platform_get_irq(pdev, 0);
|
|
- if (dd->irq < 0)
|
|
- return dd->irq;
|
|
+ if (dd->irq < 0) {
|
|
+ ret = dd->irq;
|
|
+ dev_err(dev, "failed to could not get irq: %d\n", ret);
|
|
+ return ret;
|
|
+ }
|
|
|
|
dd->pclk = devm_clk_get(dev, "pclk");
|
|
if (IS_ERR(dd->pclk)) {
|
|
--- a/sound/soc/atmel/atmel-pdmic.c
|
|
+++ b/sound/soc/atmel/atmel-pdmic.c
|
|
@@ -612,8 +612,11 @@ static int atmel_pdmic_probe(struct plat
|
|
dd->dev = dev;
|
|
|
|
dd->irq = platform_get_irq(pdev, 0);
|
|
- if (dd->irq < 0)
|
|
- return dd->irq;
|
|
+ if (dd->irq < 0) {
|
|
+ ret = dd->irq;
|
|
+ dev_err(dev, "failed to get irq: %d\n", ret);
|
|
+ return ret;
|
|
+ }
|
|
|
|
dd->pclk = devm_clk_get(dev, "pclk");
|
|
if (IS_ERR(dd->pclk)) {
|
|
--- a/sound/soc/bcm/cygnus-ssp.c
|
|
+++ b/sound/soc/bcm/cygnus-ssp.c
|
|
@@ -1342,8 +1342,11 @@ static int cygnus_ssp_probe(struct platf
|
|
}
|
|
|
|
cygaud->irq_num = platform_get_irq(pdev, 0);
|
|
- if (cygaud->irq_num <= 0)
|
|
- return cygaud->irq_num;
|
|
+ if (cygaud->irq_num <= 0) {
|
|
+ dev_err(dev, "platform_get_irq failed\n");
|
|
+ err = cygaud->irq_num;
|
|
+ return err;
|
|
+ }
|
|
|
|
err = audio_clk_init(pdev, cygaud);
|
|
if (err) {
|
|
--- a/sound/soc/codecs/msm8916-wcd-analog.c
|
|
+++ b/sound/soc/codecs/msm8916-wcd-analog.c
|
|
@@ -1195,8 +1195,10 @@ static int pm8916_wcd_analog_spmi_probe(
|
|
}
|
|
|
|
irq = platform_get_irq_byname(pdev, "mbhc_switch_int");
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(dev, "failed to get mbhc switch irq\n");
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_threaded_irq(dev, irq, NULL,
|
|
pm8916_mbhc_switch_irq_handler,
|
|
@@ -1208,8 +1210,10 @@ static int pm8916_wcd_analog_spmi_probe(
|
|
|
|
if (priv->mbhc_btn_enabled) {
|
|
irq = platform_get_irq_byname(pdev, "mbhc_but_press_det");
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(dev, "failed to get button press irq\n");
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_threaded_irq(dev, irq, NULL,
|
|
mbhc_btn_press_irq_handler,
|
|
@@ -1220,8 +1224,10 @@ static int pm8916_wcd_analog_spmi_probe(
|
|
dev_err(dev, "cannot request mbhc button press irq\n");
|
|
|
|
irq = platform_get_irq_byname(pdev, "mbhc_but_rel_det");
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(dev, "failed to get button release irq\n");
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_threaded_irq(dev, irq, NULL,
|
|
mbhc_btn_release_irq_handler,
|
|
--- a/sound/soc/codecs/twl6040.c
|
|
+++ b/sound/soc/codecs/twl6040.c
|
|
@@ -1108,8 +1108,10 @@ static int twl6040_probe(struct snd_soc_
|
|
priv->component = component;
|
|
|
|
priv->plug_irq = platform_get_irq(pdev, 0);
|
|
- if (priv->plug_irq < 0)
|
|
+ if (priv->plug_irq < 0) {
|
|
+ dev_err(component->dev, "invalid irq: %d\n", priv->plug_irq);
|
|
return priv->plug_irq;
|
|
+ }
|
|
|
|
INIT_DELAYED_WORK(&priv->hs_jack.work, twl6040_accessory_work);
|
|
|
|
--- a/sound/soc/fsl/fsl_asrc.c
|
|
+++ b/sound/soc/fsl/fsl_asrc.c
|
|
@@ -885,8 +885,10 @@ static int fsl_asrc_probe(struct platfor
|
|
}
|
|
|
|
irq = platform_get_irq(pdev, 0);
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_irq(&pdev->dev, irq, fsl_asrc_isr, 0,
|
|
dev_name(&pdev->dev), asrc_priv);
|
|
--- a/sound/soc/fsl/fsl_esai.c
|
|
+++ b/sound/soc/fsl/fsl_esai.c
|
|
@@ -977,8 +977,10 @@ static int fsl_esai_probe(struct platfor
|
|
PTR_ERR(esai_priv->spbaclk));
|
|
|
|
irq = platform_get_irq(pdev, 0);
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_irq(&pdev->dev, irq, esai_isr, 0,
|
|
esai_priv->name, esai_priv);
|
|
--- a/sound/soc/fsl/fsl_sai.c
|
|
+++ b/sound/soc/fsl/fsl_sai.c
|
|
@@ -831,8 +831,10 @@ static int fsl_sai_probe(struct platform
|
|
}
|
|
|
|
irq = platform_get_irq(pdev, 0);
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_irq(&pdev->dev, irq, fsl_sai_isr, 0, np->name, sai);
|
|
if (ret) {
|
|
--- a/sound/soc/fsl/fsl_spdif.c
|
|
+++ b/sound/soc/fsl/fsl_spdif.c
|
|
@@ -1248,8 +1248,10 @@ static int fsl_spdif_probe(struct platfo
|
|
}
|
|
|
|
irq = platform_get_irq(pdev, 0);
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_irq(&pdev->dev, irq, spdif_isr, 0,
|
|
dev_name(&pdev->dev), spdif_priv);
|
|
--- a/sound/soc/fsl/fsl_ssi.c
|
|
+++ b/sound/soc/fsl/fsl_ssi.c
|
|
@@ -1515,8 +1515,10 @@ static int fsl_ssi_probe(struct platform
|
|
}
|
|
|
|
ssi->irq = platform_get_irq(pdev, 0);
|
|
- if (ssi->irq < 0)
|
|
+ if (ssi->irq < 0) {
|
|
+ dev_err(dev, "no irq for node %s\n", pdev->name);
|
|
return ssi->irq;
|
|
+ }
|
|
|
|
/* Set software limitations for synchronous mode except AC97 */
|
|
if (ssi->synchronous && !fsl_ssi_is_ac97(ssi)) {
|
|
--- a/sound/soc/fsl/imx-ssi.c
|
|
+++ b/sound/soc/fsl/imx-ssi.c
|
|
@@ -520,8 +520,10 @@ static int imx_ssi_probe(struct platform
|
|
}
|
|
|
|
ssi->irq = platform_get_irq(pdev, 0);
|
|
- if (ssi->irq < 0)
|
|
+ if (ssi->irq < 0) {
|
|
+ dev_err(&pdev->dev, "Failed to get IRQ: %d\n", ssi->irq);
|
|
return ssi->irq;
|
|
+ }
|
|
|
|
ssi->clk = devm_clk_get(&pdev->dev, NULL);
|
|
if (IS_ERR(ssi->clk)) {
|
|
--- a/sound/soc/kirkwood/kirkwood-i2s.c
|
|
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
|
|
@@ -537,8 +537,10 @@ static int kirkwood_i2s_dev_probe(struct
|
|
return PTR_ERR(priv->io);
|
|
|
|
priv->irq = platform_get_irq(pdev, 0);
|
|
- if (priv->irq < 0)
|
|
+ if (priv->irq < 0) {
|
|
+ dev_err(&pdev->dev, "platform_get_irq failed: %d\n", priv->irq);
|
|
return priv->irq;
|
|
+ }
|
|
|
|
if (np) {
|
|
priv->burst = 128; /* might be 32 or 128 */
|
|
--- a/sound/soc/mediatek/common/mtk-btcvsd.c
|
|
+++ b/sound/soc/mediatek/common/mtk-btcvsd.c
|
|
@@ -1335,8 +1335,10 @@ static int mtk_btcvsd_snd_probe(struct p
|
|
|
|
/* irq */
|
|
irq_id = platform_get_irq(pdev, 0);
|
|
- if (irq_id <= 0)
|
|
+ if (irq_id <= 0) {
|
|
+ dev_err(dev, "%pOFn no irq found\n", dev->of_node);
|
|
return irq_id < 0 ? irq_id : -ENXIO;
|
|
+ }
|
|
|
|
ret = devm_request_irq(dev, irq_id, mtk_btcvsd_snd_irq_handler,
|
|
IRQF_TRIGGER_LOW, "BTCVSD_ISR_Handle",
|
|
--- a/sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
|
|
+++ b/sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
|
|
@@ -1350,8 +1350,10 @@ static int mt2701_afe_pcm_dev_probe(stru
|
|
return -ENOMEM;
|
|
|
|
irq_id = platform_get_irq_byname(pdev, "asys");
|
|
- if (irq_id < 0)
|
|
+ if (irq_id < 0) {
|
|
+ dev_err(dev, "unable to get ASYS IRQ\n");
|
|
return irq_id;
|
|
+ }
|
|
|
|
ret = devm_request_irq(dev, irq_id, mt2701_asys_isr,
|
|
IRQF_TRIGGER_NONE, "asys-isr", (void *)afe);
|
|
--- a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
|
|
+++ b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
|
|
@@ -1074,8 +1074,10 @@ static int mt8173_afe_pcm_dev_probe(stru
|
|
afe->dev = &pdev->dev;
|
|
|
|
irq_id = platform_get_irq(pdev, 0);
|
|
- if (irq_id <= 0)
|
|
+ if (irq_id <= 0) {
|
|
+ dev_err(afe->dev, "np %pOFn no irq\n", afe->dev->of_node);
|
|
return irq_id < 0 ? irq_id : -ENXIO;
|
|
+ }
|
|
ret = devm_request_irq(afe->dev, irq_id, mt8173_afe_irq_handler,
|
|
0, "Afe_ISR_Handle", (void *)afe);
|
|
if (ret) {
|
|
--- a/sound/soc/mxs/mxs-saif.c
|
|
+++ b/sound/soc/mxs/mxs-saif.c
|
|
@@ -790,8 +790,12 @@ static int mxs_saif_probe(struct platfor
|
|
return PTR_ERR(saif->base);
|
|
|
|
irq = platform_get_irq(pdev, 0);
|
|
- if (irq < 0)
|
|
- return irq;
|
|
+ if (irq < 0) {
|
|
+ ret = irq;
|
|
+ dev_err(&pdev->dev, "failed to get irq resource: %d\n",
|
|
+ ret);
|
|
+ return ret;
|
|
+ }
|
|
|
|
saif->dev = &pdev->dev;
|
|
ret = devm_request_irq(&pdev->dev, irq, mxs_saif_irq, 0,
|
|
--- a/sound/soc/qcom/lpass-platform.c
|
|
+++ b/sound/soc/qcom/lpass-platform.c
|
|
@@ -564,8 +564,11 @@ int asoc_qcom_lpass_platform_register(st
|
|
int ret;
|
|
|
|
drvdata->lpaif_irq = platform_get_irq_byname(pdev, "lpass-irq-lpaif");
|
|
- if (drvdata->lpaif_irq < 0)
|
|
+ if (drvdata->lpaif_irq < 0) {
|
|
+ dev_err(&pdev->dev, "error getting irq handle: %d\n",
|
|
+ drvdata->lpaif_irq);
|
|
return -ENODEV;
|
|
+ }
|
|
|
|
/* ensure audio hardware is disabled */
|
|
ret = regmap_write(drvdata->lpaif_map,
|
|
--- a/sound/soc/sof/intel/bdw.c
|
|
+++ b/sound/soc/sof/intel/bdw.c
|
|
@@ -483,8 +483,11 @@ static int bdw_probe(struct snd_sof_dev
|
|
|
|
/* register our IRQ */
|
|
sdev->ipc_irq = platform_get_irq(pdev, desc->irqindex_host_ipc);
|
|
- if (sdev->ipc_irq < 0)
|
|
+ if (sdev->ipc_irq < 0) {
|
|
+ dev_err(sdev->dev, "error: failed to get IRQ at index %d\n",
|
|
+ desc->irqindex_host_ipc);
|
|
return sdev->ipc_irq;
|
|
+ }
|
|
|
|
dev_dbg(sdev->dev, "using IRQ %d\n", sdev->ipc_irq);
|
|
ret = devm_request_threaded_irq(sdev->dev, sdev->ipc_irq,
|
|
--- a/sound/soc/sof/intel/byt.c
|
|
+++ b/sound/soc/sof/intel/byt.c
|
|
@@ -600,8 +600,11 @@ static int byt_acpi_probe(struct snd_sof
|
|
irq:
|
|
/* register our IRQ */
|
|
sdev->ipc_irq = platform_get_irq(pdev, desc->irqindex_host_ipc);
|
|
- if (sdev->ipc_irq < 0)
|
|
+ if (sdev->ipc_irq < 0) {
|
|
+ dev_err(sdev->dev, "error: failed to get IRQ at index %d\n",
|
|
+ desc->irqindex_host_ipc);
|
|
return sdev->ipc_irq;
|
|
+ }
|
|
|
|
dev_dbg(sdev->dev, "using IRQ %d\n", sdev->ipc_irq);
|
|
ret = devm_request_threaded_irq(sdev->dev, sdev->ipc_irq,
|
|
--- a/sound/soc/sprd/sprd-mcdt.c
|
|
+++ b/sound/soc/sprd/sprd-mcdt.c
|
|
@@ -959,8 +959,10 @@ static int sprd_mcdt_probe(struct platfo
|
|
platform_set_drvdata(pdev, mcdt);
|
|
|
|
irq = platform_get_irq(pdev, 0);
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(&pdev->dev, "Failed to get MCDT interrupt\n");
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_irq(&pdev->dev, irq, sprd_mcdt_irq_handler,
|
|
0, "sprd-mcdt", mcdt);
|
|
--- a/sound/soc/sti/sti_uniperif.c
|
|
+++ b/sound/soc/sti/sti_uniperif.c
|
|
@@ -426,8 +426,10 @@ static int sti_uniperiph_cpu_dai_of(stru
|
|
UNIPERIF_FIFO_DATA_OFFSET(uni);
|
|
|
|
uni->irq = platform_get_irq(priv->pdev, 0);
|
|
- if (uni->irq < 0)
|
|
+ if (uni->irq < 0) {
|
|
+ dev_err(dev, "Failed to get IRQ resource\n");
|
|
return -ENXIO;
|
|
+ }
|
|
|
|
uni->type = dev_data->type;
|
|
|
|
--- a/sound/soc/stm/stm32_i2s.c
|
|
+++ b/sound/soc/stm/stm32_i2s.c
|
|
@@ -855,8 +855,11 @@ static int stm32_i2s_parse_dt(struct pla
|
|
|
|
/* Get irqs */
|
|
irq = platform_get_irq(pdev, 0);
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ if (irq != -EPROBE_DEFER)
|
|
+ dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_irq(&pdev->dev, irq, stm32_i2s_isr, IRQF_ONESHOT,
|
|
dev_name(&pdev->dev), i2s);
|
|
--- a/sound/soc/stm/stm32_sai.c
|
|
+++ b/sound/soc/stm/stm32_sai.c
|
|
@@ -193,8 +193,10 @@ static int stm32_sai_probe(struct platfo
|
|
|
|
/* init irqs */
|
|
sai->irq = platform_get_irq(pdev, 0);
|
|
- if (sai->irq < 0)
|
|
+ if (sai->irq < 0) {
|
|
+ dev_err(&pdev->dev, "no irq for node %s\n", pdev->name);
|
|
return sai->irq;
|
|
+ }
|
|
|
|
/* reset */
|
|
rst = devm_reset_control_get_exclusive(&pdev->dev, NULL);
|
|
--- a/sound/soc/stm/stm32_spdifrx.c
|
|
+++ b/sound/soc/stm/stm32_spdifrx.c
|
|
@@ -920,8 +920,10 @@ static int stm32_spdifrx_parse_of(struct
|
|
}
|
|
|
|
spdifrx->irq = platform_get_irq(pdev, 0);
|
|
- if (spdifrx->irq < 0)
|
|
+ if (spdifrx->irq < 0) {
|
|
+ dev_err(&pdev->dev, "No irq for node %s\n", pdev->name);
|
|
return spdifrx->irq;
|
|
+ }
|
|
|
|
return 0;
|
|
}
|
|
--- a/sound/soc/sunxi/sun4i-i2s.c
|
|
+++ b/sound/soc/sunxi/sun4i-i2s.c
|
|
@@ -1198,8 +1198,10 @@ static int sun4i_i2s_probe(struct platfo
|
|
return PTR_ERR(regs);
|
|
|
|
irq = platform_get_irq(pdev, 0);
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(&pdev->dev, "Can't retrieve our interrupt\n");
|
|
return irq;
|
|
+ }
|
|
|
|
i2s->variant = of_device_get_match_data(&pdev->dev);
|
|
if (!i2s->variant) {
|
|
--- a/sound/soc/uniphier/aio-dma.c
|
|
+++ b/sound/soc/uniphier/aio-dma.c
|
|
@@ -289,8 +289,10 @@ int uniphier_aiodma_soc_register_platfor
|
|
return PTR_ERR(chip->regmap);
|
|
|
|
irq = platform_get_irq(pdev, 0);
|
|
- if (irq < 0)
|
|
+ if (irq < 0) {
|
|
+ dev_err(dev, "Could not get irq.\n");
|
|
return irq;
|
|
+ }
|
|
|
|
ret = devm_request_irq(dev, irq, aiodma_irq,
|
|
IRQF_SHARED, dev_name(dev), pdev);
|
|
--- a/sound/soc/xilinx/xlnx_formatter_pcm.c
|
|
+++ b/sound/soc/xilinx/xlnx_formatter_pcm.c
|
|
@@ -613,6 +613,7 @@ static int xlnx_formatter_pcm_probe(stru
|
|
aud_drv_data->mm2s_irq = platform_get_irq_byname(pdev,
|
|
"irq_mm2s");
|
|
if (aud_drv_data->mm2s_irq < 0) {
|
|
+ dev_err(dev, "xlnx audio mm2s irq resource failed\n");
|
|
ret = aud_drv_data->mm2s_irq;
|
|
goto clk_err;
|
|
}
|
|
@@ -639,6 +640,7 @@ static int xlnx_formatter_pcm_probe(stru
|
|
aud_drv_data->s2mm_irq = platform_get_irq_byname(pdev,
|
|
"irq_s2mm");
|
|
if (aud_drv_data->s2mm_irq < 0) {
|
|
+ dev_err(dev, "xlnx audio s2mm irq resource failed\n");
|
|
ret = aud_drv_data->s2mm_irq;
|
|
goto clk_err;
|
|
}
|
|
--- a/sound/soc/xtensa/xtfpga-i2s.c
|
|
+++ b/sound/soc/xtensa/xtfpga-i2s.c
|
|
@@ -570,6 +570,7 @@ static int xtfpga_i2s_probe(struct platf
|
|
|
|
irq = platform_get_irq(pdev, 0);
|
|
if (irq < 0) {
|
|
+ dev_err(&pdev->dev, "No IRQ resource\n");
|
|
err = irq;
|
|
goto err;
|
|
}
|