Lines Matching refs:brd
55 struct jsm_board *brd;
70 brd = kzalloc(sizeof(*brd), GFP_KERNEL);
71 if (!brd) {
77 brd->boardnum = adapter_count++;
78 brd->pci_dev = pdev;
86 brd->maxports = 2;
95 brd->maxports = 4;
103 brd->maxports = 8;
107 brd->maxports = 1;
111 spin_lock_init(&brd->bd_intr_lock);
114 brd->rev = pdev->revision;
116 brd->irq = pdev->irq;
124 jsm_dbg(INIT, &brd->pci_dev,
138 brd->membase = pci_resource_start(pdev, 4);
139 brd->membase_end = pci_resource_end(pdev, 4);
141 if (brd->membase & 0x1)
142 brd->membase &= ~0x3;
144 brd->membase &= ~0xF;
146 brd->iobase = pci_resource_start(pdev, 1);
147 brd->iobase_end = pci_resource_end(pdev, 1);
148 brd->iobase = ((unsigned int)(brd->iobase)) & 0xFFFE;
151 brd->bd_ops = &jsm_cls_ops;
153 brd->bd_uart_offset = 0x8;
154 brd->bd_dividend = 921600;
156 brd->re_map_membase = ioremap(brd->membase,
158 if (!brd->re_map_membase) {
170 outb(0x43, brd->iobase + 0x4c);
187 jsm_dbg(INIT, &brd->pci_dev, "jsm_found_board - NEO adapter\n");
190 brd->membase = pci_resource_start(pdev, 0);
191 brd->membase_end = pci_resource_end(pdev, 0);
193 if (brd->membase & 1)
194 brd->membase &= ~0x3;
196 brd->membase &= ~0xF;
199 brd->bd_ops = &jsm_neo_ops;
201 brd->bd_uart_offset = 0x200;
202 brd->bd_dividend = 921600;
204 brd->re_map_membase = ioremap(brd->membase,
206 if (!brd->re_map_membase) {
219 rc = request_irq(brd->irq, brd->bd_ops->intr, IRQF_SHARED, "JSM", brd);
221 dev_warn(&pdev->dev, "Failed to hook IRQ %d\n", brd->irq);
225 rc = jsm_tty_init(brd);
232 rc = jsm_uart_port_init(brd);
242 adapter_count, brd->rev, brd->irq);
244 pci_set_drvdata(pdev, brd);
249 jsm_remove_uart_port(brd);
250 free_irq(brd->irq, brd);
252 iounmap(brd->re_map_membase);
254 kfree(brd);
265 struct jsm_board *brd = pci_get_drvdata(pdev);
274 outb(0x0, brd->iobase + 0x4c);
280 jsm_remove_uart_port(brd);
282 free_irq(brd->irq, brd);
283 iounmap(brd->re_map_membase);
286 for (i = 0; i < brd->maxports; i++) {
287 if (brd->channels[i]) {
288 kfree(brd->channels[i]->ch_rqueue);
289 kfree(brd->channels[i]->ch_equeue);
290 kfree(brd->channels[i]);
296 kfree(brd);
333 struct jsm_board *brd = pci_get_drvdata(pdev);
335 jsm_remove_uart_port(brd);
356 struct jsm_board *brd = pci_get_drvdata(pdev);
361 jsm_uart_port_init(brd);