Lines Matching refs:link
59 static int pdacf_config(struct pcmcia_device *link);
62 static void pdacf_release(struct pcmcia_device *link) in pdacf_release() argument
64 free_irq(link->irq, link->priv); in pdacf_release()
65 pcmcia_disable_device(link); in pdacf_release()
73 struct pcmcia_device *link = pdacf->p_dev; in snd_pdacf_free() local
75 pdacf_release(link); in snd_pdacf_free()
93 static int snd_pdacf_probe(struct pcmcia_device *link) in snd_pdacf_probe() argument
116 err = snd_card_new(&link->dev, index[i], id[i], THIS_MODULE, in snd_pdacf_probe()
139 pdacf->p_dev = link; in snd_pdacf_probe()
140 link->priv = pdacf; in snd_pdacf_probe()
142 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; in snd_pdacf_probe()
143 link->resource[0]->end = 16; in snd_pdacf_probe()
145 link->config_flags = CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ; in snd_pdacf_probe()
146 link->config_index = 1; in snd_pdacf_probe()
147 link->config_regs = PRESENT_OPTION; in snd_pdacf_probe()
149 return pdacf_config(link); in snd_pdacf_probe()
196 static void snd_pdacf_detach(struct pcmcia_device *link) in snd_pdacf_detach() argument
198 struct snd_pdacf *chip = link->priv; in snd_pdacf_detach()
213 static int pdacf_config(struct pcmcia_device *link) in pdacf_config() argument
215 struct snd_pdacf *pdacf = link->priv; in pdacf_config()
219 link->config_index = 0x5; in pdacf_config()
220 link->config_flags |= CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ; in pdacf_config()
222 ret = pcmcia_request_io(link); in pdacf_config()
226 ret = request_threaded_irq(link->irq, pdacf_interrupt, in pdacf_config()
228 IRQF_SHARED, link->devname, link->priv); in pdacf_config()
232 ret = pcmcia_enable_device(link); in pdacf_config()
236 if (snd_pdacf_assign_resources(pdacf, link->resource[0]->start, in pdacf_config()
237 link->irq) < 0) in pdacf_config()
243 free_irq(link->irq, link->priv); in pdacf_config()
245 pcmcia_disable_device(link); in pdacf_config()
251 static int pdacf_suspend(struct pcmcia_device *link) in pdacf_suspend() argument
253 struct snd_pdacf *chip = link->priv; in pdacf_suspend()
264 static int pdacf_resume(struct pcmcia_device *link) in pdacf_resume() argument
266 struct snd_pdacf *chip = link->priv; in pdacf_resume()
269 if (pcmcia_dev_present(link)) { in pdacf_resume()