On Fri, 19 Jul 2019 19:06:10 +0200, Pierre-Louis Bossart wrote: > > +static int azx_check_dmic(struct pci_dev *pci, struct azx *chip) > +{ > + struct nhlt_acpi_table *nhlt; > + int ret = 0; > + > + if (chip->driver_type == AZX_DRIVER_SKL && > + pci->class != 0x040300) { > + nhlt = intel_nhlt_init(&pci->dev); > + if (nhlt) { > + if (intel_nhlt_get_dmic_geo(&pci->dev, nhlt)) { > + ret = -ENODEV; > + dev_dbg(&pci->dev, "Digital mics found on Skylake+ platform, aborting probe\n"); IMO, this can be verbose, dev_info() would be suitable. Otherwise user has no idea why the module load is skipped. > @@ -2055,6 +2078,17 @@ static int azx_probe(struct pci_dev *pci, > card->private_data = chip; > hda = container_of(chip, struct hda_intel, chip); > > + /* > + * stop probe if digital microphones detected on Skylake+ platform > + * with the DSP enabled. This is an opt-in behavior defined at build > + * time or at run-time with a module parameter > + */ > + if (IS_ENABLED(CONFIG_SND_HDA_INTEL_DETECT_DMIC) || dmic_detect >= 0) { Isn't it "dmic_detect != 0" ? Otherwise passing dmic_detect=0 would be treated as positive here. thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel