Lines Matching defs:link
73 static int ide_probe(struct pcmcia_device *link)
77 dev_dbg(&link->dev, "ide_attach()\n");
84 info->p_dev = link;
85 link->priv = info;
87 link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO |
90 return ide_config(link);
93 static void ide_detach(struct pcmcia_device *link)
95 ide_info_t *info = link->priv;
97 dev_dbg(&link->dev, "ide_detach(0x%p)\n", link);
99 ide_release(link);
189 static int ide_config(struct pcmcia_device *link)
191 ide_info_t *info = link->priv;
196 dev_dbg(&link->dev, "ide_config(0x%p)\n", link);
198 is_kme = ((link->manf_id == MANFID_KME) &&
199 ((link->card_id == PRODID_KME_KXLC005_A) ||
200 (link->card_id == PRODID_KME_KXLC005_B)));
202 if (pcmcia_loop_config(link, pcmcia_check_one_config, &is_kme)) {
203 link->config_flags &= ~CONF_AUTO_CHECK_VCC;
204 if (pcmcia_loop_config(link, pcmcia_check_one_config, &is_kme))
207 io_base = link->resource[0]->start;
208 if (link->resource[1]->end)
209 ctl_base = link->resource[1]->start;
211 ctl_base = link->resource[0]->start + 0x0e;
213 if (!link->irq)
216 ret = pcmcia_enable_device(link);
227 host = idecs_register(io_base, ctl_base, link->irq, link);
228 if (host == NULL && resource_size(link->resource[0]) == 0x20) {
231 link->irq, link);
239 dev_info(&link->dev, "ide-cs: hd%c: Vpp = %d.%d\n",
241 link->vpp / 10, link->vpp % 10);
246 ide_release(link);
250 static void ide_release(struct pcmcia_device *link)
252 ide_info_t *info = link->priv;
255 dev_dbg(&link->dev, "ide_release(0x%p)\n", link);
271 pcmcia_disable_device(link);