Lines Matching refs:brd
1606 struct mxser_board *brd = dev_id; in mxser_interrupt() local
1609 unsigned int i, max = brd->nports; in mxser_interrupt()
1614 irqbits = inb(brd->vector) & mask; in mxser_interrupt()
1624 port = &brd->ports[i]; in mxser_interrupt()
1674 static void mxser_initbrd(struct mxser_board *brd, bool high_baud) in mxser_initbrd() argument
1680 brd->must_hwid = mxser_must_get_hwid(brd->ports[0].ioaddr); in mxser_initbrd()
1681 is_mu860 = brd->must_hwid == MOXA_MUST_MU860_HWID; in mxser_initbrd()
1684 if (Gpci_uart_info[i].type == brd->must_hwid) { in mxser_initbrd()
1685 brd->max_baud = Gpci_uart_info[i].max_baud; in mxser_initbrd()
1689 brd->max_baud = 921600; in mxser_initbrd()
1696 outb(0, brd->vector + 4); in mxser_initbrd()
1697 outb(0, brd->vector + 0x0c); in mxser_initbrd()
1700 for (i = 0; i < brd->nports; i++) { in mxser_initbrd()
1701 info = &brd->ports[i]; in mxser_initbrd()
1704 info->opmode_ioaddr = brd->vector + 4; in mxser_initbrd()
1706 info->opmode_ioaddr = brd->vector + 0x0c; in mxser_initbrd()
1710 info->board = brd; in mxser_initbrd()
1713 if (brd->must_hwid != MOXA_OTHER_UART) in mxser_initbrd()
1731 struct mxser_board *brd; in mxser_probe() local
1745 brd = devm_kzalloc(&pdev->dev, struct_size(brd, ports, nports), in mxser_probe()
1747 if (!brd) in mxser_probe()
1750 brd->idx = i; in mxser_probe()
1751 __set_bit(brd->idx, mxser_boards); in mxser_probe()
1766 brd->nports = nports; in mxser_probe()
1768 brd->ports[i].ioaddr = ioaddress + 8 * i; in mxser_probe()
1775 brd->vector = ioaddress; in mxser_probe()
1778 brd->irq = pdev->irq; in mxser_probe()
1780 mxser_initbrd(brd, ent->driver_data & MXSER_HIGHBAUD); in mxser_probe()
1782 retval = devm_request_irq(&pdev->dev, brd->irq, mxser_interrupt, in mxser_probe()
1783 IRQF_SHARED, "mxser", brd); in mxser_probe()
1790 tty_dev = tty_port_register_device(&brd->ports[i].port, in mxser_probe()
1801 pci_set_drvdata(pdev, brd); in mxser_probe()
1806 tty_port_destroy(&brd->ports[i].port); in mxser_probe()
1808 __clear_bit(brd->idx, mxser_boards); in mxser_probe()
1815 struct mxser_board *brd = pci_get_drvdata(pdev); in mxser_remove() local
1816 unsigned int i, base = brd->idx * MXSER_PORTS_PER_BOARD; in mxser_remove()
1818 for (i = 0; i < brd->nports; i++) { in mxser_remove()
1820 tty_port_destroy(&brd->ports[i].port); in mxser_remove()
1823 __clear_bit(brd->idx, mxser_boards); in mxser_remove()