• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/scsi/pcmcia/

Lines Matching refs:link

99 static void qlogic_release(struct pcmcia_device *link);
101 static int qlogic_config(struct pcmcia_device * link);
104 struct pcmcia_device *link, int qbase, int qlirq)
158 static int qlogic_probe(struct pcmcia_device *link)
169 info->p_dev = link;
170 link->priv = info;
171 link->io.NumPorts1 = 16;
172 link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO;
173 link->io.IOAddrLines = 10;
174 link->irq.Attributes = IRQ_TYPE_EXCLUSIVE;
175 link->irq.IRQInfo1 = IRQ_LEVEL_ID;
176 link->conf.Attributes = CONF_ENABLE_IRQ;
177 link->conf.IntType = INT_MEMORY_AND_IO;
178 link->conf.Present = PRESENT_OPTION;
180 return qlogic_config(link);
185 static void qlogic_detach(struct pcmcia_device *link)
187 DEBUG(0, "qlogic_detach(0x%p)\n", link);
189 qlogic_release(link);
190 kfree(link->priv);
199 static int qlogic_config(struct pcmcia_device * link)
201 scsi_info_t *info = link->priv;
208 DEBUG(0, "qlogic_config(0x%p)\n", link);
210 info->manf_id = link->manf_id;
217 CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple));
219 if (pcmcia_get_tuple_data(link, &tuple) != 0 ||
220 pcmcia_parse_tuple(link, &tuple, &parse) != 0)
222 link->conf.ConfigIndex = parse.cftable_entry.index;
223 link->io.BasePort1 = parse.cftable_entry.io.win[0].base;
224 link->io.NumPorts1 = parse.cftable_entry.io.win[0].len;
225 if (link->io.BasePort1 != 0) {
226 i = pcmcia_request_io(link, &link->io);
231 CS_CHECK(GetNextTuple, pcmcia_get_next_tuple(link, &tuple));
234 CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq));
235 CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf));
239 outb(0xb4, link->io.BasePort1 + 0xd);
240 outb(0x24, link->io.BasePort1 + 0x9);
241 outb(0x04, link->io.BasePort1 + 0xd);
245 if (link->io.NumPorts1 == 32)
246 host = qlogic_detect(&qlogicfas_driver_template, link,
247 link->io.BasePort1 + 16, link->irq.AssignedIRQ);
249 host = qlogic_detect(&qlogicfas_driver_template, link,
250 link->io.BasePort1, link->irq.AssignedIRQ);
258 link->dev_node = &info->node;
264 cs_error(link, last_fn, last_ret);
265 pcmcia_disable_device(link);
272 static void qlogic_release(struct pcmcia_device *link)
274 scsi_info_t *info = link->priv;
276 DEBUG(0, "qlogic_release(0x%p)\n", link);
280 free_irq(link->irq.AssignedIRQ, info->host);
281 pcmcia_disable_device(link);
288 static int qlogic_resume(struct pcmcia_device *link)
290 scsi_info_t *info = link->priv;
292 pcmcia_request_configuration(link, &link->conf);
296 outb(0x80, link->io.BasePort1 + 0xd);
297 outb(0x24, link->io.BasePort1 + 0x9);
298 outb(0x04, link->io.BasePort1 + 0xd);