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

Lines Matching defs:link

110 static void quirk_setup_brainboxes_0104(struct pcmcia_device *link, struct uart_port *port)
115 static int quirk_post_ibm(struct pcmcia_device *link)
120 ret = pcmcia_read_config_byte(link, 0x800, &val);
124 ret = pcmcia_write_config_byte(link, 0x800, val | 1);
137 static void quirk_config_nokia(struct pcmcia_device *link)
139 struct serial_info *info = link->priv;
145 static void quirk_wakeup_oxsemi(struct pcmcia_device *link)
147 struct serial_info *info = link->priv;
159 static void quirk_wakeup_possio_gcc(struct pcmcia_device *link)
161 struct serial_info *info = link->priv;
182 static void quirk_config_socket(struct pcmcia_device *link)
184 struct serial_info *info = link->priv;
187 link->conf.Present |= PRESENT_EXT_STATUS;
188 link->conf.ExtStatus = ESR_REQ_ATTN_ENA;
265 static int serial_config(struct pcmcia_device * link);
275 static void serial_remove(struct pcmcia_device *link)
277 struct serial_info *info = link->priv;
280 dev_dbg(&link->dev, "serial_release\n");
289 pcmcia_disable_device(link);
292 static int serial_suspend(struct pcmcia_device *link)
294 struct serial_info *info = link->priv;
303 static int serial_resume(struct pcmcia_device *link)
305 struct serial_info *info = link->priv;
312 info->quirk->wakeup(link);
325 static int serial_probe(struct pcmcia_device *link)
329 dev_dbg(&link->dev, "serial_attach()\n");
335 info->p_dev = link;
336 link->priv = info;
338 link->conf.Attributes = CONF_ENABLE_IRQ;
340 link->conf.Attributes |= CONF_ENABLE_SPKR;
341 link->conf.Status = CCSR_AUDIO_ENA;
343 link->conf.IntType = INT_MEMORY_AND_IO;
345 return serial_config(link);
357 static void serial_detach(struct pcmcia_device *link)
359 struct serial_info *info = link->priv;
361 dev_dbg(&link->dev, "serial_detach\n");
371 serial_remove(link);
478 static int simple_config(struct pcmcia_device *link)
480 struct serial_info *info = link->priv;
483 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8;
484 link->resource[0]->end = 8;
489 if (!pcmcia_loop_config(link, simple_config_check, &try))
495 if (!pcmcia_loop_config(link, simple_config_check_notpicky, NULL))
498 dev_warn(&link->dev, "no usable port range found, giving up\n");
503 link->conf.ConfigIndex &= ~(0x08);
509 info->quirk->config(link);
511 i = pcmcia_request_configuration(link, &link->conf);
514 return setup_serial(link, info, link->resource[0]->start, link->irq);
558 static int multi_config(struct pcmcia_device *link)
560 struct serial_info *info = link->priv;
564 link->resource[0]->flags |= IO_DATA_PATH_WIDTH_8;
565 link->resource[0]->end = info->multi * 8;
566 if (pcmcia_loop_config(link, multi_config_check, &base2)) {
568 link->resource[0]->end = link->resource[1]->end = 8;
570 if (pcmcia_loop_config(link, multi_config_check_notpicky,
572 dev_warn(&link->dev, "no usable port range "
578 if (!link->irq)
579 dev_warn(&link->dev, "no usable IRQ found, continuing...\n");
585 info->quirk->config(link);
587 i = pcmcia_request_configuration(link, &link->conf);
599 if (link->conf.ConfigIndex == 1 ||
600 link->conf.ConfigIndex == 3) {
601 err = setup_serial(link, info, base2,
602 link->irq);
603 base2 = link->resource[0]->start;;
605 err = setup_serial(link, info, link->resource[0]->start,
606 link->irq);
611 info->quirk->wakeup(link);
616 setup_serial(link, info, link->resource[0]->start, link->irq);
618 setup_serial(link, info, base2 + (8 * i),
619 link->irq);
650 static int serial_config(struct pcmcia_device * link)
652 struct serial_info *info = link->priv;
655 dev_dbg(&link->dev, "serial_config\n");
658 info->multi = (link->socket->functions > 1);
661 info->manfid = link->manf_id;
662 info->prodid = link->card_id;
676 (link->has_func_id) &&
677 (link->socket->pcmcia_pfc == 0) &&
678 ((link->func_id == CISTPL_FUNCID_MULTI) ||
679 (link->func_id == CISTPL_FUNCID_SERIAL)))
680 pcmcia_loop_config(link, serial_check_for_multi, info);
688 dev_info(&link->dev,
690 link->manf_id, link->card_id,
691 link->socket->pcmcia_pfc, info->multi, info->quirk);
692 if (link->socket->pcmcia_pfc)
693 i = pfc_config(link);
695 i = multi_config(link);
697 i = simple_config(link);
703 if (info->quirk->post(link))
709 dev_warn(&link->dev, "failed to initialize\n");
710 serial_remove(link);