You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
ASoC: Merge dai_ops factor out
Merge Eric Maio's patch to merge snd_soc_dai_ops out of line. Fixed merge issues and updated drivers, plus an issue with the ops for the two s3c2443 AC97 DAIs having been merged. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
@@ -203,7 +203,7 @@ struct snd_soc_dai {
|
||||
int (*resume)(struct snd_soc_dai *dai);
|
||||
|
||||
/* ops */
|
||||
struct snd_soc_dai_ops ops;
|
||||
struct snd_soc_dai_ops *ops;
|
||||
|
||||
/* DAI capabilities */
|
||||
struct snd_soc_pcm_stream capture;
|
||||
|
||||
@@ -697,6 +697,15 @@ static int atmel_ssc_resume(struct snd_soc_dai *cpu_dai)
|
||||
#define ATMEL_SSC_FORMATS (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
static struct snd_soc_dai_ops atmel_ssc_dai_ops = {
|
||||
.startup = atmel_ssc_startup,
|
||||
.shutdown = atmel_ssc_shutdown,
|
||||
.prepare = atmel_ssc_prepare,
|
||||
.hw_params = atmel_ssc_hw_params,
|
||||
.set_fmt = atmel_ssc_set_dai_fmt,
|
||||
.set_clkdiv = atmel_ssc_set_dai_clkdiv,
|
||||
};
|
||||
|
||||
struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
|
||||
{ .name = "atmel-ssc0",
|
||||
.id = 0,
|
||||
@@ -712,13 +721,7 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
|
||||
.channels_max = 2,
|
||||
.rates = ATMEL_SSC_RATES,
|
||||
.formats = ATMEL_SSC_FORMATS,},
|
||||
.ops = {
|
||||
.startup = atmel_ssc_startup,
|
||||
.shutdown = atmel_ssc_shutdown,
|
||||
.prepare = atmel_ssc_prepare,
|
||||
.hw_params = atmel_ssc_hw_params,
|
||||
.set_fmt = atmel_ssc_set_dai_fmt,
|
||||
.set_clkdiv = atmel_ssc_set_dai_clkdiv,},
|
||||
.ops = &atmel_ssc_dai_ops,
|
||||
.private_data = &ssc_info[0],
|
||||
},
|
||||
#if NUM_SSC_DEVICES == 3
|
||||
@@ -736,13 +739,7 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
|
||||
.channels_max = 2,
|
||||
.rates = ATMEL_SSC_RATES,
|
||||
.formats = ATMEL_SSC_FORMATS,},
|
||||
.ops = {
|
||||
.startup = atmel_ssc_startup,
|
||||
.shutdown = atmel_ssc_shutdown,
|
||||
.prepare = atmel_ssc_prepare,
|
||||
.hw_params = atmel_ssc_hw_params,
|
||||
.set_fmt = atmel_ssc_set_dai_fmt,
|
||||
.set_clkdiv = atmel_ssc_set_dai_clkdiv,},
|
||||
.ops = &atmel_ssc_dai_ops,
|
||||
.private_data = &ssc_info[1],
|
||||
},
|
||||
{ .name = "atmel-ssc2",
|
||||
@@ -759,13 +756,7 @@ struct snd_soc_dai atmel_ssc_dai[NUM_SSC_DEVICES] = {
|
||||
.channels_max = 2,
|
||||
.rates = ATMEL_SSC_RATES,
|
||||
.formats = ATMEL_SSC_FORMATS,},
|
||||
.ops = {
|
||||
.startup = atmel_ssc_startup,
|
||||
.shutdown = atmel_ssc_shutdown,
|
||||
.prepare = atmel_ssc_prepare,
|
||||
.hw_params = atmel_ssc_hw_params,
|
||||
.set_fmt = atmel_ssc_set_dai_fmt,
|
||||
.set_clkdiv = atmel_ssc_set_dai_clkdiv,},
|
||||
.ops = &atmel_ssc_dai_ops,
|
||||
.private_data = &ssc_info[2],
|
||||
},
|
||||
#endif
|
||||
|
||||
@@ -342,6 +342,11 @@ static int au1xpsc_ac97_resume(struct snd_soc_dai *dai)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct snd_soc_dai_ops au1xpsc_ac97_dai_ops = {
|
||||
.trigger = au1xpsc_ac97_trigger,
|
||||
.hw_params = au1xpsc_ac97_hw_params,
|
||||
};
|
||||
|
||||
struct snd_soc_dai au1xpsc_ac97_dai = {
|
||||
.name = "au1xpsc_ac97",
|
||||
.ac97_control = 1,
|
||||
@@ -361,10 +366,7 @@ struct snd_soc_dai au1xpsc_ac97_dai = {
|
||||
.channels_min = 2,
|
||||
.channels_max = 2,
|
||||
},
|
||||
.ops = {
|
||||
.trigger = au1xpsc_ac97_trigger,
|
||||
.hw_params = au1xpsc_ac97_hw_params,
|
||||
},
|
||||
.ops = &au1xpsc_ac97_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(au1xpsc_ac97_dai);
|
||||
|
||||
|
||||
@@ -367,6 +367,12 @@ static int au1xpsc_i2s_resume(struct snd_soc_dai *cpu_dai)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct snd_soc_dai_ops au1xpsc_i2s_dai_ops = {
|
||||
.trigger = au1xpsc_i2s_trigger,
|
||||
.hw_params = au1xpsc_i2s_hw_params,
|
||||
.set_fmt = au1xpsc_i2s_set_fmt,
|
||||
};
|
||||
|
||||
struct snd_soc_dai au1xpsc_i2s_dai = {
|
||||
.name = "au1xpsc_i2s",
|
||||
.probe = au1xpsc_i2s_probe,
|
||||
@@ -385,11 +391,7 @@ struct snd_soc_dai au1xpsc_i2s_dai = {
|
||||
.channels_min = 2,
|
||||
.channels_max = 8, /* 2 without external help */
|
||||
},
|
||||
.ops = {
|
||||
.trigger = au1xpsc_i2s_trigger,
|
||||
.hw_params = au1xpsc_i2s_hw_params,
|
||||
.set_fmt = au1xpsc_i2s_set_fmt,
|
||||
},
|
||||
.ops = &au1xpsc_i2s_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL(au1xpsc_i2s_dai);
|
||||
|
||||
|
||||
@@ -287,6 +287,13 @@ static int bf5xx_i2s_resume(struct platform_device *pdev,
|
||||
#define BF5XX_I2S_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE |\
|
||||
SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
static struct snd_soc_dai_ops bf5xx_i2s_dai_ops = {
|
||||
.startup = bf5xx_i2s_startup,
|
||||
.shutdown = bf5xx_i2s_shutdown,
|
||||
.hw_params = bf5xx_i2s_hw_params,
|
||||
.set_fmt = bf5xx_i2s_set_dai_fmt,
|
||||
};
|
||||
|
||||
struct snd_soc_dai bf5xx_i2s_dai = {
|
||||
.name = "bf5xx-i2s",
|
||||
.id = 0,
|
||||
@@ -304,12 +311,7 @@ struct snd_soc_dai bf5xx_i2s_dai = {
|
||||
.channels_max = 2,
|
||||
.rates = BF5XX_I2S_RATES,
|
||||
.formats = BF5XX_I2S_FORMATS,},
|
||||
.ops = {
|
||||
.startup = bf5xx_i2s_startup,
|
||||
.shutdown = bf5xx_i2s_shutdown,
|
||||
.hw_params = bf5xx_i2s_hw_params,
|
||||
.set_fmt = bf5xx_i2s_set_dai_fmt,
|
||||
},
|
||||
.ops = &bf5xx_i2s_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(bf5xx_i2s_dai);
|
||||
|
||||
|
||||
@@ -41,6 +41,10 @@ static int ac97_prepare(struct snd_pcm_substream *substream,
|
||||
SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_44100 |\
|
||||
SNDRV_PCM_RATE_48000)
|
||||
|
||||
static struct snd_soc_dai_ops ac97_dai_ops = {
|
||||
.prepare = ac97_prepare,
|
||||
};
|
||||
|
||||
struct snd_soc_dai ac97_dai = {
|
||||
.name = "AC97 HiFi",
|
||||
.ac97_control = 1,
|
||||
@@ -56,8 +60,7 @@ struct snd_soc_dai ac97_dai = {
|
||||
.channels_max = 2,
|
||||
.rates = STD_AC97_RATES,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,},
|
||||
.ops = {
|
||||
.prepare = ac97_prepare,},
|
||||
.ops = &ac97_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(ac97_dai);
|
||||
|
||||
|
||||
@@ -174,6 +174,11 @@ static int ak4104_hw_params(struct snd_pcm_substream *substream,
|
||||
return ak4104_spi_write(codec, AK4104_REG_CHN_STATUS(3), val);
|
||||
}
|
||||
|
||||
static struct snd_soc_dai_ops ak4101_dai_ops = {
|
||||
.hw_params = ak4104_hw_params,
|
||||
.set_fmt = ak4104_set_dai_fmt,
|
||||
};
|
||||
|
||||
struct snd_soc_dai ak4104_dai = {
|
||||
.name = DRV_NAME,
|
||||
.playback = {
|
||||
@@ -187,10 +192,7 @@ struct snd_soc_dai ak4104_dai = {
|
||||
SNDRV_PCM_FMTBIT_S24_3LE |
|
||||
SNDRV_PCM_FMTBIT_S24_LE
|
||||
},
|
||||
.ops = {
|
||||
.hw_params = ak4104_hw_params,
|
||||
.set_fmt = ak4104_set_dai_fmt,
|
||||
}
|
||||
.ops = &ak4101_dai_ops,
|
||||
};
|
||||
|
||||
static struct snd_soc_codec *ak4104_codec;
|
||||
|
||||
@@ -421,6 +421,13 @@ static int ak4535_set_bias_level(struct snd_soc_codec *codec,
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |\
|
||||
SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000)
|
||||
|
||||
static struct snd_soc_dai_ops ak4535_dai_ops = {
|
||||
.hw_params = ak4535_hw_params,
|
||||
.set_fmt = ak4535_set_dai_fmt,
|
||||
.digital_mute = ak4535_mute,
|
||||
.set_sysclk = ak4535_set_dai_sysclk,
|
||||
};
|
||||
|
||||
struct snd_soc_dai ak4535_dai = {
|
||||
.name = "AK4535",
|
||||
.playback = {
|
||||
@@ -435,12 +442,7 @@ struct snd_soc_dai ak4535_dai = {
|
||||
.channels_max = 2,
|
||||
.rates = AK4535_RATES,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,},
|
||||
.ops = {
|
||||
.hw_params = ak4535_hw_params,
|
||||
.set_fmt = ak4535_set_dai_fmt,
|
||||
.digital_mute = ak4535_mute,
|
||||
.set_sysclk = ak4535_set_dai_sysclk,
|
||||
},
|
||||
.ops = &ak4535_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(ak4535_dai);
|
||||
|
||||
|
||||
@@ -502,6 +502,13 @@ static const struct snd_kcontrol_new cs4270_snd_controls[] = {
|
||||
*/
|
||||
static struct snd_soc_codec *cs4270_codec;
|
||||
|
||||
static struct snd_soc_dai_ops cs4270_dai_ops = {
|
||||
.hw_params = cs4270_hw_params,
|
||||
.set_sysclk = cs4270_set_dai_sysclk,
|
||||
.set_fmt = cs4270_set_dai_fmt,
|
||||
.digital_mute = cs4270_mute,
|
||||
};
|
||||
|
||||
struct snd_soc_dai cs4270_dai = {
|
||||
.name = "cs4270",
|
||||
.playback = {
|
||||
@@ -518,12 +525,7 @@ struct snd_soc_dai cs4270_dai = {
|
||||
.rates = 0,
|
||||
.formats = CS4270_FORMATS,
|
||||
},
|
||||
.ops = {
|
||||
.hw_params = cs4270_hw_params,
|
||||
.set_sysclk = cs4270_set_dai_sysclk,
|
||||
.set_fmt = cs4270_set_dai_fmt,
|
||||
.digital_mute = cs4270_mute,
|
||||
},
|
||||
.ops = &cs4270_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(cs4270_dai);
|
||||
|
||||
|
||||
@@ -506,6 +506,16 @@ static int ssm2602_set_bias_level(struct snd_soc_codec *codec,
|
||||
#define SSM2602_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
static struct snd_soc_dai_ops ssm2602_dai_ops = {
|
||||
.startup = ssm2602_startup,
|
||||
.prepare = ssm2602_pcm_prepare,
|
||||
.hw_params = ssm2602_hw_params,
|
||||
.shutdown = ssm2602_shutdown,
|
||||
.digital_mute = ssm2602_mute,
|
||||
.set_sysclk = ssm2602_set_dai_sysclk,
|
||||
.set_fmt = ssm2602_set_dai_fmt,
|
||||
};
|
||||
|
||||
struct snd_soc_dai ssm2602_dai = {
|
||||
.name = "SSM2602",
|
||||
.playback = {
|
||||
@@ -520,15 +530,7 @@ struct snd_soc_dai ssm2602_dai = {
|
||||
.channels_max = 2,
|
||||
.rates = SSM2602_RATES,
|
||||
.formats = SSM2602_FORMATS,},
|
||||
.ops = {
|
||||
.startup = ssm2602_startup,
|
||||
.prepare = ssm2602_pcm_prepare,
|
||||
.hw_params = ssm2602_hw_params,
|
||||
.shutdown = ssm2602_shutdown,
|
||||
.digital_mute = ssm2602_mute,
|
||||
.set_sysclk = ssm2602_set_dai_sysclk,
|
||||
.set_fmt = ssm2602_set_dai_fmt,
|
||||
}
|
||||
.ops = &ssm2602_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(ssm2602_dai);
|
||||
|
||||
|
||||
@@ -580,6 +580,15 @@ static int tlv320aic23_set_bias_level(struct snd_soc_codec *codec,
|
||||
#define AIC23_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
static struct snd_soc_dai_ops tlv320aic23_dai_ops = {
|
||||
.prepare = tlv320aic23_pcm_prepare,
|
||||
.hw_params = tlv320aic23_hw_params,
|
||||
.shutdown = tlv320aic23_shutdown,
|
||||
.digital_mute = tlv320aic23_mute,
|
||||
.set_fmt = tlv320aic23_set_dai_fmt,
|
||||
.set_sysclk = tlv320aic23_set_dai_sysclk,
|
||||
};
|
||||
|
||||
struct snd_soc_dai tlv320aic23_dai = {
|
||||
.name = "tlv320aic23",
|
||||
.playback = {
|
||||
@@ -594,14 +603,7 @@ struct snd_soc_dai tlv320aic23_dai = {
|
||||
.channels_max = 2,
|
||||
.rates = AIC23_RATES,
|
||||
.formats = AIC23_FORMATS,},
|
||||
.ops = {
|
||||
.prepare = tlv320aic23_pcm_prepare,
|
||||
.hw_params = tlv320aic23_hw_params,
|
||||
.shutdown = tlv320aic23_shutdown,
|
||||
.digital_mute = tlv320aic23_mute,
|
||||
.set_fmt = tlv320aic23_set_dai_fmt,
|
||||
.set_sysclk = tlv320aic23_set_dai_sysclk,
|
||||
}
|
||||
.ops = &tlv320aic23_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(tlv320aic23_dai);
|
||||
|
||||
|
||||
@@ -270,6 +270,13 @@ static int aic26_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
|
||||
#define AIC26_FORMATS (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE |\
|
||||
SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE)
|
||||
|
||||
static struct snd_soc_dai_ops aic26_dai_ops = {
|
||||
.hw_params = aic26_hw_params,
|
||||
.digital_mute = aic26_mute,
|
||||
.set_sysclk = aic26_set_sysclk,
|
||||
.set_fmt = aic26_set_fmt,
|
||||
};
|
||||
|
||||
struct snd_soc_dai aic26_dai = {
|
||||
.name = "tlv320aic26",
|
||||
.playback = {
|
||||
@@ -286,12 +293,7 @@ struct snd_soc_dai aic26_dai = {
|
||||
.rates = AIC26_RATES,
|
||||
.formats = AIC26_FORMATS,
|
||||
},
|
||||
.ops = {
|
||||
.hw_params = aic26_hw_params,
|
||||
.digital_mute = aic26_mute,
|
||||
.set_sysclk = aic26_set_sysclk,
|
||||
.set_fmt = aic26_set_fmt,
|
||||
},
|
||||
.ops = &aic26_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(aic26_dai);
|
||||
|
||||
|
||||
@@ -1088,6 +1088,13 @@ EXPORT_SYMBOL_GPL(aic3x_button_pressed);
|
||||
#define AIC3X_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
|
||||
SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
static struct snd_soc_dai_ops aic3x_dai_ops = {
|
||||
.hw_params = aic3x_hw_params,
|
||||
.digital_mute = aic3x_mute,
|
||||
.set_sysclk = aic3x_set_dai_sysclk,
|
||||
.set_fmt = aic3x_set_dai_fmt,
|
||||
};
|
||||
|
||||
struct snd_soc_dai aic3x_dai = {
|
||||
.name = "tlv320aic3x",
|
||||
.playback = {
|
||||
@@ -1102,12 +1109,7 @@ struct snd_soc_dai aic3x_dai = {
|
||||
.channels_max = 2,
|
||||
.rates = AIC3X_RATES,
|
||||
.formats = AIC3X_FORMATS,},
|
||||
.ops = {
|
||||
.hw_params = aic3x_hw_params,
|
||||
.digital_mute = aic3x_mute,
|
||||
.set_sysclk = aic3x_set_dai_sysclk,
|
||||
.set_fmt = aic3x_set_dai_fmt,
|
||||
}
|
||||
.ops = &aic3x_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(aic3x_dai);
|
||||
|
||||
|
||||
@@ -431,6 +431,15 @@ SOC_ENUM("PCM Playback De-emphasis", uda134x_mixer_enum[1]),
|
||||
SOC_SINGLE("DC Filter Enable Switch", UDA134X_STATUS0, 0, 1, 0),
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_ops uda134x_dai_ops = {
|
||||
.startup = uda134x_startup,
|
||||
.shutdown = uda134x_shutdown,
|
||||
.hw_params = uda134x_hw_params,
|
||||
.digital_mute = uda134x_mute,
|
||||
.set_sysclk = uda134x_set_dai_sysclk,
|
||||
.set_fmt = uda134x_set_dai_fmt,
|
||||
};
|
||||
|
||||
struct snd_soc_dai uda134x_dai = {
|
||||
.name = "UDA134X",
|
||||
/* playback capabilities */
|
||||
@@ -450,14 +459,7 @@ struct snd_soc_dai uda134x_dai = {
|
||||
.formats = UDA134X_FORMATS,
|
||||
},
|
||||
/* pcm operations */
|
||||
.ops = {
|
||||
.startup = uda134x_startup,
|
||||
.shutdown = uda134x_shutdown,
|
||||
.hw_params = uda134x_hw_params,
|
||||
.digital_mute = uda134x_mute,
|
||||
.set_sysclk = uda134x_set_dai_sysclk,
|
||||
.set_fmt = uda134x_set_dai_fmt,
|
||||
}
|
||||
.ops = &uda134x_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL(uda134x_dai);
|
||||
|
||||
|
||||
+24
-18
@@ -579,6 +579,27 @@ static int uda1380_set_bias_level(struct snd_soc_codec *codec,
|
||||
SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 |\
|
||||
SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000)
|
||||
|
||||
static struct snd_soc_dai_ops uda1380_dai_ops = {
|
||||
.hw_params = uda1380_pcm_hw_params,
|
||||
.shutdown = uda1380_pcm_shutdown,
|
||||
.trigger = uda1380_trigger,
|
||||
.set_fmt = uda1380_set_dai_fmt_both,
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_ops uda1380_dai_ops_playback = {
|
||||
.hw_params = uda1380_pcm_hw_params,
|
||||
.shutdown = uda1380_pcm_shutdown,
|
||||
.trigger = uda1380_trigger,
|
||||
.set_fmt = uda1380_set_dai_fmt_playback,
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_ops uda1380_dai_ops_capture = {
|
||||
.hw_params = uda1380_pcm_hw_params,
|
||||
.shutdown = uda1380_pcm_shutdown,
|
||||
.trigger = uda1380_trigger,
|
||||
.set_fmt = uda1380_set_dai_fmt_capture,
|
||||
};
|
||||
|
||||
struct snd_soc_dai uda1380_dai[] = {
|
||||
{
|
||||
.name = "UDA1380",
|
||||
@@ -594,12 +615,7 @@ struct snd_soc_dai uda1380_dai[] = {
|
||||
.channels_max = 2,
|
||||
.rates = UDA1380_RATES,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,},
|
||||
.ops = {
|
||||
.trigger = uda1380_trigger,
|
||||
.hw_params = uda1380_pcm_hw_params,
|
||||
.shutdown = uda1380_pcm_shutdown,
|
||||
.set_fmt = uda1380_set_dai_fmt_both,
|
||||
},
|
||||
.ops = &uda1380_dai_ops,
|
||||
},
|
||||
{ /* playback only - dual interface */
|
||||
.name = "UDA1380",
|
||||
@@ -610,12 +626,7 @@ struct snd_soc_dai uda1380_dai[] = {
|
||||
.rates = UDA1380_RATES,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||
},
|
||||
.ops = {
|
||||
.trigger = uda1380_trigger,
|
||||
.hw_params = uda1380_pcm_hw_params,
|
||||
.shutdown = uda1380_pcm_shutdown,
|
||||
.set_fmt = uda1380_set_dai_fmt_playback,
|
||||
},
|
||||
.ops = &uda1380_dai_ops_playback,
|
||||
},
|
||||
{ /* capture only - dual interface*/
|
||||
.name = "UDA1380",
|
||||
@@ -626,12 +637,7 @@ struct snd_soc_dai uda1380_dai[] = {
|
||||
.rates = UDA1380_RATES,
|
||||
.formats = SNDRV_PCM_FMTBIT_S16_LE,
|
||||
},
|
||||
.ops = {
|
||||
.trigger = uda1380_trigger,
|
||||
.hw_params = uda1380_pcm_hw_params,
|
||||
.shutdown = uda1380_pcm_shutdown,
|
||||
.set_fmt = uda1380_set_dai_fmt_capture,
|
||||
},
|
||||
.ops = &uda1380_dai_ops_capture,
|
||||
},
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(uda1380_dai);
|
||||
|
||||
@@ -1538,6 +1538,16 @@ static int wm8350_remove(struct platform_device *pdev)
|
||||
SNDRV_PCM_FMTBIT_S20_3LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE)
|
||||
|
||||
static struct snd_soc_dai_ops wm8350_dai_ops = {
|
||||
.hw_params = wm8350_pcm_hw_params,
|
||||
.digital_mute = wm8350_mute,
|
||||
.trigger = wm8350_pcm_trigger,
|
||||
.set_fmt = wm8350_set_dai_fmt,
|
||||
.set_sysclk = wm8350_set_dai_sysclk,
|
||||
.set_pll = wm8350_set_fll,
|
||||
.set_clkdiv = wm8350_set_clkdiv,
|
||||
};
|
||||
|
||||
struct snd_soc_dai wm8350_dai = {
|
||||
.name = "WM8350",
|
||||
.playback = {
|
||||
@@ -1554,15 +1564,7 @@ struct snd_soc_dai wm8350_dai = {
|
||||
.rates = WM8350_RATES,
|
||||
.formats = WM8350_FORMATS,
|
||||
},
|
||||
.ops = {
|
||||
.hw_params = wm8350_pcm_hw_params,
|
||||
.digital_mute = wm8350_mute,
|
||||
.trigger = wm8350_pcm_trigger,
|
||||
.set_fmt = wm8350_set_dai_fmt,
|
||||
.set_sysclk = wm8350_set_dai_sysclk,
|
||||
.set_pll = wm8350_set_fll,
|
||||
.set_clkdiv = wm8350_set_clkdiv,
|
||||
},
|
||||
.ops = &wm8350_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(wm8350_dai);
|
||||
|
||||
|
||||
@@ -1210,6 +1210,14 @@ static int wm8400_set_bias_level(struct snd_soc_codec *codec,
|
||||
#define WM8400_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE)
|
||||
|
||||
static struct snd_soc_dai_ops wm8400_dai_ops = {
|
||||
.hw_params = wm8400_hw_params,
|
||||
.digital_mute = wm8400_mute,
|
||||
.set_fmt = wm8400_set_dai_fmt,
|
||||
.set_clkdiv = wm8400_set_dai_clkdiv,
|
||||
.set_sysclk = wm8400_set_dai_sysclk,
|
||||
};
|
||||
|
||||
/*
|
||||
* The WM8400 supports 2 different and mutually exclusive DAI
|
||||
* configurations.
|
||||
@@ -1235,13 +1243,7 @@ struct snd_soc_dai wm8400_dai = {
|
||||
.rates = WM8400_RATES,
|
||||
.formats = WM8400_FORMATS,
|
||||
},
|
||||
.ops = {
|
||||
.hw_params = wm8400_hw_params,
|
||||
.digital_mute = wm8400_mute,
|
||||
.set_fmt = wm8400_set_dai_fmt,
|
||||
.set_clkdiv = wm8400_set_dai_clkdiv,
|
||||
.set_sysclk = wm8400_set_dai_sysclk,
|
||||
},
|
||||
.ops = &wm8400_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(wm8400_dai);
|
||||
|
||||
|
||||
@@ -554,6 +554,14 @@ static int wm8510_set_bias_level(struct snd_soc_codec *codec,
|
||||
#define WM8510_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
static struct snd_soc_dai_ops wm8510_dai_ops = {
|
||||
.hw_params = wm8510_pcm_hw_params,
|
||||
.digital_mute = wm8510_mute,
|
||||
.set_fmt = wm8510_set_dai_fmt,
|
||||
.set_clkdiv = wm8510_set_dai_clkdiv,
|
||||
.set_pll = wm8510_set_dai_pll,
|
||||
};
|
||||
|
||||
struct snd_soc_dai wm8510_dai = {
|
||||
.name = "WM8510 HiFi",
|
||||
.playback = {
|
||||
@@ -568,13 +576,7 @@ struct snd_soc_dai wm8510_dai = {
|
||||
.channels_max = 2,
|
||||
.rates = WM8510_RATES,
|
||||
.formats = WM8510_FORMATS,},
|
||||
.ops = {
|
||||
.hw_params = wm8510_pcm_hw_params,
|
||||
.digital_mute = wm8510_mute,
|
||||
.set_fmt = wm8510_set_dai_fmt,
|
||||
.set_clkdiv = wm8510_set_dai_clkdiv,
|
||||
.set_pll = wm8510_set_dai_pll,
|
||||
},
|
||||
.ops = &wm8510_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(wm8510_dai);
|
||||
|
||||
|
||||
+17
-13
@@ -769,6 +769,21 @@ static int wm8580_set_bias_level(struct snd_soc_codec *codec,
|
||||
#define WM8580_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE)
|
||||
|
||||
static struct snd_soc_dai_ops wm8580_dai_ops_playback = {
|
||||
.hw_params = wm8580_paif_hw_params,
|
||||
.set_fmt = wm8580_set_paif_dai_fmt,
|
||||
.set_clkdiv = wm8580_set_dai_clkdiv,
|
||||
.set_pll = wm8580_set_dai_pll,
|
||||
.digital_mute = wm8580_digital_mute,
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_ops wm8580_dai_ops_capture = {
|
||||
.hw_params = wm8580_paif_hw_params,
|
||||
.set_fmt = wm8580_set_paif_dai_fmt,
|
||||
.set_clkdiv = wm8580_set_dai_clkdiv,
|
||||
.set_pll = wm8580_set_dai_pll,
|
||||
};
|
||||
|
||||
struct snd_soc_dai wm8580_dai[] = {
|
||||
{
|
||||
.name = "WM8580 PAIFRX",
|
||||
@@ -780,13 +795,7 @@ struct snd_soc_dai wm8580_dai[] = {
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = WM8580_FORMATS,
|
||||
},
|
||||
.ops = {
|
||||
.hw_params = wm8580_paif_hw_params,
|
||||
.set_fmt = wm8580_set_paif_dai_fmt,
|
||||
.set_clkdiv = wm8580_set_dai_clkdiv,
|
||||
.set_pll = wm8580_set_dai_pll,
|
||||
.digital_mute = wm8580_digital_mute,
|
||||
},
|
||||
.ops = &wm8580_dai_ops_playback,
|
||||
},
|
||||
{
|
||||
.name = "WM8580 PAIFTX",
|
||||
@@ -798,12 +807,7 @@ struct snd_soc_dai wm8580_dai[] = {
|
||||
.rates = SNDRV_PCM_RATE_8000_192000,
|
||||
.formats = WM8580_FORMATS,
|
||||
},
|
||||
.ops = {
|
||||
.hw_params = wm8580_paif_hw_params,
|
||||
.set_fmt = wm8580_set_paif_dai_fmt,
|
||||
.set_clkdiv = wm8580_set_dai_clkdiv,
|
||||
.set_pll = wm8580_set_dai_pll,
|
||||
},
|
||||
.ops = &wm8580_dai_ops_capture,
|
||||
},
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(wm8580_dai);
|
||||
|
||||
@@ -244,6 +244,12 @@ static int wm8728_set_bias_level(struct snd_soc_codec *codec,
|
||||
#define WM8728_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE)
|
||||
|
||||
static struct snd_soc_dai_ops wm8728_dai_ops = {
|
||||
.hw_params = wm8728_hw_params,
|
||||
.digital_mute = wm8728_mute,
|
||||
.set_fmt = wm8728_set_dai_fmt,
|
||||
};
|
||||
|
||||
struct snd_soc_dai wm8728_dai = {
|
||||
.name = "WM8728",
|
||||
.playback = {
|
||||
@@ -253,11 +259,7 @@ struct snd_soc_dai wm8728_dai = {
|
||||
.rates = WM8728_RATES,
|
||||
.formats = WM8728_FORMATS,
|
||||
},
|
||||
.ops = {
|
||||
.hw_params = wm8728_hw_params,
|
||||
.digital_mute = wm8728_mute,
|
||||
.set_fmt = wm8728_set_dai_fmt,
|
||||
}
|
||||
.ops = &wm8728_dai_ops,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(wm8728_dai);
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user