ASoC: wm5100: Set the DAI base address in the DAI drivers
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 1 May 2012 19:03:52 +0000 (20:03 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 2 May 2012 14:44:11 +0000 (15:44 +0100)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
sound/soc/codecs/wm5100.c

index 0594636..4f2e0f8 100644 (file)
@@ -1265,29 +1265,12 @@ static const __devinitdata struct reg_default wm5100_reva_patches[] = {
        { WM5100_AUDIO_IF_3_19, 1 },
 };
 
-static int wm5100_dai_to_base(struct snd_soc_dai *dai)
-{
-       switch (dai->id) {
-       case 0:
-               return WM5100_AUDIO_IF_1_1 - 1;
-       case 1:
-               return WM5100_AUDIO_IF_2_1 - 1;
-       case 2:
-               return WM5100_AUDIO_IF_3_1 - 1;
-       default:
-               BUG();
-               return -EINVAL;
-       }
-}
-
 static int wm5100_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
 {
        struct snd_soc_codec *codec = dai->codec;
        int lrclk, bclk, mask, base;
 
-       base = wm5100_dai_to_base(dai);
-       if (base < 0)
-               return base;
+       base = dai->driver->base;
 
        lrclk = 0;
        bclk = 0;
@@ -1414,9 +1397,7 @@ static int wm5100_hw_params(struct snd_pcm_substream *substream,
        int i, base, bclk, aif_rate, lrclk, wl, fl, sr;
        int *bclk_rates;
 
-       base = wm5100_dai_to_base(dai);
-       if (base < 0)
-               return base;
+       base = dai->driver->base;
 
        /* Data sizes if not using TDM */
        wl = snd_pcm_format_width(params_format(params));
@@ -1897,6 +1878,7 @@ static int wm5100_set_fll(struct snd_soc_codec *codec, int fll_id, int source,
 static struct snd_soc_dai_driver wm5100_dai[] = {
        {
                .name = "wm5100-aif1",
+               .base = WM5100_AUDIO_IF_1_1 - 1,
                .playback = {
                        .stream_name = "AIF1 Playback",
                        .channels_min = 2,
@@ -1916,6 +1898,7 @@ static struct snd_soc_dai_driver wm5100_dai[] = {
        {
                .name = "wm5100-aif2",
                .id = 1,
+               .base = WM5100_AUDIO_IF_2_1 - 1,
                .playback = {
                        .stream_name = "AIF2 Playback",
                        .channels_min = 2,
@@ -1935,6 +1918,7 @@ static struct snd_soc_dai_driver wm5100_dai[] = {
        {
                .name = "wm5100-aif3",
                .id = 2,
+               .base = WM5100_AUDIO_IF_3_1 - 1,
                .playback = {
                        .stream_name = "AIF3 Playback",
                        .channels_min = 2,