Lines Matching refs:link
46 static int pdacf_config(struct pcmcia_device *link);
49 static void pdacf_release(struct pcmcia_device *link) in pdacf_release() argument
51 free_irq(link->irq, link->priv); in pdacf_release()
52 pcmcia_disable_device(link); in pdacf_release()
60 struct pcmcia_device *link = pdacf->p_dev; in snd_pdacf_free() local
62 pdacf_release(link); in snd_pdacf_free()
80 static int snd_pdacf_probe(struct pcmcia_device *link) in snd_pdacf_probe() argument
103 err = snd_card_new(&link->dev, index[i], id[i], THIS_MODULE, in snd_pdacf_probe()
126 pdacf->p_dev = link; in snd_pdacf_probe()
127 link->priv = pdacf; in snd_pdacf_probe()
129 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; in snd_pdacf_probe()
130 link->resource[0]->end = 16; in snd_pdacf_probe()
132 link->config_flags = CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ; in snd_pdacf_probe()
133 link->config_index = 1; in snd_pdacf_probe()
134 link->config_regs = PRESENT_OPTION; in snd_pdacf_probe()
136 return pdacf_config(link); in snd_pdacf_probe()
183 static void snd_pdacf_detach(struct pcmcia_device *link) in snd_pdacf_detach() argument
185 struct snd_pdacf *chip = link->priv; in snd_pdacf_detach()
200 static int pdacf_config(struct pcmcia_device *link) in pdacf_config() argument
202 struct snd_pdacf *pdacf = link->priv; in pdacf_config()
206 link->config_index = 0x5; in pdacf_config()
207 link->config_flags |= CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ; in pdacf_config()
209 ret = pcmcia_request_io(link); in pdacf_config()
213 ret = request_threaded_irq(link->irq, pdacf_interrupt, in pdacf_config()
215 IRQF_SHARED, link->devname, link->priv); in pdacf_config()
219 ret = pcmcia_enable_device(link); in pdacf_config()
223 if (snd_pdacf_assign_resources(pdacf, link->resource[0]->start, in pdacf_config()
224 link->irq) < 0) in pdacf_config()
230 free_irq(link->irq, link->priv); in pdacf_config()
232 pcmcia_disable_device(link); in pdacf_config()
238 static int pdacf_suspend(struct pcmcia_device *link) in pdacf_suspend() argument
240 struct snd_pdacf *chip = link->priv; in pdacf_suspend()
251 static int pdacf_resume(struct pcmcia_device *link) in pdacf_resume() argument
253 struct snd_pdacf *chip = link->priv; in pdacf_resume()
256 if (pcmcia_dev_present(link)) { in pdacf_resume()