Lines Matching defs:ac97

3 // soc-ac97.c  --  ALSA SoC Audio Layer AC97 support
125 static int snd_soc_ac97_init_gpio(struct snd_ac97 *ac97,
134 ac97->gpio_priv = gpio_priv;
147 static void snd_soc_ac97_free_gpio(struct snd_ac97 *ac97)
149 gpiochip_remove(&ac97->gpio_priv->gpio_chip);
152 static int snd_soc_ac97_init_gpio(struct snd_ac97 *ac97,
158 static void snd_soc_ac97_free_gpio(struct snd_ac97 *ac97)
168 * it. The caller is responsible to either call device_add(&ac97->dev) to
169 * register the device, or to call put_device(&ac97->dev) to free the device.
175 struct snd_ac97 *ac97;
177 ac97 = kzalloc(sizeof(struct snd_ac97), GFP_KERNEL);
178 if (ac97 == NULL)
181 ac97->bus = &soc_ac97_bus;
182 ac97->num = 0;
184 ac97->dev.bus = &ac97_bus_type;
185 ac97->dev.parent = component->card->dev;
186 ac97->dev.release = soc_ac97_device_release;
188 dev_set_name(&ac97->dev, "%d-%d:%s",
192 device_initialize(&ac97->dev);
194 return ac97;
215 struct snd_ac97 *ac97;
218 ac97 = snd_soc_alloc_ac97_component(component);
219 if (IS_ERR(ac97))
220 return ac97;
223 ret = snd_ac97_reset(ac97, false, id, id_mask);
231 ret = device_add(&ac97->dev);
235 ret = snd_soc_ac97_init_gpio(ac97, component);
239 return ac97;
242 put_device(&ac97->dev);
249 * @ac97: snd_ac97 device to be freed
253 void snd_soc_free_ac97_component(struct snd_ac97 *ac97)
255 snd_soc_ac97_free_gpio(ac97);
256 device_del(&ac97->dev);
257 ac97->bus = NULL;
258 put_device(&ac97->dev);
264 static void snd_soc_ac97_warm_reset(struct snd_ac97 *ac97)
280 static void snd_soc_ac97_reset(struct snd_ac97 *ac97)
311 state = pinctrl_lookup_state(p, "ac97-reset");
313 dev_err(dev, "Can't find pinctrl state ac97-reset\n");
318 state = pinctrl_lookup_state(p, "ac97-warm-reset");
320 dev_err(dev, "Can't find pinctrl state ac97-warm-reset\n");
325 state = pinctrl_lookup_state(p, "ac97-running");
327 dev_err(dev, "Can't find pinctrl state ac97-running\n");
332 cfg->sync_gpio = devm_gpiod_get_index(dev, "ac97", 0, GPIOD_ASIS);
334 return dev_err_probe(dev, PTR_ERR(cfg->sync_gpio), "Can't find ac97-sync gpio\n");
337 cfg->sdata_gpio = devm_gpiod_get_index(dev, "ac97", 1, GPIOD_ASIS);
339 return dev_err_probe(dev, PTR_ERR(cfg->sdata_gpio), "Can't find ac97-sdata gpio\n");
342 cfg->reset_gpio = devm_gpiod_get_index(dev, "ac97", 2, GPIOD_ASIS);
344 return dev_err_probe(dev, PTR_ERR(cfg->reset_gpio), "Can't find ac97-reset gpio\n");
369 * snd_soc_set_ac97_ops_of_reset - Set ac97 ops with generic ac97 reset functions