• 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 fmvj18x_config(struct pcmcia_device *link);
80 static int fmvj18x_get_hwinfo(struct pcmcia_device *link, u_char *node_id);
81 static int fmvj18x_setup_mfc(struct pcmcia_device *link);
82 static void fmvj18x_release(struct pcmcia_device *link);
234 static int fmvj18x_probe(struct pcmcia_device *link)
239 dev_dbg(&link->dev, "fmvj18x_attach()\n");
246 link->priv = dev;
247 lp->p_dev = link;
251 link->resource[0]->end = 32;
252 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_AUTO;
255 link->conf.Attributes = CONF_ENABLE_IRQ;
256 link->conf.IntType = INT_MEMORY_AND_IO;
263 return fmvj18x_config(link);
268 static void fmvj18x_detach(struct pcmcia_device *link)
270 struct net_device *dev = link->priv;
272 dev_dbg(&link->dev, "fmvj18x_detach\n");
276 fmvj18x_release(link);
283 static int mfc_try_io_port(struct pcmcia_device *link)
290 link->resource[1]->start = serial_base[i];
291 link->resource[1]->flags |= IO_DATA_PATH_WIDTH_8;
292 if (link->resource[1]->start == 0) {
293 link->resource[1]->end = 0;
296 ret = pcmcia_request_io(link);
303 static int ungermann_try_io_port(struct pcmcia_device *link)
312 link->resource[0]->start = ioaddr;
313 ret = pcmcia_request_io(link);
316 link->conf.ConfigIndex =
317 ((link->resource[0]->start & 0x0f0) >> 3) | 0x22;
333 static int fmvj18x_config(struct pcmcia_device *link)
335 struct net_device *dev = link->priv;
345 dev_dbg(&link->dev, "fmvj18x_config\n");
347 link->io_lines = 5;
349 len = pcmcia_get_tuple(link, CISTPL_FUNCE, &buf);
354 ret = pcmcia_loop_config(link, fmvj18x_ioprobe, NULL);
358 switch (link->manf_id) {
361 if (link->card_id == PRODID_TDK_GN3410 ||
362 link->card_id == PRODID_TDK_NP9610 ||
363 link->card_id == PRODID_TDK_MN3200) {
365 link->conf.ConfigBase = 0x800;
366 link->conf.ConfigIndex = 0x47;
367 link->resource[1]->end = 8;
372 link->conf.ConfigBase = 0x800;
373 link->conf.ConfigIndex = 0x47;
374 link->resource[1]->end = 8;
378 link->conf.ConfigBase = 0x800;
379 link->conf.ConfigIndex = 0x47;
380 link->resource[1]->end = 8;
386 if (link->conf.ConfigBase == 0x0fe0)
388 else if (link->card_id == PRODID_FUJITSU_MBH10302)
392 else if (link->card_id == PRODID_FUJITSU_MBH10304)
402 switch (link->manf_id) {
404 if (link->card_id == PRODID_FUJITSU_MBH10304) {
406 link->conf.ConfigIndex = 0x20;
409 link->conf.ConfigIndex = 1;
417 link->conf.ConfigIndex = 1;
421 if (link->resource[1]->end != 0) {
422 ret = mfc_try_io_port(link);
425 ret = ungermann_try_io_port(link);
428 ret = pcmcia_request_io(link);
432 ret = pcmcia_request_irq(link, fjn_interrupt);
435 ret = pcmcia_request_configuration(link, &link->conf);
439 dev->irq = link->irq;
440 dev->base_addr = link->resource[0]->start;
442 if (resource_size(link->resource[1]) != 0) {
443 ret = fmvj18x_setup_mfc(link);
472 len = pcmcia_get_tuple(link, CISTPL_FUNCE, &buf);
482 if (pcmcia_get_mac_from_cis(link, dev))
505 if (fmvj18x_get_hwinfo(link, buggybuf) == -1) {
524 SET_NETDEV_DEV(dev, &link->dev);
540 fmvj18x_release(link);
545 static int fmvj18x_get_hwinfo(struct pcmcia_device *link, u_char *node_id)
555 i = pcmcia_request_window(link, &req, &link->win);
560 pcmcia_map_mem_page(link, link->win, 0);
585 j = pcmcia_release_window(link, link->win);
591 static int fmvj18x_setup_mfc(struct pcmcia_device *link)
595 struct net_device *dev = link->priv;
603 i = pcmcia_request_window(link, &req, &link->win);
613 i = pcmcia_map_mem_page(link, link->win, 0);
635 static void fmvj18x_release(struct pcmcia_device *link)
638 struct net_device *dev = link->priv;
643 dev_dbg(&link->dev, "fmvj18x_release\n");
649 j = pcmcia_release_window(link, link->win);
652 pcmcia_disable_device(link);
656 static int fmvj18x_suspend(struct pcmcia_device *link)
658 struct net_device *dev = link->priv;
660 if (link->open)
666 static int fmvj18x_resume(struct pcmcia_device *link)
668 struct net_device *dev = link->priv;
670 if (link->open) {
1089 struct pcmcia_device *link = lp->p_dev;
1093 if (!pcmcia_dev_present(link))
1096 link->open++;
1114 struct pcmcia_device *link = lp->p_dev;
1137 link->open--;