• 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 refs:link

79 static int axnet_config(struct pcmcia_device *link);
80 static void axnet_release(struct pcmcia_device *link);
151 static int axnet_probe(struct pcmcia_device *link)
157 dev_dbg(&link->dev, "axnet_attach()\n");
167 info->p_dev = link;
168 link->priv = dev;
169 link->conf.Attributes = CONF_ENABLE_IRQ;
170 link->conf.IntType = INT_MEMORY_AND_IO;
177 return axnet_config(link);
189 static void axnet_detach(struct pcmcia_device *link)
191 struct net_device *dev = link->priv;
193 dev_dbg(&link->dev, "axnet_detach(0x%p)\n", link);
197 axnet_release(link);
208 static int get_prom(struct pcmcia_device *link)
210 struct net_device *dev = link->priv;
234 if (link->conf.ConfigBase != 0x03c0)
259 static int try_io_port(struct pcmcia_device *link)
262 link->resource[0]->flags &= ~IO_DATA_PATH_WIDTH;
263 link->resource[1]->flags &= ~IO_DATA_PATH_WIDTH;
264 if (link->resource[0]->end == 32) {
265 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO;
267 if (link->resource[1]->end > 0)
268 link->resource[1]->flags |= IO_DATA_PATH_WIDTH_8;
271 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8;
272 link->resource[1]->flags |= IO_DATA_PATH_WIDTH_16;
274 if (link->resource[0]->start == 0) {
276 link->resource[0]->start = j ^ 0x300;
277 link->resource[1]->start = (j ^ 0x300) + 0x10;
278 link->io_lines = 16;
279 ret = pcmcia_request_io(link);
285 return pcmcia_request_io(link);
320 static int axnet_config(struct pcmcia_device *link)
322 struct net_device *dev = link->priv;
326 dev_dbg(&link->dev, "axnet_config(0x%p)\n", link);
329 link->conf.Present = 0x63;
330 ret = pcmcia_loop_config(link, axnet_configcheck, NULL);
334 if (!link->irq)
337 if (resource_size(link->resource[1]) == 8) {
338 link->conf.Attributes |= CONF_ENABLE_SPKR;
339 link->conf.Status = CCSR_AUDIO_ENA;
342 ret = pcmcia_request_configuration(link, &link->conf);
346 dev->irq = link->irq;
347 dev->base_addr = link->resource[0]->start;
349 if (!get_prom(link)) {
383 pcmcia_write_config_byte(link, CISREG_CCSR, 0x04);
393 SET_NETDEV_DEV(dev, &link->dev);
406 dev_dbg(&link->dev, " MII transceiver at index %d, status %x.\n", info->phy_id, j);
413 axnet_release(link);
425 static void axnet_release(struct pcmcia_device *link)
427 pcmcia_disable_device(link);
430 static int axnet_suspend(struct pcmcia_device *link)
432 struct net_device *dev = link->priv;
434 if (link->open)
440 static int axnet_resume(struct pcmcia_device *link)
442 struct net_device *dev = link->priv;
444 if (link->open) {
518 struct pcmcia_device *link = info->p_dev;
521 dev_dbg(&link->dev, "axnet_open('%s')\n", dev->name);
523 if (!pcmcia_dev_present(link))
531 link->open++;
548 struct pcmcia_device *link = info->p_dev;
550 dev_dbg(&link->dev, "axnet_close('%s')\n", dev->name);
555 link->open--;
608 u_short link;
629 link = mdio_read(mii_addr, info->phy_id, 1);
630 if (!link || (link == 0xffff)) {
636 link &= 0x0004;
637 if (link != info->link_status) {
639 printk(KERN_INFO "%s: %s link beat\n", dev->name,
640 (link) ? "found" : "lost");
641 if (link) {
649 printk(KERN_INFO "%s: link partner did not autonegotiate\n",
653 info->link_status = link;