Skip to content

Commit

Permalink
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: usb-audio: automatically detect feedback format
  ASoC: sound/wm9090: add missing __devexit marker
  ASoC: sound/max98088: add missing __devexit marker
  ASoC: sound/ad73311: add missing __devexit marker
  ASoC: fsl - fix build error in pcm030-audio-fabric.c
  sound/oss/sb_ess.c: delete double assignment
  ALSA: hda - Change BTL amp level on some HP notebooks
  • Loading branch information
Linus Torvalds committed Oct 28, 2010
2 parents a042e26 + 89e1e66 commit 7c5814c
Show file tree
Hide file tree
Showing 10 changed files with 149 additions and 118 deletions.
1 change: 0 additions & 1 deletion sound/oss/sb_ess.c
Original file line number Diff line number Diff line change
Expand Up @@ -1721,7 +1721,6 @@ printk (KERN_INFO "FKS: es_rec_set_recmask mask = %x\n", mask);
left = value & 0x000000ff;
right = (value & 0x0000ff00) >> 8;
} else { /* Turn it off (3) */
left = 0;
left = 0;
right = 0;
}
Expand Down
78 changes: 78 additions & 0 deletions sound/pci/hda/patch_sigmatel.c
Original file line number Diff line number Diff line change
Expand Up @@ -5326,6 +5326,82 @@ static int patch_stac92hd73xx(struct hda_codec *codec)
return 0;
}

static int stac92hd83xxx_set_system_btl_amp(struct hda_codec *codec)
{
if (codec->vendor_id != 0x111d7605 &&
codec->vendor_id != 0x111d76d1)
return 0;

switch (codec->subsystem_id) {
case 0x103c1618:
case 0x103c1619:
case 0x103c161a:
case 0x103c161b:
case 0x103c161c:
case 0x103c161d:
case 0x103c161e:
case 0x103c161f:
case 0x103c1620:
case 0x103c1621:
case 0x103c1622:
case 0x103c1623:

case 0x103c162a:
case 0x103c162b:

case 0x103c1630:
case 0x103c1631:

case 0x103c1633:

case 0x103c1635:

case 0x103c164f:

case 0x103c1676:
case 0x103c1677:
case 0x103c1678:
case 0x103c1679:
case 0x103c167a:
case 0x103c167b:
case 0x103c167c:
case 0x103c167d:
case 0x103c167e:
case 0x103c167f:
case 0x103c1680:
case 0x103c1681:
case 0x103c1682:
case 0x103c1683:
case 0x103c1684:
case 0x103c1685:
case 0x103c1686:
case 0x103c1687:
case 0x103c1688:
case 0x103c1689:
case 0x103c168a:
case 0x103c168b:
case 0x103c168c:
case 0x103c168d:
case 0x103c168e:
case 0x103c168f:
case 0x103c1690:
case 0x103c1691:
case 0x103c1692:

case 0x103c3587:
case 0x103c3588:
case 0x103c3589:
case 0x103c358a:

case 0x103c3667:
case 0x103c3668:
/* set BTL amp level to 13.43dB for louder speaker output */
return snd_hda_codec_write_cache(codec, codec->afg, 0,
0x7F4, 0x14);
}
return 0;
}

static int patch_stac92hd83xxx(struct hda_codec *codec)
{
struct sigmatel_spec *spec;
Expand Down Expand Up @@ -5452,6 +5528,8 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
AC_VERB_SET_CONNECT_SEL, num_dacs);
}

stac92hd83xxx_set_system_btl_amp(codec);

codec->proc_widget_hook = stac92hd_proc_hook;

return 0;
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/ad73311.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ static int ad73311_probe(struct platform_device *pdev)
&soc_codec_dev_ad73311, &ad73311_dai, 1);
}

