Lines Matching defs:link
89 static void qlogic_release(struct pcmcia_device *link);
91 static int qlogic_config(struct pcmcia_device * link);
94 struct pcmcia_device *link, int qbase, int qlirq)
148 static int qlogic_probe(struct pcmcia_device *link)
152 dev_dbg(&link->dev, "qlogic_attach()\n");
158 info->p_dev = link;
159 link->priv = info;
160 link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO;
161 link->config_regs = PRESENT_OPTION;
163 return qlogic_config(link);
168 static void qlogic_detach(struct pcmcia_device *link)
170 dev_dbg(&link->dev, "qlogic_detach\n");
172 qlogic_release(link);
173 kfree(link->priv);
191 static int qlogic_config(struct pcmcia_device * link)
193 scsi_info_t *info = link->priv;
197 dev_dbg(&link->dev, "qlogic_config\n");
199 ret = pcmcia_loop_config(link, qlogic_config_check, NULL);
203 if (!link->irq)
206 ret = pcmcia_enable_device(link);
212 outb(0xb4, link->resource[0]->start + 0xd);
213 outb(0x24, link->resource[0]->start + 0x9);
214 outb(0x04, link->resource[0]->start + 0xd);
218 if (resource_size(link->resource[0]) == 32)
219 host = qlogic_detect(&qlogicfas_driver_template, link,
220 link->resource[0]->start + 16, link->irq);
222 host = qlogic_detect(&qlogicfas_driver_template, link,
223 link->resource[0]->start, link->irq);
235 pcmcia_disable_device(link);
241 static void qlogic_release(struct pcmcia_device *link)
243 scsi_info_t *info = link->priv;
245 dev_dbg(&link->dev, "qlogic_release\n");
249 free_irq(link->irq, info->host);
250 pcmcia_disable_device(link);
257 static int qlogic_resume(struct pcmcia_device *link)
259 scsi_info_t *info = link->priv;
262 ret = pcmcia_enable_device(link);
269 outb(0x80, link->resource[0]->start + 0xd);
270 outb(0x24, link->resource[0]->start + 0x9);
271 outb(0x04, link->resource[0]->start + 0xd);