Lines Matching refs:link

86 static void qlogic_release(struct pcmcia_device *link);
88 static int qlogic_config(struct pcmcia_device * link);
91 struct pcmcia_device *link, int qbase, int qlirq) in qlogic_detect() argument
145 static int qlogic_probe(struct pcmcia_device *link) in qlogic_probe() argument
149 dev_dbg(&link->dev, "qlogic_attach()\n"); in qlogic_probe()
155 info->p_dev = link; in qlogic_probe()
156 link->priv = info; in qlogic_probe()
157 link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO; in qlogic_probe()
158 link->config_regs = PRESENT_OPTION; in qlogic_probe()
160 return qlogic_config(link); in qlogic_probe()
165 static void qlogic_detach(struct pcmcia_device *link) in qlogic_detach() argument
167 dev_dbg(&link->dev, "qlogic_detach\n"); in qlogic_detach()
169 qlogic_release(link); in qlogic_detach()
170 kfree(link->priv); in qlogic_detach()
188 static int qlogic_config(struct pcmcia_device * link) in qlogic_config() argument
190 scsi_info_t *info = link->priv; in qlogic_config()
194 dev_dbg(&link->dev, "qlogic_config\n"); in qlogic_config()
196 ret = pcmcia_loop_config(link, qlogic_config_check, NULL); in qlogic_config()
200 if (!link->irq) in qlogic_config()
203 ret = pcmcia_enable_device(link); in qlogic_config()
209 outb(0xb4, link->resource[0]->start + 0xd); in qlogic_config()
210 outb(0x24, link->resource[0]->start + 0x9); in qlogic_config()
211 outb(0x04, link->resource[0]->start + 0xd); in qlogic_config()
215 if (resource_size(link->resource[0]) == 32) in qlogic_config()
216 host = qlogic_detect(&qlogicfas_driver_template, link, in qlogic_config()
217 link->resource[0]->start + 16, link->irq); in qlogic_config()
219 host = qlogic_detect(&qlogicfas_driver_template, link, in qlogic_config()
220 link->resource[0]->start, link->irq); in qlogic_config()
232 pcmcia_disable_device(link); in qlogic_config()
238 static void qlogic_release(struct pcmcia_device *link) in qlogic_release() argument
240 scsi_info_t *info = link->priv; in qlogic_release()
242 dev_dbg(&link->dev, "qlogic_release\n"); in qlogic_release()
246 free_irq(link->irq, info->host); in qlogic_release()
247 pcmcia_disable_device(link); in qlogic_release()
254 static int qlogic_resume(struct pcmcia_device *link) in qlogic_resume() argument
256 scsi_info_t *info = link->priv; in qlogic_resume()
258 pcmcia_enable_device(link); in qlogic_resume()
262 outb(0x80, link->resource[0]->start + 0xd); in qlogic_resume()
263 outb(0x24, link->resource[0]->start + 0x9); in qlogic_resume()
264 outb(0x04, link->resource[0]->start + 0xd); in qlogic_resume()