Merge branch 'topic/asoc' into for-linus
Conflicts: sound/soc/codecs/ad1938.c
This commit is contained in:
@@ -175,7 +175,7 @@ static int uda134x_startup(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||
struct snd_soc_device *socdev = rtd->socdev;
|
||||
struct snd_soc_codec *codec = socdev->card->codec;
|
||||
struct uda134x_priv *uda134x = codec->private_data;
|
||||
struct uda134x_priv *uda134x = snd_soc_codec_get_drvdata(codec);
|
||||
struct snd_pcm_runtime *master_runtime;
|
||||
|
||||
if (uda134x->master_substream) {
|
||||
@@ -208,7 +208,7 @@ static void uda134x_shutdown(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||
struct snd_soc_device *socdev = rtd->socdev;
|
||||
struct snd_soc_codec *codec = socdev->card->codec;
|
||||
struct uda134x_priv *uda134x = codec->private_data;
|
||||
struct uda134x_priv *uda134x = snd_soc_codec_get_drvdata(codec);
|
||||
|
||||
if (uda134x->master_substream == substream)
|
||||
uda134x->master_substream = uda134x->slave_substream;
|
||||
@@ -223,7 +223,7 @@ static int uda134x_hw_params(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||
struct snd_soc_device *socdev = rtd->socdev;
|
||||
struct snd_soc_codec *codec = socdev->card->codec;
|
||||
struct uda134x_priv *uda134x = codec->private_data;
|
||||
struct uda134x_priv *uda134x = snd_soc_codec_get_drvdata(codec);
|
||||
u8 hw_params;
|
||||
|
||||
if (substream == uda134x->slave_substream) {
|
||||
@@ -295,7 +295,7 @@ static int uda134x_set_dai_sysclk(struct snd_soc_dai *codec_dai,
|
||||
int clk_id, unsigned int freq, int dir)
|
||||
{
|
||||
struct snd_soc_codec *codec = codec_dai->codec;
|
||||
struct uda134x_priv *uda134x = codec->private_data;
|
||||
struct uda134x_priv *uda134x = snd_soc_codec_get_drvdata(codec);
|
||||
|
||||
pr_debug("%s clk_id: %d, freq: %u, dir: %d\n", __func__,
|
||||
clk_id, freq, dir);
|
||||
@@ -317,7 +317,7 @@ static int uda134x_set_dai_fmt(struct snd_soc_dai *codec_dai,
|
||||
unsigned int fmt)
|
||||
{
|
||||
struct snd_soc_codec *codec = codec_dai->codec;
|
||||
struct uda134x_priv *uda134x = codec->private_data;
|
||||
struct uda134x_priv *uda134x = snd_soc_codec_get_drvdata(codec);
|
||||
|
||||
pr_debug("%s fmt: %08X\n", __func__, fmt);
|
||||
|
||||
@@ -432,6 +432,14 @@ SOC_ENUM("PCM Playback De-emphasis", uda134x_mixer_enum[1]),
|
||||
SOC_SINGLE("DC Filter Enable Switch", UDA134X_STATUS0, 0, 1, 0),
|
||||
};
|
||||
|
||||
static const struct snd_kcontrol_new uda1345_snd_controls[] = {
|
||||
SOC_SINGLE("Master Playback Volume", UDA134X_DATA000, 0, 0x3F, 1),
|
||||
|
||||
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,
|
||||
@@ -487,6 +495,7 @@ static int uda134x_soc_probe(struct platform_device *pdev)
|
||||
case UDA134X_UDA1340:
|
||||
case UDA134X_UDA1341:
|
||||
case UDA134X_UDA1344:
|
||||
case UDA134X_UDA1345:
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "UDA134X SoC codec: "
|
||||
@@ -504,7 +513,7 @@ static int uda134x_soc_probe(struct platform_device *pdev)
|
||||
uda134x = kzalloc(sizeof(struct uda134x_priv), GFP_KERNEL);
|
||||
if (uda134x == NULL)
|
||||
goto priv_err;
|
||||
codec->private_data = uda134x;
|
||||
snd_soc_codec_set_drvdata(codec, uda134x);
|
||||
|
||||
codec->reg_cache = kmemdup(uda134x_reg, sizeof(uda134x_reg),
|
||||
GFP_KERNEL);
|
||||
@@ -552,6 +561,10 @@ static int uda134x_soc_probe(struct platform_device *pdev)
|
||||
ret = snd_soc_add_controls(codec, uda1341_snd_controls,
|
||||
ARRAY_SIZE(uda1341_snd_controls));
|
||||
break;
|
||||
case UDA134X_UDA1345:
|
||||
ret = snd_soc_add_controls(codec, uda1345_snd_controls,
|
||||
ARRAY_SIZE(uda1345_snd_controls));
|
||||
break;
|
||||
default:
|
||||
printk(KERN_ERR "%s unknown codec type: %d",
|
||||
__func__, pd->model);
|
||||
@@ -568,7 +581,7 @@ static int uda134x_soc_probe(struct platform_device *pdev)
|
||||
pcm_err:
|
||||
kfree(codec->reg_cache);
|
||||
reg_err:
|
||||
kfree(codec->private_data);
|
||||
kfree(snd_soc_codec_get_drvdata(codec));
|
||||
priv_err:
|
||||
kfree(codec);
|
||||
return ret;
|
||||
@@ -586,7 +599,7 @@ static int uda134x_soc_remove(struct platform_device *pdev)
|
||||
snd_soc_free_pcms(socdev);
|
||||
snd_soc_dapm_free(socdev);
|
||||
|
||||
kfree(codec->private_data);
|
||||
kfree(snd_soc_codec_get_drvdata(codec));
|
||||
kfree(codec->reg_cache);
|
||||
kfree(codec);
|
||||
|
||||
|
Reference in New Issue
Block a user