Lines Matching refs:brd
1660 struct mxser_board *brd = dev_id; in mxser_interrupt() local
1663 unsigned int i, max = brd->nports; in mxser_interrupt()
1668 irqbits = inb(brd->vector) & mask; in mxser_interrupt()
1678 port = &brd->ports[i]; in mxser_interrupt()
1729 static void mxser_initbrd(struct mxser_board *brd, bool high_baud) in mxser_initbrd() argument
1735 brd->must_hwid = mxser_must_get_hwid(brd->ports[0].ioaddr); in mxser_initbrd()
1736 is_mu860 = brd->must_hwid == MOXA_MUST_MU860_HWID; in mxser_initbrd()
1739 if (Gpci_uart_info[i].type == brd->must_hwid) { in mxser_initbrd()
1740 brd->max_baud = Gpci_uart_info[i].max_baud; in mxser_initbrd()
1744 brd->max_baud = 921600; in mxser_initbrd()
1751 outb(0, brd->vector + 4); in mxser_initbrd()
1752 outb(0, brd->vector + 0x0c); in mxser_initbrd()
1755 for (i = 0; i < brd->nports; i++) { in mxser_initbrd()
1756 info = &brd->ports[i]; in mxser_initbrd()
1759 info->opmode_ioaddr = brd->vector + 4; in mxser_initbrd()
1761 info->opmode_ioaddr = brd->vector + 0x0c; in mxser_initbrd()
1765 info->board = brd; in mxser_initbrd()
1768 if (brd->must_hwid != MOXA_OTHER_UART) in mxser_initbrd()
1788 struct mxser_board *brd; in mxser_probe() local
1802 brd = devm_kzalloc(&pdev->dev, struct_size(brd, ports, nports), in mxser_probe()
1804 if (!brd) in mxser_probe()
1807 brd->idx = i; in mxser_probe()
1808 __set_bit(brd->idx, mxser_boards); in mxser_probe()
1823 brd->nports = nports; in mxser_probe()
1825 brd->ports[i].ioaddr = ioaddress + 8 * i; in mxser_probe()
1832 brd->vector = ioaddress; in mxser_probe()
1835 brd->irq = pdev->irq; in mxser_probe()
1837 mxser_initbrd(brd, ent->driver_data & MXSER_HIGHBAUD); in mxser_probe()
1839 retval = devm_request_irq(&pdev->dev, brd->irq, mxser_interrupt, in mxser_probe()
1840 IRQF_SHARED, "mxser", brd); in mxser_probe()
1847 tty_dev = tty_port_register_device(&brd->ports[i].port, in mxser_probe()
1858 pci_set_drvdata(pdev, brd); in mxser_probe()
1863 tty_port_destroy(&brd->ports[i].port); in mxser_probe()
1865 __clear_bit(brd->idx, mxser_boards); in mxser_probe()
1872 struct mxser_board *brd = pci_get_drvdata(pdev); in mxser_remove() local
1873 unsigned int i, base = brd->idx * MXSER_PORTS_PER_BOARD; in mxser_remove()
1875 for (i = 0; i < brd->nports; i++) { in mxser_remove()
1877 tty_port_destroy(&brd->ports[i].port); in mxser_remove()
1880 __clear_bit(brd->idx, mxser_boards); in mxser_remove()