Skip to content

Commit

Permalink
Merge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git…
Browse files Browse the repository at this point in the history
…/broonie/sound into for-linus

ASoC: Updates for 3.4

Nothing terribly exciting here, a bunch of small and simple fixes
scattered around the place.
  • Loading branch information
tiwai committed May 5, 2012
2 parents cff7873 + 0641208 commit 20c7694
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 17 deletions.
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/sound/sgtl5000.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Required properties:
- compatible : "fsl,sgtl5000".

- reg : the I2C address of the device

Example:

codec: sgtl5000@0a {
Expand Down
2 changes: 2 additions & 0 deletions sound/soc/blackfin/bf5xx-ssm2602.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ static struct snd_soc_dai_link bf5xx_ssm2602_dai[] = {
.platform_name = "bfin-i2s-pcm-audio",
.codec_name = "ssm2602.0-001b",
.ops = &bf5xx_ssm2602_ops,
.dai_fmt = BF5XX_SSM2602_DAIFMT,
},
{
.name = "ssm2602",
Expand All @@ -108,6 +109,7 @@ static struct snd_soc_dai_link bf5xx_ssm2602_dai[] = {
.platform_name = "bfin-i2s-pcm-audio",
.codec_name = "ssm2602.0-001b",
.ops = &bf5xx_ssm2602_ops,
.dai_fmt = BF5XX_SSM2602_DAIFMT,
},
};

Expand Down
4 changes: 2 additions & 2 deletions sound/soc/codecs/tlv320aic23.c
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@ static int tlv320aic23_set_dai_sysclk(struct snd_soc_dai *codec_dai,
static int tlv320aic23_set_bias_level(struct snd_soc_codec *codec,
enum snd_soc_bias_level level)
{
u16 reg = snd_soc_read(codec, TLV320AIC23_PWR) & 0xff7f;
u16 reg = snd_soc_read(codec, TLV320AIC23_PWR) & 0x17f;

switch (level) {
case SND_SOC_BIAS_ON:
Expand All @@ -491,7 +491,7 @@ static int tlv320aic23_set_bias_level(struct snd_soc_codec *codec,
case SND_SOC_BIAS_OFF:
/* everything off, dac mute, inactive */
snd_soc_write(codec, TLV320AIC23_ACTIVE, 0x0);
snd_soc_write(codec, TLV320AIC23_PWR, 0xffff);
snd_soc_write(codec, TLV320AIC23_PWR, 0x1ff);
break;
}
codec->dapm.bias_level = level;
Expand Down
11 changes: 6 additions & 5 deletions sound/soc/codecs/wm8350.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ struct wm8350_jack_data {
};

struct wm8350_data {
struct snd_soc_codec codec;
struct wm8350 *wm8350;
struct wm8350_output out1;
struct wm8350_output out2;
struct wm8350_jack_data hpl;
Expand Down Expand Up @@ -1309,7 +1309,7 @@ static void wm8350_hp_work(struct wm8350_data *priv,
struct wm8350_jack_data *jack,
u16 mask)
{
struct wm8350 *wm8350 = priv->codec.control_data;
struct wm8350 *wm8350 = priv->wm8350;
u16 reg;
int report;

Expand Down Expand Up @@ -1342,7 +1342,7 @@ static void wm8350_hpr_work(struct work_struct *work)
static irqreturn_t wm8350_hp_jack_handler(int irq, void *data)
{
struct wm8350_data *priv = data;
struct wm8350 *wm8350 = priv->codec.control_data;
struct wm8350 *wm8350 = priv->wm8350;
struct wm8350_jack_data *jack = NULL;

switch (irq - wm8350->irq_base) {
Expand Down Expand Up @@ -1427,7 +1427,7 @@ EXPORT_SYMBOL_GPL(wm8350_hp_jack_detect);
static irqreturn_t wm8350_mic_handler(int irq, void *data)
{
struct wm8350_data *priv = data;
struct wm8350 *wm8350 = priv->codec.control_data;
struct wm8350 *wm8350 = priv->wm8350;
u16 reg;
int report = 0;

Expand Down Expand Up @@ -1536,6 +1536,8 @@ static int wm8350_codec_probe(struct snd_soc_codec *codec)
return -ENOMEM;
snd_soc_codec_set_drvdata(codec, priv);

priv->wm8350 = wm8350;

for (i = 0; i < ARRAY_SIZE(supply_names); i++)
priv->supplies[i].supply = supply_names[i];

Expand All @@ -1544,7 +1546,6 @@ static int wm8350_codec_probe(struct snd_soc_codec *codec)
if (ret != 0)
return ret;

wm8350->codec.codec = codec;
codec->control_data = wm8350;

/* Put the codec into reset if it wasn't already */
Expand Down
15 changes: 9 additions & 6 deletions sound/soc/codecs/wm_hubs.c
Original file line number Diff line number Diff line change
Expand Up @@ -1035,7 +1035,7 @@ void wm_hubs_set_bias_level(struct snd_soc_codec *codec,
enum snd_soc_bias_level level)
{
struct wm_hubs_data *hubs = snd_soc_codec_get_drvdata(codec);
int val;
int mask, val;

switch (level) {
case SND_SOC_BIAS_STANDBY:
Expand All @@ -1047,6 +1047,13 @@ void wm_hubs_set_bias_level(struct snd_soc_codec *codec,
case SND_SOC_BIAS_ON:
/* Turn off any unneded single ended outputs */
val = 0;
mask = 0;

if (hubs->lineout1_se)
mask |= WM8993_LINEOUT1N_ENA | WM8993_LINEOUT1P_ENA;

if (hubs->lineout2_se)
mask |= WM8993_LINEOUT2N_ENA | WM8993_LINEOUT2P_ENA;

if (hubs->lineout1_se && hubs->lineout1n_ena)
val |= WM8993_LINEOUT1N_ENA;
Expand All @@ -1061,11 +1068,7 @@ void wm_hubs_set_bias_level(struct snd_soc_codec *codec,
val |= WM8993_LINEOUT2P_ENA;

snd_soc_update_bits(codec, WM8993_POWER_MANAGEMENT_3,
WM8993_LINEOUT1N_ENA |
WM8993_LINEOUT1P_ENA |
WM8993_LINEOUT2N_ENA |
WM8993_LINEOUT2P_ENA,
val);
mask, val);

/* Remove the input clamps */
snd_soc_update_bits(codec, WM8993_INPUTS_CLAMP_REG,
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/samsung/s3c2412-i2s.c
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ static struct snd_soc_dai_driver s3c2412_i2s_dai = {

static __devinit int s3c2412_iis_dev_probe(struct platform_device *pdev)
{
return snd_soc_register_dai(&pdev->dev, &s3c2412_i2s_dai);
return s3c_i2sv2_register_dai(&pdev->dev, -1, &s3c2412_i2s_dai);
}

static __devexit int s3c2412_iis_dev_remove(struct platform_device *pdev)
Expand Down
6 changes: 3 additions & 3 deletions sound/soc/soc-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -3631,10 +3631,10 @@ int snd_soc_of_parse_audio_routing(struct snd_soc_card *card,
int i, ret;

num_routes = of_property_count_strings(np, propname);
if (num_routes & 1) {
if (num_routes < 0 || num_routes & 1) {
dev_err(card->dev,
"Property '%s's length is not even\n",
propname);
"Property '%s' does not exist or its length is not even\n",
propname);
return -EINVAL;
}
num_routes /= 2;
Expand Down

0 comments on commit 20c7694

Please sign in to comment.