ASoC: wm_adsp: Factor out common init code
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Mon, 12 Nov 2018 13:36:39 +0000 (13:36 +0000)
committerMark Brown <broonie@kernel.org>
Tue, 13 Nov 2018 18:08:59 +0000 (10:08 -0800)
Factor out the duplicated initialization statements from
wm_adsp1_init() and wm_adsp2_init() into new function
wm_adsp_common_init().

The entire content of wm_adsp1_init() is the common code
but it is convenient to retain this exported function
to hide what we currently treat as common init (which might
change in the future) and also make clear the difference
between an ADSP1 entry point and common code.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wm_adsp.c

index a53dc174bbf0702c2876e19ccf3d7e8b45b71e94..0ed44e5c58f7c2ca1ccb656061bc5afa5d982c81 100644 (file)
@@ -2416,7 +2416,7 @@ static int wm_adsp_create_name(struct wm_adsp *dsp)
        return 0;
 }
 
-int wm_adsp1_init(struct wm_adsp *dsp)
+static int wm_adsp_common_init(struct wm_adsp *dsp)
 {
        int ret;
 
@@ -2425,11 +2425,17 @@ int wm_adsp1_init(struct wm_adsp *dsp)
                return ret;
 
        INIT_LIST_HEAD(&dsp->alg_regions);
+       INIT_LIST_HEAD(&dsp->ctl_list);
 
        mutex_init(&dsp->pwr_lock);
 
        return 0;
 }
+
+int wm_adsp1_init(struct wm_adsp *dsp)
+{
+       return wm_adsp_common_init(dsp);
+}
 EXPORT_SYMBOL_GPL(wm_adsp1_init);
 
 int wm_adsp1_event(struct snd_soc_dapm_widget *w,
@@ -2914,7 +2920,7 @@ int wm_adsp2_init(struct wm_adsp *dsp)
 {
        int ret;
 
-       ret = wm_adsp_create_name(dsp);
+       ret = wm_adsp_common_init(dsp);
        if (ret)
                return ret;
 
@@ -2936,12 +2942,8 @@ int wm_adsp2_init(struct wm_adsp *dsp)
                break;
        }
 
-       INIT_LIST_HEAD(&dsp->alg_regions);
-       INIT_LIST_HEAD(&dsp->ctl_list);
        INIT_WORK(&dsp->boot_work, wm_adsp2_boot_work);
 
-       mutex_init(&dsp->pwr_lock);
-
        return 0;
 }
 EXPORT_SYMBOL_GPL(wm_adsp2_init);