Lines Matching refs:link

302 	struct pcmcia_device *link = dev->p_dev;  in pcmciamtd_set_vpp()  local
309 pcmcia_fixup_vpp(link, dev->vpp); in pcmciamtd_set_vpp()
312 pcmcia_fixup_vpp(link, 0); in pcmciamtd_set_vpp()
318 static void pcmciamtd_release(struct pcmcia_device *link) in pcmciamtd_release() argument
320 struct pcmciamtd_dev *dev = link->priv; in pcmciamtd_release()
322 pr_debug("link = 0x%p\n", link); in pcmciamtd_release()
324 if (link->resource[2]->end) { in pcmciamtd_release()
330 pcmcia_disable_device(link); in pcmciamtd_release()
463 static int pcmciamtd_config(struct pcmcia_device *link) in pcmciamtd_config() argument
465 struct pcmciamtd_dev *dev = link->priv; in pcmciamtd_config()
472 pr_debug("link=0x%p\n", link); in pcmciamtd_config()
474 card_settings(dev, link, &new_name); in pcmciamtd_config()
495 link->resource[2]->flags |= WIN_MEMORY_TYPE_CM | WIN_ENABLE; in pcmciamtd_config()
496 link->resource[2]->flags |= (dev->pcmcia_map.bankwidth == 1) ? in pcmciamtd_config()
498 link->resource[2]->start = 0; in pcmciamtd_config()
499 link->resource[2]->end = (force_size) ? force_size << 20 : in pcmciamtd_config()
506 (unsigned long) resource_size(link->resource[2]) >> 10, in pcmciamtd_config()
508 ret = pcmcia_request_window(link, link->resource[2], mem_speed); in pcmciamtd_config()
512 link->resource[2]->start = 0; in pcmciamtd_config()
513 link->resource[2]->end = (force_size) ? in pcmciamtd_config()
515 link->resource[2]->end >>= j; in pcmciamtd_config()
518 resource_size(link->resource[2]) >> 10); in pcmciamtd_config()
519 dev->win_size = resource_size(link->resource[2]); in pcmciamtd_config()
522 } while (link->resource[2]->end >= 0x1000); in pcmciamtd_config()
528 pcmciamtd_release(link); in pcmciamtd_config()
534 dev->win_base = ioremap(link->resource[2]->start, in pcmciamtd_config()
535 resource_size(link->resource[2])); in pcmciamtd_config()
538 link->resource[2]); in pcmciamtd_config()
539 pcmciamtd_release(link); in pcmciamtd_config()
543 dev, link->resource[2], dev->win_base); in pcmciamtd_config()
547 dev->pcmcia_map.map_priv_2 = (unsigned long)link->resource[2]; in pcmciamtd_config()
549 dev->vpp = (vpp) ? vpp : link->socket->socket.Vpp; in pcmciamtd_config()
551 link->vpp = dev->vpp; in pcmciamtd_config()
553 link->vpp = 0; in pcmciamtd_config()
556 link->config_index = 0; in pcmciamtd_config()
558 ret = pcmcia_enable_device(link); in pcmciamtd_config()
584 pcmciamtd_release(link); in pcmciamtd_config()
628 pcmciamtd_release(link); in pcmciamtd_config()
655 static void pcmciamtd_detach(struct pcmcia_device *link) in pcmciamtd_detach() argument
657 struct pcmciamtd_dev *dev = link->priv; in pcmciamtd_detach()
659 pr_debug("link=0x%p\n", link); in pcmciamtd_detach()
668 pcmciamtd_release(link); in pcmciamtd_detach()
672 static int pcmciamtd_probe(struct pcmcia_device *link) in pcmciamtd_probe() argument
681 dev->p_dev = link; in pcmciamtd_probe()
682 link->priv = dev; in pcmciamtd_probe()
684 return pcmciamtd_config(link); in pcmciamtd_probe()