Lines Matching refs:brd

54 	struct jsm_board *brd;
69 brd = kzalloc(sizeof(*brd), GFP_KERNEL);
70 if (!brd) {
76 brd->boardnum = adapter_count++;
77 brd->pci_dev = pdev;
85 brd->maxports = 2;
94 brd->maxports = 4;
102 brd->maxports = 8;
106 brd->maxports = 1;
110 spin_lock_init(&brd->bd_intr_lock);
113 brd->rev = pdev->revision;
115 brd->irq = pdev->irq;
123 jsm_dbg(INIT, &brd->pci_dev,
137 brd->membase = pci_resource_start(pdev, 4);
138 brd->membase_end = pci_resource_end(pdev, 4);
140 if (brd->membase & 0x1)
141 brd->membase &= ~0x3;
143 brd->membase &= ~0xF;
145 brd->iobase = pci_resource_start(pdev, 1);
146 brd->iobase_end = pci_resource_end(pdev, 1);
147 brd->iobase = ((unsigned int)(brd->iobase)) & 0xFFFE;
150 brd->bd_ops = &jsm_cls_ops;
152 brd->bd_uart_offset = 0x8;
153 brd->bd_dividend = 921600;
155 brd->re_map_membase = ioremap(brd->membase,
157 if (!brd->re_map_membase) {
169 outb(0x43, brd->iobase + 0x4c);
186 jsm_dbg(INIT, &brd->pci_dev, "jsm_found_board - NEO adapter\n");
189 brd->membase = pci_resource_start(pdev, 0);
190 brd->membase_end = pci_resource_end(pdev, 0);
192 if (brd->membase & 1)
193 brd->membase &= ~0x3;
195 brd->membase &= ~0xF;
198 brd->bd_ops = &jsm_neo_ops;
200 brd->bd_uart_offset = 0x200;
201 brd->bd_dividend = 921600;
203 brd->re_map_membase = ioremap(brd->membase,
205 if (!brd->re_map_membase) {
218 rc = request_irq(brd->irq, brd->bd_ops->intr, IRQF_SHARED, "JSM", brd);
220 dev_warn(&pdev->dev, "Failed to hook IRQ %d\n", brd->irq);
224 rc = jsm_tty_init(brd);
231 rc = jsm_uart_port_init(brd);
241 adapter_count, brd->rev, brd->irq);
243 pci_set_drvdata(pdev, brd);
248 jsm_remove_uart_port(brd);
249 free_irq(brd->irq, brd);
251 iounmap(brd->re_map_membase);
253 kfree(brd);
264 struct jsm_board *brd = pci_get_drvdata(pdev);
273 outb(0x0, brd->iobase + 0x4c);
279 jsm_remove_uart_port(brd);
281 free_irq(brd->irq, brd);
282 iounmap(brd->re_map_membase);
285 for (i = 0; i < brd->maxports; i++) {
286 if (brd->channels[i]) {
287 kfree(brd->channels[i]->ch_rqueue);
288 kfree(brd->channels[i]->ch_equeue);
289 kfree(brd->channels[i]);
295 kfree(brd);
332 struct jsm_board *brd = pci_get_drvdata(pdev);
334 jsm_remove_uart_port(brd);
355 struct jsm_board *brd = pci_get_drvdata(pdev);
360 jsm_uart_port_init(brd);