layerscape: add patches-5.4
[openwrt/staging/wigyori.git] / target / linux / layerscape / patches-5.4 / 801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch b/target/linux/layerscape/patches-5.4/801-audio-0008-Revert-ASoC-Remove-dev_err-usage-after-platform_get_.patch
new file mode 100644 (file)
index 0000000..4b61c0e
--- /dev/null
@@ -0,0 +1,467 @@
+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
+@@ -973,8 +973,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
+@@ -1510,8 +1510,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;
+       }