Merge tag 'asoc-v3.15' into asoc-next
ASoC: Updates for v3.15 Quite a busy release for ASoC this time, more on janitorial work than exciting new features but welcome nontheless: - Lots of cleanups from Takashi for enumerations; the original API for these was error prone so he's refactored lots of code to use more modern APIs which avoid issues. - Elimination of the ASoC level wrappers for I2C and SPI moving us closer to converting to regmap completely and avoiding some randconfig hassle. - Provide both manually and transparently locked DAPM APIs rather than a mix of the two fixing some concurrency issues. - Start converting CODEC drivers to use separate bus interface drivers rather than having them all in one file helping avoid dependency issues. - DPCM support for Intel Haswell and Bay Trail platforms. - Lots of work on improvements for simple-card, DaVinci and the Renesas rcar drivers. - New drivers for Analog Devices ADAU1977, TI PCM512x and parts of the CSR SiRF SoC. # gpg: Signature made Wed 12 Mar 2014 23:05:45 GMT using RSA key ID 7EA229BD # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>" # gpg: aka "Mark Brown <broonie@debian.org>" # gpg: aka "Mark Brown <broonie@kernel.org>" # gpg: aka "Mark Brown <broonie@tardis.ed.ac.uk>" # gpg: aka "Mark Brown <broonie@linaro.org>" # gpg: aka "Mark Brown <Mark.Brown@linaro.org>"
This commit is contained in:
@@ -278,13 +278,13 @@ static const DECLARE_TLV_DB_SCALE(attn_tlv, -6300, 100, 1);
|
||||
static const char * const cs42l73_pgaa_text[] = { "Line A", "Mic 1" };
|
||||
static const char * const cs42l73_pgab_text[] = { "Line B", "Mic 2" };
|
||||
|
||||
static const struct soc_enum pgaa_enum =
|
||||
SOC_ENUM_SINGLE(CS42L73_ADCIPC, 3,
|
||||
ARRAY_SIZE(cs42l73_pgaa_text), cs42l73_pgaa_text);
|
||||
static SOC_ENUM_SINGLE_DECL(pgaa_enum,
|
||||
CS42L73_ADCIPC, 3,
|
||||
cs42l73_pgaa_text);
|
||||
|
||||
static const struct soc_enum pgab_enum =
|
||||
SOC_ENUM_SINGLE(CS42L73_ADCIPC, 7,
|
||||
ARRAY_SIZE(cs42l73_pgab_text), cs42l73_pgab_text);
|
||||
static SOC_ENUM_SINGLE_DECL(pgab_enum,
|
||||
CS42L73_ADCIPC, 7,
|
||||
cs42l73_pgab_text);
|
||||
|
||||
static const struct snd_kcontrol_new pgaa_mux =
|
||||
SOC_DAPM_ENUM("Left Analog Input Capture Mux", pgaa_enum);
|
||||
@@ -309,9 +309,9 @@ static const struct snd_kcontrol_new input_right_mixer[] = {
|
||||
static const char * const cs42l73_ng_delay_text[] = {
|
||||
"50ms", "100ms", "150ms", "200ms" };
|
||||
|
||||
static const struct soc_enum ng_delay_enum =
|
||||
SOC_ENUM_SINGLE(CS42L73_NGCAB, 0,
|
||||
ARRAY_SIZE(cs42l73_ng_delay_text), cs42l73_ng_delay_text);
|
||||
static SOC_ENUM_SINGLE_DECL(ng_delay_enum,
|
||||
CS42L73_NGCAB, 0,
|
||||
cs42l73_ng_delay_text);
|
||||
|
||||
static const char * const cs42l73_mono_mix_texts[] = {
|
||||
"Left", "Right", "Mono Mix"};
|
||||
@@ -357,19 +357,19 @@ static const struct snd_kcontrol_new esl_xsp_mixer =
|
||||
static const char * const cs42l73_ip_swap_text[] = {
|
||||
"Stereo", "Mono A", "Mono B", "Swap A-B"};
|
||||
|
||||
static const struct soc_enum ip_swap_enum =
|
||||
SOC_ENUM_SINGLE(CS42L73_MIOPC, 6,
|
||||
ARRAY_SIZE(cs42l73_ip_swap_text), cs42l73_ip_swap_text);
|
||||
static SOC_ENUM_SINGLE_DECL(ip_swap_enum,
|
||||
CS42L73_MIOPC, 6,
|
||||
cs42l73_ip_swap_text);
|
||||
|
||||
static const char * const cs42l73_spo_mixer_text[] = {"Mono", "Stereo"};
|
||||
|
||||
static const struct soc_enum vsp_output_mux_enum =
|
||||
SOC_ENUM_SINGLE(CS42L73_MIXERCTL, 5,
|
||||
ARRAY_SIZE(cs42l73_spo_mixer_text), cs42l73_spo_mixer_text);
|
||||
static SOC_ENUM_SINGLE_DECL(vsp_output_mux_enum,
|
||||
CS42L73_MIXERCTL, 5,
|
||||
cs42l73_spo_mixer_text);
|
||||
|
||||
static const struct soc_enum xsp_output_mux_enum =
|
||||
SOC_ENUM_SINGLE(CS42L73_MIXERCTL, 4,
|
||||
ARRAY_SIZE(cs42l73_spo_mixer_text), cs42l73_spo_mixer_text);
|
||||
static SOC_ENUM_SINGLE_DECL(xsp_output_mux_enum,
|
||||
CS42L73_MIXERCTL, 4,
|
||||
cs42l73_spo_mixer_text);
|
||||
|
||||
static const struct snd_kcontrol_new vsp_output_mux =
|
||||
SOC_DAPM_ENUM("Route", vsp_output_mux_enum);
|
||||
@@ -1108,7 +1108,7 @@ static int cs42l73_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static u32 cs42l73_asrc_rates[] = {
|
||||
static const unsigned int cs42l73_asrc_rates[] = {
|
||||
8000, 11025, 12000, 16000, 22050,
|
||||
24000, 32000, 44100, 48000
|
||||
};
|
||||
@@ -1241,7 +1241,7 @@ static int cs42l73_set_tristate(struct snd_soc_dai *dai, int tristate)
|
||||
0x7F, tristate << 7);
|
||||
}
|
||||
|
||||
static struct snd_pcm_hw_constraint_list constraints_12_24 = {
|
||||
static const struct snd_pcm_hw_constraint_list constraints_12_24 = {
|
||||
.count = ARRAY_SIZE(cs42l73_asrc_rates),
|
||||
.list = cs42l73_asrc_rates,
|
||||
};
|
||||
@@ -1255,9 +1255,6 @@ static int cs42l73_pcm_startup(struct snd_pcm_substream *substream,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* SNDRV_PCM_RATE_KNOT -> 12000, 24000 Hz, limit with constraint list */
|
||||
#define CS42L73_RATES (SNDRV_PCM_RATE_8000_48000 | SNDRV_PCM_RATE_KNOT)
|
||||
|
||||
|
||||
#define CS42L73_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\
|
||||
SNDRV_PCM_FMTBIT_S24_LE)
|
||||
@@ -1278,14 +1275,14 @@ static struct snd_soc_dai_driver cs42l73_dai[] = {
|
||||
.stream_name = "XSP Playback",
|
||||
.channels_min = 1,
|
||||
.channels_max = 2,
|
||||
.rates = CS42L73_RATES,
|
||||
.rates = SNDRV_PCM_RATE_KNOT,
|
||||
.formats = CS42L73_FORMATS,
|
||||
},
|
||||
.capture = {
|
||||
.stream_name = "XSP Capture",
|
||||
.channels_min = 1,
|
||||
.channels_max = 2,
|
||||
.rates = CS42L73_RATES,
|
||||
.rates = SNDRV_PCM_RATE_KNOT,
|
||||
.formats = CS42L73_FORMATS,
|
||||
},
|
||||
.ops = &cs42l73_ops,
|
||||
@@ -1298,14 +1295,14 @@ static struct snd_soc_dai_driver cs42l73_dai[] = {
|
||||
.stream_name = "ASP Playback",
|
||||
.channels_min = 2,
|
||||
.channels_max = 2,
|
||||
.rates = CS42L73_RATES,
|
||||
.rates = SNDRV_PCM_RATE_KNOT,
|
||||
.formats = CS42L73_FORMATS,
|
||||
},
|
||||
.capture = {
|
||||
.stream_name = "ASP Capture",
|
||||
.channels_min = 2,
|
||||
.channels_max = 2,
|
||||
.rates = CS42L73_RATES,
|
||||
.rates = SNDRV_PCM_RATE_KNOT,
|
||||
.formats = CS42L73_FORMATS,
|
||||
},
|
||||
.ops = &cs42l73_ops,
|
||||
@@ -1318,14 +1315,14 @@ static struct snd_soc_dai_driver cs42l73_dai[] = {
|
||||
.stream_name = "VSP Playback",
|
||||
.channels_min = 1,
|
||||
.channels_max = 2,
|
||||
.rates = CS42L73_RATES,
|
||||
.rates = SNDRV_PCM_RATE_KNOT,
|
||||
.formats = CS42L73_FORMATS,
|
||||
},
|
||||
.capture = {
|
||||
.stream_name = "VSP Capture",
|
||||
.channels_min = 1,
|
||||
.channels_max = 2,
|
||||
.rates = CS42L73_RATES,
|
||||
.rates = SNDRV_PCM_RATE_KNOT,
|
||||
.formats = CS42L73_FORMATS,
|
||||
},
|
||||
.ops = &cs42l73_ops,
|
||||
|
Reference in New Issue
Block a user