Lines Matching refs:link
80 static int parport_config(struct pcmcia_device *link);
83 static int parport_probe(struct pcmcia_device *link) in parport_probe() argument
87 dev_dbg(&link->dev, "parport_attach()\n"); in parport_probe()
92 link->priv = info; in parport_probe()
93 info->p_dev = link; in parport_probe()
95 link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO; in parport_probe()
97 return parport_config(link); in parport_probe()
100 static void parport_detach(struct pcmcia_device *link) in parport_detach() argument
102 dev_dbg(&link->dev, "parport_detach\n"); in parport_detach()
104 parport_cs_release(link); in parport_detach()
106 kfree(link->priv); in parport_detach()
119 static int parport_config(struct pcmcia_device *link) in parport_config() argument
121 parport_info_t *info = link->priv; in parport_config()
125 dev_dbg(&link->dev, "parport_config\n"); in parport_config()
128 link->config_index |= FORCE_EPP_MODE; in parport_config()
130 ret = pcmcia_loop_config(link, parport_config_check, NULL); in parport_config()
134 if (!link->irq) in parport_config()
136 ret = pcmcia_enable_device(link); in parport_config()
140 p = parport_pc_probe_port(link->resource[0]->start, in parport_config()
141 link->resource[1]->start, in parport_config()
142 link->irq, PARPORT_DMA_NONE, in parport_config()
143 &link->dev, IRQF_SHARED); in parport_config()
146 (unsigned int)link->resource[0]->start, link->irq); in parport_config()
159 parport_cs_release(link); in parport_config()
160 kfree(link->priv); in parport_config()
164 static void parport_cs_release(struct pcmcia_device *link) in parport_cs_release() argument
166 parport_info_t *info = link->priv; in parport_cs_release()
168 dev_dbg(&link->dev, "parport_release\n"); in parport_cs_release()
176 pcmcia_disable_device(link); in parport_cs_release()