At Fri, 25 Jan 2008 08:43:55 -0500, Matthew Ranostay wrote: > > This patch checks to see the Line In/Mic port have the ability to do output before creating the the control switches. > The 92hd71bxx series of codecs has this issue with the port 0xe, which only allows input. > > Signed-off-by: Matthew Ranostay <mranostay@xxxxxxxxxxxxxxxx> Looks good (but it has a garbage (`) in the patch) Anyway, applied to HG tree now. Thanks. Takashi > --- > diff -r 303f894ac2a8 pci/hda/patch_sigmatel.c > --- a/pci/hda/patch_sigmatel.c Thu Jan 24 18:46:42 2008 +0100 > +++ b/pci/hda/patch_sigmatel.c Thu Jan 24 22:41:27 2008 -0500 > @@ -2226,7 +2226,7 @@ static int stac92xx_auto_create_multi_ou > int i, err; > > struct sigmatel_spec *spec = codec->spec; > - unsigned int wid_caps; > + unsigned int wid_caps, pincap; > > > for (i = 0; i < cfg->line_outs; i++) { > @@ -2262,13 +2262,31 @@ static int stac92xx_auto_create_multi_ou > } > } > > - if (spec->line_switch) > - if ((err = stac92xx_add_control(spec, STAC_CTL_WIDGET_IO_SWITCH, "Line In as Output Switch", cfg->input_pins[AUTO_PIN_LINE] << 8)) < 0) > - return err; > - > - if (spec->mic_switch) > - if ((err = stac92xx_add_control(spec, STAC_CTL_WIDGET_IO_SWITCH, "Mic as Output Switch", (cfg->input_pins[AUTO_PIN_MIC] << 8) | 1)) < 0) > - return err; > + if (spec->line_switch) { > + nid = cfg->input_pins[AUTO_PIN_LINE]; > + pincap = snd_hda_param_read(codec, nid, > + AC_PAR_PIN_CAP); > + if (pincap & AC_PINCAP_OUT) { > + err = stac92xx_add_control(spec, > + STAC_CTL_WIDGET_IO_SWITCH, > + "Line In as Output Switch", nid << 8); > + if (err < 0) > + return err; > + } > + } > + > + if (spec->mic_switch) { > + nid = cfg->input_pins[AUTO_PIN_MIC]; > + pincap = snd_hda_param_read(codec, nid, > + AC_PAR_PIN_CAP); > + if (pincap & AC_PINCAP_OUT) { > + ` err = stac92xx_add_control(spec, > + STAC_CTL_WIDGET_IO_SWITCH, > + "Mic as Output Switch", (nid << 8) | 1); > + if (err < 0) > + return err; > + } > + } > > return 0; > } > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel