• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/pcmcia/

Lines Matching defs:link

268 static int smc91c92_config(struct pcmcia_device *link);
269 static void smc91c92_release(struct pcmcia_device *link);
311 static int smc91c92_probe(struct pcmcia_device *link)
316 dev_dbg(&link->dev, "smc91c92_attach()\n");
323 smc->p_dev = link;
324 link->priv = dev;
327 link->resource[0]->end = 16;
328 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO;
329 link->conf.Attributes = CONF_ENABLE_IRQ;
330 link->conf.IntType = INT_MEMORY_AND_IO;
343 return smc91c92_config(link);
355 static void smc91c92_detach(struct pcmcia_device *link)
357 struct net_device *dev = link->priv;
359 dev_dbg(&link->dev, "smc91c92_detach\n");
363 smc91c92_release(link);
400 static int mhz_3288_power(struct pcmcia_device *link)
402 struct net_device *dev = link->priv;
415 tmp = readb(smc->base + link->conf.ConfigBase + CISREG_COR);
417 writeb(tmp, smc->base + link->conf.ConfigBase + CISREG_COR);
441 static int mhz_mfc_config(struct pcmcia_device *link)
443 struct net_device *dev = link->priv;
449 link->conf.Attributes |= CONF_ENABLE_SPKR;
450 link->conf.Status = CCSR_AUDIO_ENA;
451 link->resource[1]->flags |= IO_DATA_PATH_WIDTH_8;
452 link->resource[1]->end = 8;
456 if (pcmcia_loop_config(link, mhz_mfc_config_check, NULL))
459 dev->base_addr = link->resource[0]->start;
465 i = pcmcia_request_window(link, &req, &link->win);
470 offset = (smc->manfid == MANFID_MOTOROLA) ? link->conf.ConfigBase : 0;
471 i = pcmcia_map_mem_page(link, link->win, offset);
475 mhz_3288_power(link);
499 static int mhz_setup(struct pcmcia_device *link)
501 struct net_device *dev = link->priv;
508 if ((link->prod_id[3]) &&
509 (cvt_ascii_address(dev, link->prod_id[3]) == 0))
514 if (!pcmcia_loop_tuple(link, CISTPL_VERS_1, pcmcia_get_versmac, dev))
519 len = pcmcia_get_tuple(link, 0x81, &buf);
539 static void mot_config(struct pcmcia_device *link)
541 struct net_device *dev = link->priv;
544 unsigned int iouart = link->resource[1]->start;
560 static int mot_setup(struct pcmcia_device *link)
562 struct net_device *dev = link->priv;
605 static int smc_config(struct pcmcia_device *link)
607 struct net_device *dev = link->priv;
610 link->resource[0]->end = 16;
611 i = pcmcia_loop_config(link, smc_configcheck, NULL);
613 dev->base_addr = link->resource[0]->start;
619 static int smc_setup(struct pcmcia_device *link)
621 struct net_device *dev = link->priv;
624 if (!pcmcia_get_mac_from_cis(link, dev))
628 if (link->prod_id[2]) {
629 if (cvt_ascii_address(dev, link->prod_id[2]) == 0)
637 static int osi_config(struct pcmcia_device *link)
639 struct net_device *dev = link->priv;
643 link->conf.Attributes |= CONF_ENABLE_SPKR;
644 link->conf.Status = CCSR_AUDIO_ENA;
645 link->resource[0]->end = 64;
646 link->resource[1]->flags |= IO_DATA_PATH_WIDTH_8;
647 link->resource[1]->end = 8;
650 link->conf.ConfigIndex = 0x23;
651 link->io_lines = 16;
654 link->resource[1]->start = com[j];
655 i = pcmcia_request_io(link);
661 link->conf.ConfigIndex = 0x03;
662 link->resource[1]->end = 0;
663 i = pcmcia_request_io(link);
665 dev->base_addr = link->resource[0]->start + 0x10;
669 static int osi_load_firmware(struct pcmcia_device *link)
674 err = request_firmware(&fw, FIRMWARE_NAME, &link->dev);
682 outb(fw->data[i], link->resource[0]->start + 2);
706 static int osi_setup(struct pcmcia_device *link, u_short manfid, u_short cardid)
708 struct net_device *dev = link->priv;
712 if (pcmcia_loop_tuple(link, 0x90, pcmcia_osi_mac, dev))
719 rc = osi_load_firmware(link);
724 set_bits(0x300, link->resource[0]->start + OSITECH_AUI_PWR);
726 set_bits(0x300, link->resource[0]->start + OSITECH_RESET_ISR);
727 dev_dbg(&link->dev, "AUI/PWR: %4.4x RESET/ISR: %4.4x\n",
728 inw(link->resource[0]->start + OSITECH_AUI_PWR),
729 inw(link->resource[0]->start + OSITECH_RESET_ISR));
734 static int smc91c92_suspend(struct pcmcia_device *link)
736 struct net_device *dev = link->priv;
738 if (link->open)
744 static int smc91c92_resume(struct pcmcia_device *link)
746 struct net_device *dev = link->priv;
752 mhz_3288_power(link);
754 mot_config(link);
765 i = osi_load_firmware(link);
771 if (link->open) {
787 static int check_sig(struct pcmcia_device *link)
789 struct net_device *dev = link->priv;
802 width = (link->resource[0]->flags == IO_DATA_PATH_WIDTH_AUTO);
825 smc91c92_suspend(link);
826 pcmcia_modify_configuration(link, &mod);
827 smc91c92_resume(link);
828 return check_sig(link);
841 static int smc91c92_config(struct pcmcia_device *link)
843 struct net_device *dev = link->priv;
850 dev_dbg(&link->dev, "smc91c92_config\n");
852 smc->manfid = link->manf_id;
853 smc->cardid = link->card_id;
857 i = osi_config(link);
862 i = mhz_mfc_config(link);
864 i = smc_config(link);
869 i = pcmcia_request_irq(link, smc_interrupt);
872 i = pcmcia_request_configuration(link, &link->conf);
877 mot_config(link);
879 dev->irq = link->irq;
889 i = osi_setup(link, smc->manfid, smc->cardid); break;
892 i = smc_setup(link); break;
895 i = mhz_setup(link); break;
898 i = mot_setup(link); break;
909 rev = check_sig(link);
952 SET_NETDEV_DEV(dev, &link->dev);
975 dev_dbg(&link->dev, " MII transceiver at index %d, status %x.\n",
986 smc91c92_release(link);
999 static void smc91c92_release(struct pcmcia_device *link)
1001 dev_dbg(&link->dev, "smc91c92_release\n");
1002 if (link->win) {
1003 struct net_device *dev = link->priv;
1007 pcmcia_disable_device(link);
1096 struct pcmcia_device *link = smc->p_dev;
1098 dev_dbg(&link->dev, "%s: smc_open(%p), ID/Window %4.4x.\n",
1105 if (!pcmcia_dev_present(link))
1108 if (check_sig(link) < 0) {
1112 link->open++;
1133 struct pcmcia_device *link = smc->p_dev;
1136 dev_dbg(&link->dev, "%s: smc_close(), status %4.4x.\n",
1153 link->open--;
1380 /* Clear a link error interrupt. */
1709 Accept link errors, counter and Tx error interrupts. */
1767 u_short link;
1819 link = mdio_read(dev, smc->mii_if.phy_id, 1);
1820 if (!link || (link == 0xffff)) {
1826 link &= 0x0004;
1827 if (link != smc->link_status) {
1829 printk(KERN_INFO "%s: %s link beat\n", dev->name,
1830 (link) ? "found" : "lost");
1833 if (link) {
1841 smc->link_status = link;
1856 printk(KERN_INFO "%s: %s link beat\n", dev->name,