At Tue, 27 Mar 2007 15:50:09 -0300, Rodrigo Luiz wrote:
Tobin Davis wrote:
The other thing to check is that you are not specifying a "model=" parameter in the modprobe.conf file. The module should be allowed to autodetect your system. Your previous comment about commenting out the "spec->init_verbs[1] = cxt5045_mic_sense_init_verbs;" line indicates that your system is using the "model=fujitsu" option for some reason.
My modprobe.conf is empty and I dont' give any paramter for this module.
But I also am not understanding. My test code:
switch (board_config) { case CXT5045_LAPTOP: codec->patch_ops.unsol_event = cxt5045_hp_unsol_event; spec->input_mux = &cxt5045_capture_source; spec->num_init_verbs = 2; spec->init_verbs[1] = cxt5045_hp_sense_init_verbs; spec->mixers[0] = cxt5045_mixers; codec->patch_ops.init = cxt5045_init; printk(KERN_DEBUG"cxt5045_laptop\n"); //for test break; case CXT5045_FUJITSU: spec->input_mux = &cxt5045_capture_source; spec->num_init_verbs = 2;
// spec->init_verbs[1] = cxt5045_mic_sense_init_verbs; spec->mixers[0] = cxt5045_mixers; codec->patch_ops.init = cxt5045_init; printk(KERN_DEBUG"cxt5045_fujitsu\n"); //for test break;
And I see in log:
Mar 27 15:36:48 dig kernel: cxt5045_laptop
But if I uncomment the line "spec->init_verbs[1] = cxt5045_mic_sense_init_verbs;", my speaker don't work and I receive these messages in log too.
Mar 27 15:44:59 dig kernel: hda_intel: azx_get_response timeout, switching to polling mode... Mar 27 15:45:00 dig kernel: hda_intel: azx_get_response timeout, switching to single_cmd mode...
It's very strange. The case CXT5045_FUJITSU isn't executed, but it is influencing in the module. It is truth. :/
It must be a coincidence. The compiler optimization stripped out the verbs because no one is referring. Try the patch below.
Takashi
diff -r 92288445bcd3 pci/hda/patch_conexant.c --- a/pci/hda/patch_conexant.c Wed Mar 28 13:42:25 2007 +0200 +++ b/pci/hda/patch_conexant.c Wed Mar 28 15:06:52 2007 +0200 @@ -632,11 +632,13 @@ static struct hda_verb cxt5045_hp_sense_ static struct hda_verb cxt5045_hp_sense_init_verbs[] = { /* pin sensing on HP jack */ {0x11, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | CONEXANT_HP_EVENT}, + { } /* end */ };
static struct hda_verb cxt5045_mic_sense_init_verbs[] = { /* pin sensing on HP jack */ {0x12, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | CONEXANT_MIC_EVENT}, + { } /* end */ };
#ifdef CONFIG_SND_DEBUG