static int ad73311_remove(struct platform_device *pdev)
static int __devexit ad73311_remove(struct platform_device *pdev)
{
snd_soc_unregister_codec(&pdev->dev);
return 0;
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/max98088.c
Original file line number Diff line number Diff line change
Expand Up @@ -2051,7 +2051,7 @@ static int max98088_i2c_probe(struct i2c_client *i2c,
return ret;
}

static int max98088_i2c_remove(struct i2c_client *client)
static int __devexit max98088_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
kfree(i2c_get_clientdata(client));
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/wm9090.c
Original file line number Diff line number Diff line change
Expand Up @@ -665,7 +665,7 @@ static int wm9090_i2c_probe(struct i2c_client *i2c,
return ret;
}

static int wm9090_i2c_remove(struct i2c_client *i2c)
static int __devexit wm9090_i2c_remove(struct i2c_client *i2c)
{
struct wm9090_priv *wm9090 = i2c_get_clientdata(i2c);

Expand Down
3 changes: 1 addition & 2 deletions sound/soc/fsl/pcm030-audio-fabric.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
#include <sound/pcm_params.h>
#include <sound/initval.h>
#include <sound/soc.h>
#include <sound/soc-of-simple.h>

#include "mpc5200_dma.h"
#include "mpc5200_psc_ac97.h"
Expand All @@ -49,7 +48,7 @@ static struct snd_soc_dai_link pcm030_fabric_dai[] = {
.codec_dai_name = "wm9712-aux",
.cpu_dai_name = "mpc5200-psc-ac97.1",
.platform_name = "mpc5200-pcm-audio",
..codec_name = "wm9712-codec",
.codec_name = "wm9712-codec",
},
};

Expand Down
2 changes: 2 additions & 0 deletions sound/usb/card.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,14 @@ struct snd_usb_substream {
unsigned int syncinterval; /* P for adaptive mode, 0 otherwise */
unsigned int freqn; /* nominal sampling rate in fs/fps in Q16.16 format */
unsigned int freqm; /* momentary sampling rate in fs/fps in Q16.16 format */
int freqshift; /* how much to shift the feedback value to get Q16.16 */
unsigned int freqmax; /* maximum sampling rate, used for buffer management */
unsigned int phase; /* phase accumulator */
unsigned int maxpacksize; /* max packet size in bytes */
unsigned int maxframesize; /* max packet size in frames */
unsigned int curpacksize; /* current packet size in bytes (for capture) */
unsigned int curframesize; /* current packet size in frames (for capture) */
unsigned int syncmaxsize; /* sync endpoint packet size */
unsigned int fill_max: 1; /* fill max packet size always */
unsigned int txfr_quirk:1; /* allow sub-frame alignment */
unsigned int fmt_type; /* USB audio format type (1-3) */
Expand Down
2 changes: 2 additions & 0 deletions sound/usb/pcm.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt)
subs->datainterval = fmt->datainterval;
subs->syncpipe = subs->syncinterval = 0;
subs->maxpacksize = fmt->maxpacksize;
subs->syncmaxsize = 0;
subs->fill_max = 0;

/* we need a sync pipe in async OUT or adaptive IN mode */
Expand Down Expand Up @@ -283,6 +284,7 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt)
subs->syncinterval = get_endpoint(alts, 1)->bInterval - 1;
else
subs->syncinterval = 3;
subs->syncmaxsize = le16_to_cpu(get_endpoint(alts, 1)->wMaxPacketSize);
}

/* always fill max packet size */
Expand Down
5 changes: 5 additions & 0 deletions sound/usb/proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,11 @@ static void proc_dump_substream_status(struct snd_usb_substream *subs, struct sn
? get_full_speed_hz(subs->freqm)
: get_high_speed_hz(subs->freqm),
subs->freqm >> 16, subs->freqm & 0xffff);
if (subs->freqshift != INT_MIN)
snd_iprintf(buffer, " Feedback Format = %d.%d\n",
(subs->syncmaxsize > 3 ? 32 : 24)
- (16 - subs->freqshift),
16 - subs->freqshift);
} else {
snd_iprintf(buffer, " Status: Stop\n");
}
Expand Down
Loading

0 comments on commit 7c5814c

Please sign in to comment.