Lines Matching refs:link
402 static int nmclan_config(struct pcmcia_device *link);
403 static void nmclan_release(struct pcmcia_device *link);
435 static int nmclan_probe(struct pcmcia_device *link) in nmclan_probe() argument
440 dev_dbg(&link->dev, "nmclan_attach()\n"); in nmclan_probe()
447 lp->p_dev = link; in nmclan_probe()
448 link->priv = dev; in nmclan_probe()
451 link->resource[0]->end = 32; in nmclan_probe()
452 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO; in nmclan_probe()
453 link->config_flags |= CONF_ENABLE_IRQ; in nmclan_probe()
454 link->config_index = 1; in nmclan_probe()
455 link->config_regs = PRESENT_OPTION; in nmclan_probe()
463 return nmclan_config(link); in nmclan_probe()
466 static void nmclan_detach(struct pcmcia_device *link) in nmclan_detach() argument
468 struct net_device *dev = link->priv; in nmclan_detach()
470 dev_dbg(&link->dev, "nmclan_detach\n"); in nmclan_detach()
474 nmclan_release(link); in nmclan_detach()
609 static int nmclan_config(struct pcmcia_device *link) in nmclan_config() argument
611 struct net_device *dev = link->priv; in nmclan_config()
618 dev_dbg(&link->dev, "nmclan_config\n"); in nmclan_config()
620 link->io_lines = 5; in nmclan_config()
621 ret = pcmcia_request_io(link); in nmclan_config()
624 ret = pcmcia_request_irq(link, mace_interrupt); in nmclan_config()
627 ret = pcmcia_enable_device(link); in nmclan_config()
631 dev->irq = link->irq; in nmclan_config()
632 dev->base_addr = link->resource[0]->start; in nmclan_config()
637 len = pcmcia_get_tuple(link, 0x80, &buf); in nmclan_config()
652 dev_dbg(&link->dev, "nmclan_cs configured: mace id=%x %x\n", in nmclan_config()
670 SET_NETDEV_DEV(dev, &link->dev); in nmclan_config()
683 nmclan_release(link); in nmclan_config()
687 static void nmclan_release(struct pcmcia_device *link) in nmclan_release() argument
689 dev_dbg(&link->dev, "nmclan_release\n"); in nmclan_release()
690 pcmcia_disable_device(link); in nmclan_release()
693 static int nmclan_suspend(struct pcmcia_device *link) in nmclan_suspend() argument
695 struct net_device *dev = link->priv; in nmclan_suspend()
697 if (link->open) in nmclan_suspend()
703 static int nmclan_resume(struct pcmcia_device *link) in nmclan_resume() argument
705 struct net_device *dev = link->priv; in nmclan_resume()
707 if (link->open) { in nmclan_resume()
725 struct pcmcia_device *link = &lp->link; in nmclan_reset() local
729 pcmcia_read_config_byte(link, CISREG_COR, &OrigCorValue); in nmclan_reset()
732 dev_dbg(&link->dev, "nmclan_reset: OrigCorValue=0x%x, resetting...\n", in nmclan_reset()
734 pcmcia_write_config_byte(link, CISREG_COR, COR_SOFT_RESET); in nmclan_reset()
738 pcmcia_write_config_byte(link, CISREG_COR, in nmclan_reset()
782 struct pcmcia_device *link = lp->p_dev; in mace_open() local
784 if (!pcmcia_dev_present(link)) in mace_open()
787 link->open++; in mace_open()
805 struct pcmcia_device *link = lp->p_dev; in mace_close() local
807 dev_dbg(&link->dev, "%s: shutting down ethercard.\n", dev->name); in mace_close()
812 link->open--; in mace_close()
845 struct pcmcia_device *link = lp->p_dev; in mace_tx_timeout() local
850 pcmcia_reset_card(link->socket); in mace_tx_timeout()