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