• Home
  • Raw
  • Download

Lines Matching refs:pcidev

142 	void	(*exit)(struct pci_dev *pcidev);
225 static int default_setup(struct exar8250 *priv, struct pci_dev *pcidev, in default_setup() argument
234 port->port.mapbase = pci_resource_start(pcidev, bar) + offset; in default_setup()
264 pci_fastcom335_setup(struct exar8250 *priv, struct pci_dev *pcidev, in pci_fastcom335_setup() argument
274 err = default_setup(priv, pcidev, idx, offset, port); in pci_fastcom335_setup()
289 switch (pcidev->device) { in pci_fastcom335_setup()
312 pci_connect_tech_setup(struct exar8250 *priv, struct pci_dev *pcidev, in pci_connect_tech_setup() argument
319 return default_setup(priv, pcidev, idx, offset, port); in pci_connect_tech_setup()
323 pci_xr17c154_setup(struct exar8250 *priv, struct pci_dev *pcidev, in pci_xr17c154_setup() argument
330 return default_setup(priv, pcidev, idx, offset, port); in pci_xr17c154_setup()
333 static void setup_gpio(struct pci_dev *pcidev, u8 __iomem *p) in setup_gpio() argument
343 if ((pcidev->vendor == PCI_VENDOR_ID_EXAR) && in setup_gpio()
344 (pcidev->subsystem_vendor != PCI_VENDOR_ID_SEALEVEL)) { in setup_gpio()
366 static struct platform_device *__xr17v35x_register_gpio(struct pci_dev *pcidev, in __xr17v35x_register_gpio() argument
375 pdev->dev.parent = &pcidev->dev; in __xr17v35x_register_gpio()
376 ACPI_COMPANION_SET(&pdev->dev, ACPI_COMPANION(&pcidev->dev)); in __xr17v35x_register_gpio()
403 static int xr17v35x_register_gpio(struct pci_dev *pcidev, struct uart_8250_port *port) in xr17v35x_register_gpio() argument
405 if (pcidev->vendor == PCI_VENDOR_ID_EXAR) in xr17v35x_register_gpio()
407 __xr17v35x_register_gpio(pcidev, &exar_gpio_node); in xr17v35x_register_gpio()
493 static int iot2040_register_gpio(struct pci_dev *pcidev, in iot2040_register_gpio() argument
504 __xr17v35x_register_gpio(pcidev, &iot2040_gpio_node); in iot2040_register_gpio()
542 pci_xr17v35x_setup(struct exar8250 *priv, struct pci_dev *pcidev, in pci_xr17v35x_setup() argument
561 ret = default_setup(priv, pcidev, idx, offset, port); in pci_xr17v35x_setup()
574 setup_gpio(pcidev, p); in pci_xr17v35x_setup()
576 ret = platform->register_gpio(pcidev, port); in pci_xr17v35x_setup()
582 static void pci_xr17v35x_exit(struct pci_dev *pcidev) in pci_xr17v35x_exit() argument
585 struct exar8250 *priv = pci_get_drvdata(pcidev); in pci_xr17v35x_exit()
618 exar_pci_probe(struct pci_dev *pcidev, const struct pci_device_id *ent) in exar_pci_probe() argument
630 rc = pcim_enable_device(pcidev); in exar_pci_probe()
634 maxnr = pci_resource_len(pcidev, bar) >> (board->reg_shift + 3); in exar_pci_probe()
636 if (pcidev->vendor == PCI_VENDOR_ID_ACCESSIO) in exar_pci_probe()
637 nr_ports = BIT(((pcidev->device & 0x38) >> 3) - 1); in exar_pci_probe()
640 else if (pcidev->vendor == PCI_VENDOR_ID_SEALEVEL) in exar_pci_probe()
641 nr_ports = pcidev->device & 0xff; in exar_pci_probe()
643 nr_ports = pcidev->device & 0x0f; in exar_pci_probe()
645 priv = devm_kzalloc(&pcidev->dev, struct_size(priv, line, nr_ports), GFP_KERNEL); in exar_pci_probe()
650 priv->virt = pcim_iomap(pcidev, bar, 0); in exar_pci_probe()
654 pci_set_master(pcidev); in exar_pci_probe()
656 rc = pci_alloc_irq_vectors(pcidev, 1, 1, PCI_IRQ_ALL_TYPES); in exar_pci_probe()
662 uart.port.irq = pci_irq_vector(pcidev, 0); in exar_pci_probe()
663 uart.port.dev = &pcidev->dev; in exar_pci_probe()
665 rc = devm_request_irq(&pcidev->dev, uart.port.irq, exar_misc_handler, in exar_pci_probe()
674 rc = board->setup(priv, pcidev, &uart, i); in exar_pci_probe()
676 dev_err(&pcidev->dev, "Failed to setup port %u\n", i); in exar_pci_probe()
680 dev_dbg(&pcidev->dev, "Setup PCI port: port %lx, irq %d, type %d\n", in exar_pci_probe()
685 dev_err(&pcidev->dev, in exar_pci_probe()
693 pci_set_drvdata(pcidev, priv); in exar_pci_probe()
697 static void exar_pci_remove(struct pci_dev *pcidev) in exar_pci_remove() argument
699 struct exar8250 *priv = pci_get_drvdata(pcidev); in exar_pci_remove()
706 priv->board->exit(pcidev); in exar_pci_remove()
711 struct pci_dev *pcidev = to_pci_dev(dev); in exar_suspend() local
712 struct exar8250 *priv = pci_get_drvdata(pcidev); in exar_suspend()
721 priv->board->exit(pcidev); in exar_suspend()