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);
 
                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]);
                }
 
        }
 }
 
-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;
 }
 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[] = {
 
 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,