Lines Matching refs:p_dev
82 struct pcmcia_device *p_dev; member
311 info->p_dev = link; in serial_probe()
379 static int pfc_config(struct pcmcia_device *p_dev) in pfc_config() argument
382 struct serial_info *info = p_dev->priv; in pfc_config()
384 if ((p_dev->resource[1]->end != 0) && in pfc_config()
385 (resource_size(p_dev->resource[1]) == 8)) { in pfc_config()
386 port = p_dev->resource[1]->start; in pfc_config()
389 (resource_size(p_dev->resource[0]) == 0x40)) { in pfc_config()
390 port = p_dev->resource[0]->start + 0x28; in pfc_config()
394 return setup_serial(p_dev, info, port, p_dev->irq); in pfc_config()
396 dev_warn(&p_dev->dev, "no usable port range found, giving up\n"); in pfc_config()
400 static int simple_config_check(struct pcmcia_device *p_dev, void *priv_data) in simple_config_check() argument
405 if (p_dev->resource[0]->start == 0) in simple_config_check()
409 p_dev->io_lines = 16; in simple_config_check()
411 if (p_dev->resource[0]->end != size_table[(*try >> 1)]) in simple_config_check()
414 p_dev->resource[0]->end = 8; in simple_config_check()
415 p_dev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH; in simple_config_check()
416 p_dev->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; in simple_config_check()
418 return pcmcia_request_io(p_dev); in simple_config_check()
421 static int simple_config_check_notpicky(struct pcmcia_device *p_dev, in simple_config_check_notpicky() argument
427 if (p_dev->io_lines > 3) in simple_config_check_notpicky()
430 p_dev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH; in simple_config_check_notpicky()
431 p_dev->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; in simple_config_check_notpicky()
432 p_dev->resource[0]->end = 8; in simple_config_check_notpicky()
435 p_dev->resource[0]->start = base[j]; in simple_config_check_notpicky()
436 p_dev->io_lines = base[j] ? 16 : 3; in simple_config_check_notpicky()
437 if (!pcmcia_request_io(p_dev)) in simple_config_check_notpicky()
484 static int multi_config_check(struct pcmcia_device *p_dev, void *priv_data) in multi_config_check() argument
488 if (p_dev->resource[1]->end) in multi_config_check()
495 if (p_dev->resource[0]->end <= 8) in multi_config_check()
498 p_dev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH; in multi_config_check()
499 p_dev->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; in multi_config_check()
500 p_dev->resource[0]->end = *multi * 8; in multi_config_check()
502 if (pcmcia_request_io(p_dev)) in multi_config_check()
507 static int multi_config_check_notpicky(struct pcmcia_device *p_dev, in multi_config_check_notpicky() argument
512 if (!p_dev->resource[0]->end || !p_dev->resource[1]->end || in multi_config_check_notpicky()
513 p_dev->resource[0]->start + 8 != p_dev->resource[1]->start) in multi_config_check_notpicky()
516 p_dev->resource[0]->end = p_dev->resource[1]->end = 8; in multi_config_check_notpicky()
517 p_dev->resource[0]->flags &= ~IO_DATA_PATH_WIDTH; in multi_config_check_notpicky()
518 p_dev->resource[0]->flags |= IO_DATA_PATH_WIDTH_8; in multi_config_check_notpicky()
520 if (pcmcia_request_io(p_dev)) in multi_config_check_notpicky()
523 *base2 = p_dev->resource[0]->start + 8; in multi_config_check_notpicky()
592 static int serial_check_for_multi(struct pcmcia_device *p_dev, void *priv_data) in serial_check_for_multi() argument
594 struct serial_info *info = p_dev->priv; in serial_check_for_multi()
596 if (!p_dev->resource[0]->end) in serial_check_for_multi()
599 if ((!p_dev->resource[1]->end) && (p_dev->resource[0]->end % 8 == 0)) in serial_check_for_multi()
600 info->multi = p_dev->resource[0]->end >> 3; in serial_check_for_multi()
602 if ((p_dev->resource[1]->end) && (p_dev->resource[0]->end == 8) in serial_check_for_multi()
603 && (p_dev->resource[1]->end == 8)) in serial_check_for_multi()