ASoC: wm_adsp: Allow bus error handler to be called directly
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Thu, 25 Jul 2019 16:39:29 +0000 (17:39 +0100)
committerMark Brown <broonie@kernel.org>
Thu, 25 Jul 2019 16:42:35 +0000 (17:42 +0100)
There is no need for end drivers to add helper functions to allow the
bus error handler to be called, simply update the prototype so it can be
called directly.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20190725163931.24964-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs47l90.c
sound/soc/codecs/wm_adsp.c
sound/soc/codecs/wm_adsp.h

index c4ecb0e..67cac60 100644 (file)
@@ -2402,13 +2402,6 @@ static irqreturn_t cs47l90_adsp2_irq(int irq, void *data)
        return IRQ_HANDLED;
 }
 
-static irqreturn_t cs47l90_dsp_bus_error(int irq, void *data)
-{
-       struct wm_adsp *dsp = (struct wm_adsp *)data;
-
-       return wm_adsp2_bus_error(dsp);
-}
-
 static int cs47l90_component_probe(struct snd_soc_component *component)
 {
        struct cs47l90 *cs47l90 = snd_soc_component_get_drvdata(component);
@@ -2558,7 +2551,7 @@ static int cs47l90_probe(struct platform_device *pdev)
 
                if (ret == 0) {
                        ret = madera_init_bus_error_irq(&cs47l90->core, i,
-                                                       cs47l90_dsp_bus_error);
+                                                       wm_adsp2_bus_error);
                        if (ret != 0)
                                wm_adsp2_remove(&cs47l90->core.adsp[i]);
                }
index f5fbadc..ae28d99 100644 (file)
@@ -4242,8 +4242,9 @@ static void wm_adsp_fatal_error(struct wm_adsp *dsp)
        }
 }
 
-irqreturn_t wm_adsp2_bus_error(struct wm_adsp *dsp)
+irqreturn_t wm_adsp2_bus_error(int irq, void *data)
 {
+       struct wm_adsp *dsp = (struct wm_adsp *)data;
        unsigned int val;
        struct regmap *regmap = dsp->regmap;
        int ret = 0;
@@ -4307,8 +4308,9 @@ error:
 }
 EXPORT_SYMBOL_GPL(wm_adsp2_bus_error);
 
-irqreturn_t wm_halo_bus_error(struct wm_adsp *dsp)
+irqreturn_t wm_halo_bus_error(int irq, void *data)
 {
+       struct wm_adsp *dsp = (struct wm_adsp *)data;
        struct regmap *regmap = dsp->regmap;
        unsigned int fault[6];
        struct reg_sequence clear[] = {
index 3b03d1e..aa634ef 100644 (file)
@@ -171,8 +171,8 @@ int wm_adsp1_event(struct snd_soc_dapm_widget *w,
 int wm_adsp_early_event(struct snd_soc_dapm_widget *w,
                        struct snd_kcontrol *kcontrol, int event);
 
-irqreturn_t wm_adsp2_bus_error(struct wm_adsp *adsp);
-irqreturn_t wm_halo_bus_error(struct wm_adsp *dsp);
+irqreturn_t wm_adsp2_bus_error(int irq, void *data);
+irqreturn_t wm_halo_bus_error(int irq, void *data);
 irqreturn_t wm_halo_wdt_expire(int irq, void *data);
 
 int wm_adsp_event(struct snd_soc_dapm_widget *w,