Lines Matching defs:link
63 static int spectrum_cs_config(struct pcmcia_device *link);
64 static void spectrum_cs_release(struct pcmcia_device *link);
77 spectrum_reset(struct pcmcia_device *link, int idle)
84 if (!pcmcia_dev_present(link))
88 ret = pcmcia_read_config_byte(link, CISREG_COR, &save_cor);
93 ret = pcmcia_write_config_byte(link, CISREG_COR,
100 ret = pcmcia_read_config_byte(link, CISREG_CCSR, &ccsr);
109 ret = pcmcia_write_config_byte(link, CISREG_CCSR, ccsr);
115 ret = pcmcia_write_config_byte(link, CISREG_COR,
134 struct pcmcia_device *link = card->p_dev;
137 spectrum_reset(link, 0);
146 struct pcmcia_device *link = card->p_dev;
148 return spectrum_reset(link, idle);
164 spectrum_cs_probe(struct pcmcia_device *link)
169 priv = alloc_orinocodev(sizeof(*card), &link->dev,
177 card->p_dev = link;
178 link->priv = priv;
185 link->conf.Attributes = 0;
186 link->conf.IntType = INT_MEMORY_AND_IO;
188 return spectrum_cs_config(link);
197 static void spectrum_cs_detach(struct pcmcia_device *link)
199 struct orinoco_private *priv = link->priv;
203 spectrum_cs_release(link);
281 spectrum_cs_config(struct pcmcia_device *link)
283 struct orinoco_private *priv = link->priv;
302 ret = pcmcia_loop_config(link, spectrum_cs_config_check, NULL);
311 mem = ioport_map(link->resource[0]->start,
312 resource_size(link->resource[0]));
322 ret = pcmcia_request_irq(link, orinoco_interrupt);
331 ret = pcmcia_request_configuration(link, &link->conf);
346 if (orinoco_if_add(priv, link->resource[0]->start,
347 link->irq, NULL) != 0) {
355 spectrum_cs_release(link);
365 spectrum_cs_release(struct pcmcia_device *link)
367 struct orinoco_private *priv = link->priv;
376 pcmcia_disable_device(link);
383 spectrum_cs_suspend(struct pcmcia_device *link)
385 struct orinoco_private *priv = link->priv;
395 spectrum_cs_resume(struct pcmcia_device *link)
397 struct orinoco_private *priv = link->priv;