aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2010-03-26 06:04:38 -0400
committerJaroslav Kysela <perex@perex.cz>2010-03-26 06:08:43 -0400
commit10e77ddac0e1f3b9cea04dfe8180f8641f329703 (patch)
treee93280793b107864e9ffdbf5a406b82f607e9faf
parent0bf0e5a6f304ac1bc93a80cdd68b4d91f3519eb5 (diff)
ALSA: hda-intel - remove model=hwio , use probe_only=3 instead
The probe_only module parameter skips the codec initialization, too. Remove the model=hwio code and use second bit in probe_only to skip the HDA codec reset procedure. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--Documentation/sound/alsa/HD-Audio.txt3
-rw-r--r--sound/pci/hda/hda_codec.c10
-rw-r--r--sound/pci/hda/hda_intel.c4
3 files changed, 7 insertions, 10 deletions
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt
index ecacf53a8655..232a90775229 100644
--- a/Documentation/sound/alsa/HD-Audio.txt
+++ b/Documentation/sound/alsa/HD-Audio.txt
@@ -597,6 +597,9 @@ probing, the proc file is available, so you can get the raw codec
597information before modified by the driver. Of course, the driver 597information before modified by the driver. Of course, the driver
598isn't usable with `probe_only=1`. But you can continue the 598isn't usable with `probe_only=1`. But you can continue the
599configuration via hwdep sysfs file if hda-reconfig option is enabled. 599configuration via hwdep sysfs file if hda-reconfig option is enabled.
600Using `probe_only` mask 2 skips the reset of HDA codecs (use
601`probe_only=3` as module option). The hwdep interface can be used
602to determine the BIOS codec initialization.
600 603
601 604
602hda-verb 605hda-verb
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index cf6280bdaa19..0e76ac2b2ace 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -609,15 +609,11 @@ int /*__devinit*/ snd_hda_bus_new(struct snd_card *card,
609} 609}
610EXPORT_SYMBOL_HDA(snd_hda_bus_new); 610EXPORT_SYMBOL_HDA(snd_hda_bus_new);
611 611
612#define is_hwio_config(codec) \
613 (codec->modelname && !strcmp(codec->modelname, "hwio"))
614#ifdef CONFIG_SND_HDA_GENERIC 612#ifdef CONFIG_SND_HDA_GENERIC
615#define is_generic_config(codec) \ 613#define is_generic_config(codec) \
616 ((codec->modelname && !strcmp(codec->modelname, "generic")) || \ 614 (codec->modelname && !strcmp(codec->modelname, "generic"))
617 is_hwio_config(codec))
618#else 615#else
619#define is_generic_config(codec) \ 616#define is_generic_config(codec) 0
620 is_hwio_config(codec)
621#endif 617#endif
622 618
623#ifdef MODULE 619#ifdef MODULE
@@ -1117,8 +1113,6 @@ int snd_hda_codec_configure(struct hda_codec *codec)
1117 } 1113 }
1118 1114
1119 if (is_generic_config(codec)) { 1115 if (is_generic_config(codec)) {
1120 if (is_hwio_config(codec))
1121 goto patched;
1122 err = snd_hda_parse_generic_codec(codec); 1116 err = snd_hda_parse_generic_codec(codec);
1123 goto patched; 1117 goto patched;
1124 } 1118 }
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 8d477613bccf..6ce673c17ff2 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2577,7 +2577,7 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci,
2577 2577
2578 /* initialize chip */ 2578 /* initialize chip */
2579 azx_init_pci(chip); 2579 azx_init_pci(chip);
2580 azx_init_chip(chip, model[dev] == NULL || strcmp(model[dev], "hwio")); 2580 azx_init_chip(chip, (probe_only[dev] & 2) == 0);
2581 2581
2582 /* codec detection */ 2582 /* codec detection */
2583 if (!chip->codec_mask) { 2583 if (!chip->codec_mask) {
@@ -2666,7 +2666,7 @@ static int __devinit azx_probe(struct pci_dev *pci,
2666 goto out_free; 2666 goto out_free;
2667 } 2667 }
2668#endif 2668#endif
2669 if (!probe_only[dev]) { 2669 if ((probe_only[dev] & 1) == 0) {
2670 err = azx_codec_configure(chip); 2670 err = azx_codec_configure(chip);
2671 if (err < 0) 2671 if (err < 0)
2672 goto out_free; 2672 goto out_free;