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: hda: make a STAC_DELL_EQ option
ALSA: emu10k1 - Add more invert_shared_spdif flag to Audigy models
ALSA: hda - Add a quirk for another Acer Aspire (1025:0090)
ALSA: remove direct access of dev->bus_id in sound/isa/*
sound: struct device - replace bus_id with dev_name(), dev_set_name()
ALSA: Fix PIT lockup on some chipsets when using the PC-Speaker
ALSA: rawmidi - Add open check in rawmidi callbacks
ALSA: hda - Add digital-mic for ALC269 auto-probe mode
ALSA: hda - Disable broken mic auto-muting in Realtek codes

+89 -60
+1 -1
sound/aoa/soundbus/core.c
··· 176 176 return -EINVAL; 177 177 } 178 178 179 - snprintf(dev->ofdev.dev.bus_id, BUS_ID_SIZE, "soundbus:%x", ++devcount); 179 + dev_set_name(&dev->ofdev.dev, "soundbus:%x", ++devcount); 180 180 dev->ofdev.dev.bus = &soundbus_bus_type; 181 181 return of_device_register(&dev->ofdev); 182 182 }
+8
sound/core/rawmidi.c
··· 148 148 149 149 static inline void snd_rawmidi_output_trigger(struct snd_rawmidi_substream *substream,int up) 150 150 { 151 + if (!substream->opened) 152 + return; 151 153 if (up) { 152 154 tasklet_hi_schedule(&substream->runtime->tasklet); 153 155 } else { ··· 160 158 161 159 static void snd_rawmidi_input_trigger(struct snd_rawmidi_substream *substream, int up) 162 160 { 161 + if (!substream->opened) 162 + return; 163 163 substream->ops->trigger(substream, up); 164 164 if (!up && substream->runtime->event) 165 165 tasklet_kill(&substream->runtime->tasklet); ··· 861 857 int result = 0, count1; 862 858 struct snd_rawmidi_runtime *runtime = substream->runtime; 863 859 860 + if (!substream->opened) 861 + return -EBADFD; 864 862 if (runtime->buffer == NULL) { 865 863 snd_printd("snd_rawmidi_receive: input is not active!!!\n"); 866 864 return -EINVAL; ··· 1132 1126 int snd_rawmidi_transmit(struct snd_rawmidi_substream *substream, 1133 1127 unsigned char *buffer, int count) 1134 1128 { 1129 + if (!substream->opened) 1130 + return -EBADFD; 1135 1131 count = snd_rawmidi_transmit_peek(substream, buffer, count); 1136 1132 if (count < 0) 1137 1133 return count;
+2 -2
sound/drivers/ml403-ac97cr.c
··· 1153 1153 /* get irq */ 1154 1154 irq = platform_get_irq(pfdev, 0); 1155 1155 if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED, 1156 - pfdev->dev.bus_id, (void *)ml403_ac97cr)) { 1156 + dev_name(&pfdev->dev), (void *)ml403_ac97cr)) { 1157 1157 snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": " 1158 1158 "unable to grab IRQ %d\n", 1159 1159 irq); ··· 1166 1166 ml403_ac97cr->irq); 1167 1167 irq = platform_get_irq(pfdev, 1); 1168 1168 if (request_irq(irq, snd_ml403_ac97cr_irq, IRQF_DISABLED, 1169 - pfdev->dev.bus_id, (void *)ml403_ac97cr)) { 1169 + dev_name(&pfdev->dev), (void *)ml403_ac97cr)) { 1170 1170 snd_printk(KERN_ERR SND_ML403_AC97CR_DRIVER ": " 1171 1171 "unable to grab IRQ %d\n", 1172 1172 irq);
+2 -2
sound/drivers/pcsp/pcsp_input.c
··· 24 24 spin_lock_irqsave(&i8253_lock, flags); 25 25 26 26 if (count) { 27 - /* enable counter 2 */ 28 - outb_p(inb_p(0x61) | 3, 0x61); 29 27 /* set command for counter 2, 2 byte write */ 30 28 outb_p(0xB6, 0x43); 31 29 /* select desired HZ */ 32 30 outb_p(count & 0xff, 0x42); 33 31 outb((count >> 8) & 0xff, 0x42); 32 + /* enable counter 2 */ 33 + outb_p(inb_p(0x61) | 3, 0x61); 34 34 } else { 35 35 /* disable counter 2 */ 36 36 outb(inb_p(0x61) & 0xFC, 0x61);
+3 -3
sound/isa/ad1848/ad1848.c
··· 70 70 return 0; 71 71 72 72 if (port[n] == SNDRV_AUTO_PORT) { 73 - snd_printk(KERN_ERR "%s: please specify port\n", dev->bus_id); 73 + dev_err(dev, "please specify port\n"); 74 74 return 0; 75 75 } 76 76 if (irq[n] == SNDRV_AUTO_IRQ) { 77 - snd_printk(KERN_ERR "%s: please specify irq\n", dev->bus_id); 77 + dev_err(dev, "please specify irq\n"); 78 78 return 0; 79 79 } 80 80 if (dma1[n] == SNDRV_AUTO_DMA) { 81 - snd_printk(KERN_ERR "%s: please specify dma1\n", dev->bus_id); 81 + dev_err(dev, "please specify dma1\n"); 82 82 return 0; 83 83 } 84 84 return 1;
+6 -6
sound/isa/adlib.c
··· 36 36 return 0; 37 37 38 38 if (port[n] == SNDRV_AUTO_PORT) { 39 - snd_printk(KERN_ERR "%s: please specify port\n", dev->bus_id); 39 + dev_err(dev, "please specify port\n"); 40 40 return 0; 41 41 } 42 42 return 1; ··· 55 55 56 56 card = snd_card_new(index[n], id[n], THIS_MODULE, 0); 57 57 if (!card) { 58 - snd_printk(KERN_ERR "%s: could not create card\n", dev->bus_id); 58 + dev_err(dev, "could not create card\n"); 59 59 return -EINVAL; 60 60 } 61 61 62 62 card->private_data = request_region(port[n], 4, CRD_NAME); 63 63 if (!card->private_data) { 64 - snd_printk(KERN_ERR "%s: could not grab ports\n", dev->bus_id); 64 + dev_err(dev, "could not grab ports\n"); 65 65 error = -EBUSY; 66 66 goto out; 67 67 } ··· 73 73 74 74 error = snd_opl3_create(card, port[n], port[n] + 2, OPL3_HW_AUTO, 1, &opl3); 75 75 if (error < 0) { 76 - snd_printk(KERN_ERR "%s: could not create OPL\n", dev->bus_id); 76 + dev_err(dev, "could not create OPL\n"); 77 77 goto out; 78 78 } 79 79 80 80 error = snd_opl3_hwdep_new(opl3, 0, 0, NULL); 81 81 if (error < 0) { 82 - snd_printk(KERN_ERR "%s: could not create FM\n", dev->bus_id); 82 + dev_err(dev, "could not create FM\n"); 83 83 goto out; 84 84 } 85 85 ··· 87 87 88 88 error = snd_card_register(card); 89 89 if (error < 0) { 90 - snd_printk(KERN_ERR "%s: could not register card\n", dev->bus_id); 90 + dev_err(dev, "could not register card\n"); 91 91 goto out; 92 92 } 93 93
+4 -4
sound/isa/cs423x/cs4231.c
··· 74 74 return 0; 75 75 76 76 if (port[n] == SNDRV_AUTO_PORT) { 77 - snd_printk(KERN_ERR "%s: please specify port\n", dev->bus_id); 77 + dev_err(dev, "please specify port\n"); 78 78 return 0; 79 79 } 80 80 if (irq[n] == SNDRV_AUTO_IRQ) { 81 - snd_printk(KERN_ERR "%s: please specify irq\n", dev->bus_id); 81 + dev_err(dev, "please specify irq\n"); 82 82 return 0; 83 83 } 84 84 if (dma1[n] == SNDRV_AUTO_DMA) { 85 - snd_printk(KERN_ERR "%s: please specify dma1\n", dev->bus_id); 85 + dev_err(dev, "please specify dma1\n"); 86 86 return 0; 87 87 } 88 88 return 1; ··· 133 133 mpu_port[n], 0, mpu_irq[n], 134 134 mpu_irq[n] >= 0 ? IRQF_DISABLED : 0, 135 135 NULL) < 0) 136 - printk(KERN_WARNING "%s: MPU401 not detected\n", dev->bus_id); 136 + dev_warn(dev, "MPU401 not detected\n"); 137 137 } 138 138 139 139 snd_card_set_dev(card, dev);
+4 -4
sound/isa/cs423x/cs4236.c
··· 488 488 return 0; 489 489 490 490 if (port[dev] == SNDRV_AUTO_PORT) { 491 - snd_printk(KERN_ERR "%s: please specify port\n", pdev->bus_id); 491 + dev_err(pdev, "please specify port\n"); 492 492 return 0; 493 493 } 494 494 if (cport[dev] == SNDRV_AUTO_PORT) { 495 - snd_printk(KERN_ERR "%s: please specify cport\n", pdev->bus_id); 495 + dev_err(pdev, "please specify cport\n"); 496 496 return 0; 497 497 } 498 498 if (irq[dev] == SNDRV_AUTO_IRQ) { 499 - snd_printk(KERN_ERR "%s: please specify irq\n", pdev->bus_id); 499 + dev_err(pdev, "please specify irq\n"); 500 500 return 0; 501 501 } 502 502 if (dma1[dev] == SNDRV_AUTO_DMA) { 503 - snd_printk(KERN_ERR "%s: please specify dma1\n", pdev->bus_id); 503 + dev_err(pdev, "please specify dma1\n"); 504 504 return 0; 505 505 } 506 506 return 1;
+3 -6
sound/isa/es1688/es1688.c
··· 88 88 if (irq[n] == SNDRV_AUTO_IRQ) { 89 89 irq[n] = snd_legacy_find_free_irq(possible_irqs); 90 90 if (irq[n] < 0) { 91 - snd_printk(KERN_ERR "%s: unable to find a free IRQ\n", 92 - dev->bus_id); 91 + dev_err(dev, "unable to find a free IRQ\n"); 93 92 return -EBUSY; 94 93 } 95 94 } 96 95 if (dma8[n] == SNDRV_AUTO_DMA) { 97 96 dma8[n] = snd_legacy_find_free_dma(possible_dmas); 98 97 if (dma8[n] < 0) { 99 - snd_printk(KERN_ERR "%s: unable to find a free DMA\n", 100 - dev->bus_id); 98 + dev_err(dev, "unable to find a free DMA\n"); 101 99 return -EBUSY; 102 100 } 103 101 } ··· 145 147 146 148 if (snd_opl3_create(card, chip->port, chip->port + 2, 147 149 OPL3_HW_OPL3, 0, &opl3) < 0) 148 - printk(KERN_WARNING "%s: opl3 not detected at 0x%lx\n", 149 - dev->bus_id, chip->port); 150 + dev_warn(dev, "opl3 not detected at 0x%lx\n", chip->port); 150 151 else { 151 152 error = snd_opl3_hwdep_new(opl3, 0, 1, NULL); 152 153 if (error < 0)
+5 -8
sound/isa/gus/gusclassic.c
··· 90 90 if (irq[n] == SNDRV_AUTO_IRQ) { 91 91 irq[n] = snd_legacy_find_free_irq(possible_irqs); 92 92 if (irq[n] < 0) { 93 - snd_printk(KERN_ERR "%s: unable to find a free IRQ\n", 94 - dev->bus_id); 93 + dev_err(dev, "unable to find a free IRQ\n"); 95 94 return -EBUSY; 96 95 } 97 96 } 98 97 if (dma1[n] == SNDRV_AUTO_DMA) { 99 98 dma1[n] = snd_legacy_find_free_dma(possible_dmas); 100 99 if (dma1[n] < 0) { 101 - snd_printk(KERN_ERR "%s: unable to find a free DMA1\n", 102 - dev->bus_id); 100 + dev_err(dev, "unable to find a free DMA1\n"); 103 101 return -EBUSY; 104 102 } 105 103 } 106 104 if (dma2[n] == SNDRV_AUTO_DMA) { 107 105 dma2[n] = snd_legacy_find_free_dma(possible_dmas); 108 106 if (dma2[n] < 0) { 109 - snd_printk(KERN_ERR "%s: unable to find a free DMA2\n", 110 - dev->bus_id); 107 + dev_err(dev, "unable to find a free DMA2\n"); 111 108 return -EBUSY; 112 109 } 113 110 } ··· 171 174 172 175 error = -ENODEV; 173 176 if (gus->max_flag || gus->ess_flag) { 174 - snd_printk(KERN_ERR "%s: GUS Classic or ACE soundcard was " 175 - "not detected at 0x%lx\n", dev->bus_id, gus->gf1.port); 177 + dev_err(dev, "GUS Classic or ACE soundcard was " 178 + "not detected at 0x%lx\n", gus->gf1.port); 176 179 goto out; 177 180 } 178 181
+7 -12
sound/isa/gus/gusextreme.c
··· 106 106 if (irq[n] == SNDRV_AUTO_IRQ) { 107 107 irq[n] = snd_legacy_find_free_irq(possible_irqs); 108 108 if (irq[n] < 0) { 109 - snd_printk(KERN_ERR "%s: unable to find a free IRQ " 110 - "for ES1688\n", dev->bus_id); 109 + dev_err(dev, "unable to find a free IRQ for ES1688\n"); 111 110 return -EBUSY; 112 111 } 113 112 } 114 113 if (dma8[n] == SNDRV_AUTO_DMA) { 115 114 dma8[n] = snd_legacy_find_free_dma(possible_dmas); 116 115 if (dma8[n] < 0) { 117 - snd_printk(KERN_ERR "%s: unable to find a free DMA " 118 - "for ES1688\n", dev->bus_id); 116 + dev_err(dev, "unable to find a free DMA for ES1688\n"); 119 117 return -EBUSY; 120 118 } 121 119 } ··· 141 143 if (gf1_irq[n] == SNDRV_AUTO_IRQ) { 142 144 gf1_irq[n] = snd_legacy_find_free_irq(possible_irqs); 143 145 if (gf1_irq[n] < 0) { 144 - snd_printk(KERN_ERR "%s: unable to find a free IRQ " 145 - "for GF1\n", dev->bus_id); 146 + dev_err(dev, "unable to find a free IRQ for GF1\n"); 146 147 return -EBUSY; 147 148 } 148 149 } 149 150 if (dma1[n] == SNDRV_AUTO_DMA) { 150 151 dma1[n] = snd_legacy_find_free_dma(possible_dmas); 151 152 if (dma1[n] < 0) { 152 - snd_printk(KERN_ERR "%s: unable to find a free DMA " 153 - "for GF1\n", dev->bus_id); 153 + dev_err(dev, "unable to find a free DMA for GF1\n"); 154 154 return -EBUSY; 155 155 } 156 156 } ··· 274 278 275 279 error = -ENODEV; 276 280 if (!gus->ess_flag) { 277 - snd_printk(KERN_ERR "%s: GUS Extreme soundcard was not " 278 - "detected at 0x%lx\n", dev->bus_id, gus->gf1.port); 281 + dev_err(dev, "GUS Extreme soundcard was not " 282 + "detected at 0x%lx\n", gus->gf1.port); 279 283 goto out; 280 284 } 281 285 gus->codec_flag = 1; ··· 306 310 307 311 if (snd_opl3_create(card, es1688->port, es1688->port + 2, 308 312 OPL3_HW_OPL3, 0, &opl3) < 0) 309 - printk(KERN_ERR "%s: opl3 not detected at 0x%lx\n", 310 - dev->bus_id, es1688->port); 313 + dev_warn(dev, "opl3 not detected at 0x%lx\n", es1688->port); 311 314 else { 312 315 error = snd_opl3_hwdep_new(opl3, 0, 2, NULL); 313 316 if (error < 0)
+2 -2
sound/isa/sb/sb8.c
··· 85 85 if (!enable[dev]) 86 86 return 0; 87 87 if (irq[dev] == SNDRV_AUTO_IRQ) { 88 - snd_printk(KERN_ERR "%s: please specify irq\n", pdev->bus_id); 88 + dev_err(pdev, "please specify irq\n"); 89 89 return 0; 90 90 } 91 91 if (dma8[dev] == SNDRV_AUTO_DMA) { 92 - snd_printk(KERN_ERR "%s: please specify dma8\n", pdev->bus_id); 92 + dev_err(pdev, "please specify dma8\n"); 93 93 return 0; 94 94 } 95 95 return 1;
+3
sound/pci/emu10k1/emu10k1_main.c
··· 1464 1464 .ca0151_chip = 1, 1465 1465 .spk71 = 1, 1466 1466 .spdif_bug = 1, 1467 + .invert_shared_spdif = 1, /* digital/analog switch swapped */ 1467 1468 .ac97_chip = 1} , 1468 1469 {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20021102, 1469 1470 .driver = "Audigy2", .name = "Audigy 2 ZS [SB0350]", ··· 1474 1473 .ca0151_chip = 1, 1475 1474 .spk71 = 1, 1476 1475 .spdif_bug = 1, 1476 + .invert_shared_spdif = 1, /* digital/analog switch swapped */ 1477 1477 .ac97_chip = 1} , 1478 1478 {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20011102, 1479 1479 .driver = "Audigy2", .name = "Audigy 2 ZS [2001]", ··· 1484 1482 .ca0151_chip = 1, 1485 1483 .spk71 = 1, 1486 1484 .spdif_bug = 1, 1485 + .invert_shared_spdif = 1, /* digital/analog switch swapped */ 1487 1486 .ac97_chip = 1} , 1488 1487 /* Audigy 2 */ 1489 1488 /* Tested by James@superbug.co.uk 3rd July 2005 */
+27 -2
sound/pci/hda/patch_realtek.c
··· 829 829 spec->jack_present ? 0 : PIN_OUT); 830 830 } 831 831 832 + #if 0 /* it's broken in some acses -- temporarily disabled */ 832 833 static void alc_mic_automute(struct hda_codec *codec) 833 834 { 834 835 struct alc_spec *spec = codec->spec; ··· 850 849 snd_hda_codec_amp_stereo(codec, 0x0b, HDA_INPUT, capsrc_idx_fmic, 851 850 HDA_AMP_MUTE, present ? HDA_AMP_MUTE : 0); 852 851 } 852 + #else 853 + #define alc_mic_automute(codec) /* NOP */ 854 + #endif /* disabled */ 853 855 854 856 /* unsolicited event for HP jack sensing */ 855 857 static void alc_sku_unsol_event(struct hda_codec *codec, unsigned int res) ··· 1062 1058 AC_VERB_SET_UNSOLICITED_ENABLE, 1063 1059 AC_USRSP_EN | ALC880_HP_EVENT); 1064 1060 1061 + #if 0 /* it's broken in some acses -- temporarily disabled */ 1065 1062 if (spec->autocfg.input_pins[AUTO_PIN_MIC] && 1066 1063 spec->autocfg.input_pins[AUTO_PIN_FRONT_MIC]) 1067 1064 snd_hda_codec_write(codec, 1068 1065 spec->autocfg.input_pins[AUTO_PIN_MIC], 0, 1069 1066 AC_VERB_SET_UNSOLICITED_ENABLE, 1070 1067 AC_USRSP_EN | ALC880_MIC_EVENT); 1068 + #endif /* disabled */ 1071 1069 1072 1070 spec->unsol_event = alc_sku_unsol_event; 1073 1071 } ··· 8414 8408 static struct snd_pci_quirk alc883_cfg_tbl[] = { 8415 8409 SND_PCI_QUIRK(0x1019, 0x6668, "ECS", ALC883_3ST_6ch_DIG), 8416 8410 SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_ACER_ASPIRE), 8411 + SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_ACER_ASPIRE), 8417 8412 SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_ACER_ASPIRE), 8418 8413 SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_ACER_ASPIRE), 8419 8414 SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_ACER_ASPIRE), ··· 12245 12238 return 0; 12246 12239 } 12247 12240 12248 - #define alc269_auto_create_analog_input_ctls \ 12249 - alc880_auto_create_analog_input_ctls 12241 + static int alc269_auto_create_analog_input_ctls(struct alc_spec *spec, 12242 + const struct auto_pin_cfg *cfg) 12243 + { 12244 + int err; 12245 + 12246 + err = alc880_auto_create_analog_input_ctls(spec, cfg); 12247 + if (err < 0) 12248 + return err; 12249 + /* digital-mic input pin is excluded in alc880_auto_create..() 12250 + * because it's under 0x18 12251 + */ 12252 + if (cfg->input_pins[AUTO_PIN_MIC] == 0x12 || 12253 + cfg->input_pins[AUTO_PIN_FRONT_MIC] == 0x12) { 12254 + struct hda_input_mux *imux = &spec->private_imux; 12255 + imux->items[imux->num_items].label = "Int Mic"; 12256 + imux->items[imux->num_items].index = 0x05; 12257 + imux->num_items++; 12258 + } 12259 + return 0; 12260 + } 12250 12261 12251 12262 #ifdef CONFIG_SND_HDA_POWER_SAVE 12252 12263 #define alc269_loopbacks alc880_loopbacks
+10 -6
sound/pci/hda/patch_sigmatel.c
··· 69 69 enum { 70 70 STAC_92HD73XX_REF, 71 71 STAC_DELL_M6, 72 + STAC_DELL_EQ, 72 73 STAC_92HD73XX_MODELS 73 74 }; 74 75 ··· 774 773 }; 775 774 776 775 static struct hda_verb dell_m6_core_init[] = { 777 - /* set master volume to max value without distortion 778 - * and direct control */ 779 - { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xec}, 776 + { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xff}, 780 777 /* setup audio connections */ 781 778 { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00}, 782 779 { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01}, ··· 1599 1600 static unsigned int *stac92hd73xx_brd_tbl[STAC_92HD73XX_MODELS] = { 1600 1601 [STAC_92HD73XX_REF] = ref92hd73xx_pin_configs, 1601 1602 [STAC_DELL_M6] = dell_m6_pin_configs, 1603 + [STAC_DELL_EQ] = dell_m6_pin_configs, 1602 1604 }; 1603 1605 1604 1606 static const char *stac92hd73xx_models[STAC_92HD73XX_MODELS] = { 1605 1607 [STAC_92HD73XX_REF] = "ref", 1606 1608 [STAC_DELL_M6] = "dell-m6", 1609 + [STAC_DELL_EQ] = "dell-eq", 1607 1610 }; 1608 1611 1609 1612 static struct snd_pci_quirk stac92hd73xx_cfg_tbl[] = { ··· 4132 4131 sizeof(stac92hd73xx_dmux)); 4133 4132 4134 4133 switch (spec->board_config) { 4135 - case STAC_DELL_M6: 4134 + case STAC_DELL_EQ: 4136 4135 spec->init = dell_eq_core_init; 4136 + /* fallthru */ 4137 + case STAC_DELL_M6: 4137 4138 spec->num_smuxes = 0; 4138 4139 spec->mixer = &stac92hd73xx_6ch_mixer[DELL_M6_MIXER]; 4139 4140 spec->amp_nids = &stac92hd73xx_amp_nids[DELL_M6_AMP]; 4140 4141 spec->num_amps = 1; 4142 + 4143 + if (!spec->init) 4144 + spec->init = dell_m6_core_init; 4141 4145 switch (codec->subsystem_id) { 4142 4146 case 0x1028025e: /* Analog Mics */ 4143 4147 case 0x1028025f: ··· 4152 4146 break; 4153 4147 case 0x10280271: /* Digital Mics */ 4154 4148 case 0x10280272: 4155 - spec->init = dell_m6_core_init; 4156 - /* fall-through */ 4157 4149 case 0x10280254: 4158 4150 case 0x10280255: 4159 4151 stac92xx_set_config_reg(codec, 0x13, 0x90A60160);
+2 -2
sound/soc/soc-core.c
··· 95 95 codec->ac97->dev.parent = NULL; 96 96 codec->ac97->dev.release = soc_ac97_device_release; 97 97 98 - snprintf(codec->ac97->dev.bus_id, BUS_ID_SIZE, "%d-%d:%s", 99 - codec->card->number, 0, codec->name); 98 + dev_set_name(&codec->ac97->dev, "%d-%d:%s", 99 + codec->card->number, 0, codec->name); 100 100 err = device_register(&codec->ac97->dev); 101 101 if (err < 0) { 102 102 snd_printk(KERN_ERR "Can't register ac97 bus\n");