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 c4ecb0e6911af196d24bab7b925237411591fae7..67cac60a859dd39367b1cc9994e64651302189db 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 f5fbadc5e7e25c963089de7a167dcb2cac4c9d06..ae28d9907c30f58f2bd5a1ee8588b8b03fb9c399 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 3b03d1eb986f05876d08635d28c2dd0b8acf686a..aa634ef6c9f511793a93695812f1183ed6686de6 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,