Lines Matching refs:brd
1658 struct mxser_board *brd = dev_id; in mxser_interrupt() local
1661 unsigned int i, max = brd->nports; in mxser_interrupt()
1666 irqbits = inb(brd->vector) & mask; in mxser_interrupt()
1676 port = &brd->ports[i]; in mxser_interrupt()
1727 static void mxser_initbrd(struct mxser_board *brd, bool high_baud) in mxser_initbrd() argument
1733 brd->must_hwid = mxser_must_get_hwid(brd->ports[0].ioaddr); in mxser_initbrd()
1734 is_mu860 = brd->must_hwid == MOXA_MUST_MU860_HWID; in mxser_initbrd()
1737 if (Gpci_uart_info[i].type == brd->must_hwid) { in mxser_initbrd()
1738 brd->max_baud = Gpci_uart_info[i].max_baud; in mxser_initbrd()
1742 brd->max_baud = 921600; in mxser_initbrd()
1749 outb(0, brd->vector + 4); in mxser_initbrd()
1750 outb(0, brd->vector + 0x0c); in mxser_initbrd()
1753 for (i = 0; i < brd->nports; i++) { in mxser_initbrd()
1754 info = &brd->ports[i]; in mxser_initbrd()
1757 info->opmode_ioaddr = brd->vector + 4; in mxser_initbrd()
1759 info->opmode_ioaddr = brd->vector + 0x0c; in mxser_initbrd()
1763 info->board = brd; in mxser_initbrd()
1766 if (brd->must_hwid != MOXA_OTHER_UART) in mxser_initbrd()
1784 struct mxser_board *brd; in mxser_probe() local
1798 brd = devm_kzalloc(&pdev->dev, struct_size(brd, ports, nports), in mxser_probe()
1800 if (!brd) in mxser_probe()
1803 brd->idx = i; in mxser_probe()
1804 __set_bit(brd->idx, mxser_boards); in mxser_probe()
1819 brd->nports = nports; in mxser_probe()
1821 brd->ports[i].ioaddr = ioaddress + 8 * i; in mxser_probe()
1828 brd->vector = ioaddress; in mxser_probe()
1831 brd->irq = pdev->irq; in mxser_probe()
1833 mxser_initbrd(brd, ent->driver_data & MXSER_HIGHBAUD); in mxser_probe()
1835 retval = devm_request_irq(&pdev->dev, brd->irq, mxser_interrupt, in mxser_probe()
1836 IRQF_SHARED, "mxser", brd); in mxser_probe()
1843 tty_dev = tty_port_register_device(&brd->ports[i].port, in mxser_probe()
1854 pci_set_drvdata(pdev, brd); in mxser_probe()
1859 tty_port_destroy(&brd->ports[i].port); in mxser_probe()
1861 __clear_bit(brd->idx, mxser_boards); in mxser_probe()
1868 struct mxser_board *brd = pci_get_drvdata(pdev); in mxser_remove() local
1869 unsigned int i, base = brd->idx * MXSER_PORTS_PER_BOARD; in mxser_remove()
1871 for (i = 0; i < brd->nports; i++) { in mxser_remove()
1873 tty_port_destroy(&brd->ports[i].port); in mxser_remove()
1876 __clear_bit(brd->idx, mxser_boards); in mxser_remove()