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",
92 struct dmic *dmic;
94 dmic = devm_kzalloc(component->dev, sizeof(*dmic), GFP_KERNEL);
95 if (!dmic)
98 dmic->gpio_en = devm_gpiod_get_optional(component->dev,
100 if (IS_ERR(dmic->gpio_en))
101 return PTR_ERR(dmic->gpio_en);
104 &dmic->wakeup_delay);
106 &dmic->modeswitch_delay);
108 dmic->wakeup_delay = wakeup_delay;
110 dmic->modeswitch_delay = modeswitch_delay;
112 if (dmic->modeswitch_delay > MAX_MODESWITCH_DELAY)
113 dmic->modeswitch_delay = MAX_MODESWITCH_DELAY;
115 snd_soc_component_set_drvdata(component, dmic);
171 MODULE_ALIAS("platform:dmic-codec");
174 {.compatible = "dmic-codec"},
181 .name = "dmic-codec",