Commit 8aa7ad90 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
  ALSA: sb16 - Fix build errors on MIPS and others with 13bit ioctl size
  ALSA: hdspm - Fix compile warnings with PPC
  ALSA: cs5535 - Fix invalid big-endian conversions
  ALSA: HDMI - fix ELD monitor name length
  ALSA: atmel - update author email for ABDAC, AC97C and AT73C213
  ALSA: HDA: Add model=auto quirk for Acer Aspire 3830TG
  ALSA: HDA: Add a new Conexant codec ID (506c)
parents 6e139047 4f3c7a18
...@@ -99,7 +99,14 @@ struct snd_sb_csp_info { ...@@ -99,7 +99,14 @@ struct snd_sb_csp_info {
/* get CSP information */ /* get CSP information */
#define SNDRV_SB_CSP_IOCTL_INFO _IOR('H', 0x10, struct snd_sb_csp_info) #define SNDRV_SB_CSP_IOCTL_INFO _IOR('H', 0x10, struct snd_sb_csp_info)
/* load microcode to CSP */ /* load microcode to CSP */
#define SNDRV_SB_CSP_IOCTL_LOAD_CODE _IOW('H', 0x11, struct snd_sb_csp_microcode) /* NOTE: struct snd_sb_csp_microcode overflows the max size (13 bits)
* defined for some architectures like MIPS, and it leads to build errors.
* (x86 and co have 14-bit size, thus it's valid, though.)
* As a workaround for skipping the size-limit check, here we don't use the
* normal _IOW() macro but _IOC() with the manual argument.
*/
#define SNDRV_SB_CSP_IOCTL_LOAD_CODE \
_IOC(_IOC_WRITE, 'H', 0x11, sizeof(struct snd_sb_csp_microcode))
/* unload microcode from CSP */ /* unload microcode from CSP */
#define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE _IO('H', 0x12) #define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE _IO('H', 0x12)
/* start CSP */ /* start CSP */
......
...@@ -599,4 +599,4 @@ module_exit(atmel_abdac_exit); ...@@ -599,4 +599,4 @@ module_exit(atmel_abdac_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Driver for Atmel Audio Bitstream DAC (ABDAC)"); MODULE_DESCRIPTION("Driver for Atmel Audio Bitstream DAC (ABDAC)");
MODULE_AUTHOR("Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>"); MODULE_AUTHOR("Hans-Christian Egtvedt <egtvedt@samfundet.no>");
...@@ -1199,4 +1199,4 @@ module_exit(atmel_ac97c_exit); ...@@ -1199,4 +1199,4 @@ module_exit(atmel_ac97c_exit);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Driver for Atmel AC97 controller"); MODULE_DESCRIPTION("Driver for Atmel AC97 controller");
MODULE_AUTHOR("Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>"); MODULE_AUTHOR("Hans-Christian Egtvedt <egtvedt@samfundet.no>");
...@@ -149,7 +149,7 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au, ...@@ -149,7 +149,7 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au,
&((struct cs5535audio_dma_desc *) dma->desc_buf.area)[i]; &((struct cs5535audio_dma_desc *) dma->desc_buf.area)[i];
desc->addr = cpu_to_le32(addr); desc->addr = cpu_to_le32(addr);
desc->size = cpu_to_le32(period_bytes); desc->size = cpu_to_le32(period_bytes);
desc->ctlreserved = cpu_to_le32(PRD_EOP); desc->ctlreserved = cpu_to_le16(PRD_EOP);
desc_addr += sizeof(struct cs5535audio_dma_desc); desc_addr += sizeof(struct cs5535audio_dma_desc);
addr += period_bytes; addr += period_bytes;
} }
...@@ -157,7 +157,7 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au, ...@@ -157,7 +157,7 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au,
lastdesc = &((struct cs5535audio_dma_desc *) dma->desc_buf.area)[periods]; lastdesc = &((struct cs5535audio_dma_desc *) dma->desc_buf.area)[periods];
lastdesc->addr = cpu_to_le32((u32) dma->desc_buf.addr); lastdesc->addr = cpu_to_le32((u32) dma->desc_buf.addr);
lastdesc->size = 0; lastdesc->size = 0;
lastdesc->ctlreserved = cpu_to_le32(PRD_JMP); lastdesc->ctlreserved = cpu_to_le16(PRD_JMP);
jmpprd_addr = cpu_to_le32(lastdesc->addr + jmpprd_addr = cpu_to_le32(lastdesc->addr +
(sizeof(struct cs5535audio_dma_desc)*periods)); (sizeof(struct cs5535audio_dma_desc)*periods));
......
...@@ -294,7 +294,7 @@ static int hdmi_update_eld(struct hdmi_eld *e, ...@@ -294,7 +294,7 @@ static int hdmi_update_eld(struct hdmi_eld *e,
snd_printd(KERN_INFO "HDMI: out of range MNL %d\n", mnl); snd_printd(KERN_INFO "HDMI: out of range MNL %d\n", mnl);
goto out_fail; goto out_fail;
} else } else
strlcpy(e->monitor_name, buf + ELD_FIXED_BYTES, mnl); strlcpy(e->monitor_name, buf + ELD_FIXED_BYTES, mnl + 1);
for (i = 0; i < e->sad_count; i++) { for (i = 0; i < e->sad_count; i++) {
if (ELD_FIXED_BYTES + mnl + 3 * (i + 1) > size) { if (ELD_FIXED_BYTES + mnl + 3 * (i + 1) > size) {
......
...@@ -3074,6 +3074,7 @@ static const char * const cxt5066_models[CXT5066_MODELS] = { ...@@ -3074,6 +3074,7 @@ static const char * const cxt5066_models[CXT5066_MODELS] = {
}; };
static const struct snd_pci_quirk cxt5066_cfg_tbl[] = { static const struct snd_pci_quirk cxt5066_cfg_tbl[] = {
SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT5066_AUTO),
SND_PCI_QUIRK_MASK(0x1025, 0xff00, 0x0400, "Acer", CXT5066_IDEAPAD), SND_PCI_QUIRK_MASK(0x1025, 0xff00, 0x0400, "Acer", CXT5066_IDEAPAD),
SND_PCI_QUIRK(0x1028, 0x02d8, "Dell Vostro", CXT5066_DELL_VOSTRO), SND_PCI_QUIRK(0x1028, 0x02d8, "Dell Vostro", CXT5066_DELL_VOSTRO),
SND_PCI_QUIRK(0x1028, 0x02f5, "Dell Vostro 320", CXT5066_IDEAPAD), SND_PCI_QUIRK(0x1028, 0x02f5, "Dell Vostro 320", CXT5066_IDEAPAD),
...@@ -4389,6 +4390,8 @@ static const struct hda_codec_preset snd_hda_preset_conexant[] = { ...@@ -4389,6 +4390,8 @@ static const struct hda_codec_preset snd_hda_preset_conexant[] = {
.patch = patch_cxt5066 }, .patch = patch_cxt5066 },
{ .id = 0x14f15069, .name = "CX20585", { .id = 0x14f15069, .name = "CX20585",
.patch = patch_cxt5066 }, .patch = patch_cxt5066 },
{ .id = 0x14f1506c, .name = "CX20588",
.patch = patch_cxt5066 },
{ .id = 0x14f1506e, .name = "CX20590", { .id = 0x14f1506e, .name = "CX20590",
.patch = patch_cxt5066 }, .patch = patch_cxt5066 },
{ .id = 0x14f15097, .name = "CX20631", { .id = 0x14f15097, .name = "CX20631",
...@@ -4417,6 +4420,7 @@ MODULE_ALIAS("snd-hda-codec-id:14f15066"); ...@@ -4417,6 +4420,7 @@ MODULE_ALIAS("snd-hda-codec-id:14f15066");
MODULE_ALIAS("snd-hda-codec-id:14f15067"); MODULE_ALIAS("snd-hda-codec-id:14f15067");
MODULE_ALIAS("snd-hda-codec-id:14f15068"); MODULE_ALIAS("snd-hda-codec-id:14f15068");
MODULE_ALIAS("snd-hda-codec-id:14f15069"); MODULE_ALIAS("snd-hda-codec-id:14f15069");
MODULE_ALIAS("snd-hda-codec-id:14f1506c");
MODULE_ALIAS("snd-hda-codec-id:14f1506e"); MODULE_ALIAS("snd-hda-codec-id:14f1506e");
MODULE_ALIAS("snd-hda-codec-id:14f15097"); MODULE_ALIAS("snd-hda-codec-id:14f15097");
MODULE_ALIAS("snd-hda-codec-id:14f15098"); MODULE_ALIAS("snd-hda-codec-id:14f15098");
......
...@@ -896,11 +896,11 @@ struct hdspm { ...@@ -896,11 +896,11 @@ struct hdspm {
unsigned char max_channels_in; unsigned char max_channels_in;
unsigned char max_channels_out; unsigned char max_channels_out;
char *channel_map_in; signed char *channel_map_in;
char *channel_map_out; signed char *channel_map_out;
char *channel_map_in_ss, *channel_map_in_ds, *channel_map_in_qs; signed char *channel_map_in_ss, *channel_map_in_ds, *channel_map_in_qs;
char *channel_map_out_ss, *channel_map_out_ds, *channel_map_out_qs; signed char *channel_map_out_ss, *channel_map_out_ds, *channel_map_out_qs;
char **port_names_in; char **port_names_in;
char **port_names_out; char **port_names_out;
......
...@@ -1124,6 +1124,6 @@ static void __exit at73c213_exit(void) ...@@ -1124,6 +1124,6 @@ static void __exit at73c213_exit(void)
} }
module_exit(at73c213_exit); module_exit(at73c213_exit);
MODULE_AUTHOR("Hans-Christian Egtvedt <hcegtvedt@atmel.com>"); MODULE_AUTHOR("Hans-Christian Egtvedt <egtvedt@samfundet.no>");
MODULE_DESCRIPTION("Sound driver for AT73C213 with Atmel SSC"); MODULE_DESCRIPTION("Sound driver for AT73C213 with Atmel SSC");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment