Lines Matching refs:uart
55 struct timbuart_port *uart =
59 tasklet_schedule(&uart->tasklet);
118 struct timbuart_port *uart =
137 *ier |= uart->last_ier & TXFLAGS;
174 struct timbuart_port *uart = from_tasklet(uart, t, tasklet);
177 spin_lock(&uart->port.lock);
179 isr = ioread32(uart->port.membase + TIMBUART_ISR);
180 dev_dbg(uart->port.dev, "%s ISR: %x\n", __func__, isr);
182 if (!uart->usedma)
183 timbuart_handle_tx_port(&uart->port, isr, &ier);
185 timbuart_mctrl_check(&uart->port, isr, &ier);
187 if (!uart->usedma)
188 timbuart_handle_rx_port(&uart->port, isr, &ier);
190 iowrite32(ier, uart->port.membase + TIMBUART_IER);
192 spin_unlock(&uart->port.lock);
193 dev_dbg(uart->port.dev, "%s leaving\n", __func__);
239 struct timbuart_port *uart =
251 "timb-uart", uart);
256 struct timbuart_port *uart =
259 free_irq(port->irq, uart);
332 if (!request_mem_region(port->mapbase, size, "timb-uart"))
348 struct timbuart_port *uart = (struct timbuart_port *)devid;
350 if (ioread8(uart->port.membase + TIMBUART_IPR)) {
351 uart->last_ier = ioread32(uart->port.membase + TIMBUART_IER);
354 iowrite32(0, uart->port.membase + TIMBUART_IER);
357 tasklet_schedule(&uart->tasklet);
413 struct timbuart_port *uart;
418 uart = kzalloc(sizeof(*uart), GFP_KERNEL);
419 if (!uart) {
424 uart->usedma = 0;
426 uart->port.uartclk = 3250000 * 16;
427 uart->port.fifosize = TIMBUART_FIFO_SIZE;
428 uart->port.regshift = 2;
429 uart->port.iotype = UPIO_MEM;
430 uart->port.ops = &timbuart_ops;
431 uart->port.irq = 0;
432 uart->port.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP;
433 uart->port.line = 0;
434 uart->port.dev = &dev->dev;
441 uart->port.mapbase = iomem->start;
442 uart->port.membase = NULL;
449 uart->port.irq = irq;
451 tasklet_setup(&uart->tasklet, timbuart_tasklet);
457 err = uart_add_one_port(&timbuart_driver, &uart->port);
461 platform_set_drvdata(dev, uart);
468 kfree(uart);
478 struct timbuart_port *uart = platform_get_drvdata(dev);
480 tasklet_kill(&uart->tasklet);
481 uart_remove_one_port(&timbuart_driver, &uart->port);
483 kfree(uart);
490 .name = "timb-uart",
500 MODULE_ALIAS("platform:timb-uart");