Lines Matching full: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()
184 static void snd_pdacf_detach(struct pcmcia_device *link) in snd_pdacf_detach() argument
186 struct snd_pdacf *chip = link->priv; in snd_pdacf_detach()
201 static int pdacf_config(struct pcmcia_device *link) in pdacf_config() argument
203 struct snd_pdacf *pdacf = link->priv; in pdacf_config()
207 link->config_index = 0x5; in pdacf_config()
208 link->config_flags |= CONF_ENABLE_IRQ | CONF_ENABLE_PULSE_IRQ; in pdacf_config()
210 ret = pcmcia_request_io(link); in pdacf_config()
214 ret = request_threaded_irq(link->irq, pdacf_interrupt, in pdacf_config()
216 IRQF_SHARED, link->devname, link->priv); in pdacf_config()
220 ret = pcmcia_enable_device(link); in pdacf_config()
224 if (snd_pdacf_assign_resources(pdacf, link->resource[0]->start, in pdacf_config()
225 link->irq) < 0) in pdacf_config()
228 pdacf->card->sync_irq = link->irq; in pdacf_config()
232 free_irq(link->irq, link->priv); in pdacf_config()
234 pcmcia_disable_device(link); in pdacf_config()
240 static int pdacf_suspend(struct pcmcia_device *link) in pdacf_suspend() argument
242 struct snd_pdacf *chip = link->priv; in pdacf_suspend()
253 static int pdacf_resume(struct pcmcia_device *link) in pdacf_resume() argument
255 struct snd_pdacf *chip = link->priv; in pdacf_resume()
258 if (pcmcia_dev_present(link)) { in pdacf_resume()