Lines Matching refs:link

87 static void qlogic_release(struct pcmcia_device *link);
89 static int qlogic_config(struct pcmcia_device * link);
92 struct pcmcia_device *link, int qbase, int qlirq) in qlogic_detect() argument
146 static int qlogic_probe(struct pcmcia_device *link) in qlogic_probe() argument
150 dev_dbg(&link->dev, "qlogic_attach()\n"); in qlogic_probe()
156 info->p_dev = link; in qlogic_probe()
157 link->priv = info; in qlogic_probe()
158 link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO; in qlogic_probe()
159 link->config_regs = PRESENT_OPTION; in qlogic_probe()
161 return qlogic_config(link); in qlogic_probe()
166 static void qlogic_detach(struct pcmcia_device *link) in qlogic_detach() argument
168 dev_dbg(&link->dev, "qlogic_detach\n"); in qlogic_detach()
170 qlogic_release(link); in qlogic_detach()
171 kfree(link->priv); in qlogic_detach()
189 static int qlogic_config(struct pcmcia_device * link) in qlogic_config() argument
191 scsi_info_t *info = link->priv; in qlogic_config()
195 dev_dbg(&link->dev, "qlogic_config\n"); in qlogic_config()
197 ret = pcmcia_loop_config(link, qlogic_config_check, NULL); in qlogic_config()
201 if (!link->irq) in qlogic_config()
204 ret = pcmcia_enable_device(link); in qlogic_config()
210 outb(0xb4, link->resource[0]->start + 0xd); in qlogic_config()
211 outb(0x24, link->resource[0]->start + 0x9); in qlogic_config()
212 outb(0x04, link->resource[0]->start + 0xd); in qlogic_config()
216 if (resource_size(link->resource[0]) == 32) in qlogic_config()
217 host = qlogic_detect(&qlogicfas_driver_template, link, in qlogic_config()
218 link->resource[0]->start + 16, link->irq); in qlogic_config()
220 host = qlogic_detect(&qlogicfas_driver_template, link, in qlogic_config()
221 link->resource[0]->start, link->irq); in qlogic_config()
233 pcmcia_disable_device(link); in qlogic_config()
239 static void qlogic_release(struct pcmcia_device *link) in qlogic_release() argument
241 scsi_info_t *info = link->priv; in qlogic_release()
243 dev_dbg(&link->dev, "qlogic_release\n"); in qlogic_release()
247 free_irq(link->irq, info->host); in qlogic_release()
248 pcmcia_disable_device(link); in qlogic_release()
255 static int qlogic_resume(struct pcmcia_device *link) in qlogic_resume() argument
257 scsi_info_t *info = link->priv; in qlogic_resume()
259 pcmcia_enable_device(link); in qlogic_resume()
263 outb(0x80, link->resource[0]->start + 0xd); in qlogic_resume()
264 outb(0x24, link->resource[0]->start + 0x9); in qlogic_resume()
265 outb(0x04, link->resource[0]->start + 0xd); in qlogic_resume()