Lines Matching refs:dmic
3 * dmic.c -- SoC audio for Generic Digital MICs
26 struct dmic {
37 struct dmic *dmic = snd_soc_component_get_drvdata(component);
41 if (dmic->modeswitch_delay)
42 mdelay(dmic->modeswitch_delay);
57 struct dmic *dmic = snd_soc_component_get_drvdata(component);
61 if (dmic->gpio_en)
62 gpiod_set_value_cansleep(dmic->gpio_en, 1);
64 if (dmic->wakeup_delay)
65 msleep(dmic->wakeup_delay);
68 if (dmic->gpio_en)
69 gpiod_set_value_cansleep(dmic->gpio_en, 0);
77 .name = "dmic-hifi",
95 struct dmic *dmic;
97 dmic = devm_kzalloc(component->dev, sizeof(*dmic), GFP_KERNEL);
98 if (!dmic)
101 dmic->gpio_en = devm_gpiod_get_optional(component->dev,
103 if (IS_ERR(dmic->gpio_en))
104 return PTR_ERR(dmic->gpio_en);
107 &dmic->wakeup_delay);
109 &dmic->modeswitch_delay);
111 dmic->wakeup_delay = wakeup_delay;
113 dmic->modeswitch_delay = modeswitch_delay;
115 if (dmic->modeswitch_delay > MAX_MODESWITCH_DELAY)
116 dmic->modeswitch_delay = MAX_MODESWITCH_DELAY;
118 snd_soc_component_set_drvdata(component, dmic);
173 MODULE_ALIAS("platform:dmic-codec");
176 {.compatible = "dmic-codec"},
183 .name = "dmic-codec",