Lines Matching refs:data

264 static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data)  in dw8250_quirks()  argument
280 data->usr_reg = 0x27; in dw8250_quirks()
281 data->skip_autocfg = true; in dw8250_quirks()
290 data->uart_16550_compatible = true; in dw8250_quirks()
297 data->dma.rx_param = p->dev->parent; in dw8250_quirks()
298 data->dma.tx_param = p->dev->parent; in dw8250_quirks()
299 data->dma.fn = dw8250_idma_filter; in dw8250_quirks()
341 struct dw8250_data *data; in dw8250_probe() local
372 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); in dw8250_probe()
373 if (!data) in dw8250_probe()
376 data->dma.fn = dw8250_fallback_dma_filter; in dw8250_probe()
377 data->usr_reg = DW_UART_USR; in dw8250_probe()
378 p->private_data = data; in dw8250_probe()
380 data->uart_16550_compatible = device_property_read_bool(p->dev, in dw8250_probe()
396 data->msr_mask_on |= UART_MSR_DCD; in dw8250_probe()
397 data->msr_mask_off |= UART_MSR_DDCD; in dw8250_probe()
402 data->msr_mask_on |= UART_MSR_DSR; in dw8250_probe()
403 data->msr_mask_off |= UART_MSR_DDSR; in dw8250_probe()
408 data->msr_mask_on |= UART_MSR_CTS; in dw8250_probe()
409 data->msr_mask_off |= UART_MSR_DCTS; in dw8250_probe()
414 data->msr_mask_off |= UART_MSR_RI; in dw8250_probe()
415 data->msr_mask_off |= UART_MSR_TERI; in dw8250_probe()
422 data->clk = devm_clk_get(&pdev->dev, "baudclk"); in dw8250_probe()
423 if (IS_ERR(data->clk) && PTR_ERR(data->clk) != -EPROBE_DEFER) in dw8250_probe()
424 data->clk = devm_clk_get(&pdev->dev, NULL); in dw8250_probe()
425 if (IS_ERR(data->clk) && PTR_ERR(data->clk) == -EPROBE_DEFER) in dw8250_probe()
427 if (!IS_ERR_OR_NULL(data->clk)) { in dw8250_probe()
428 err = clk_prepare_enable(data->clk); in dw8250_probe()
433 p->uartclk = clk_get_rate(data->clk); in dw8250_probe()
442 data->pclk = devm_clk_get(&pdev->dev, "apb_pclk"); in dw8250_probe()
443 if (IS_ERR(data->clk) && PTR_ERR(data->clk) == -EPROBE_DEFER) { in dw8250_probe()
447 if (!IS_ERR(data->pclk)) { in dw8250_probe()
448 err = clk_prepare_enable(data->pclk); in dw8250_probe()
455 data->rst = devm_reset_control_get_optional(&pdev->dev, NULL); in dw8250_probe()
456 if (IS_ERR(data->rst) && PTR_ERR(data->rst) == -EPROBE_DEFER) { in dw8250_probe()
460 if (!IS_ERR(data->rst)) in dw8250_probe()
461 reset_control_deassert(data->rst); in dw8250_probe()
463 dw8250_quirks(p, data); in dw8250_probe()
466 if (data->uart_16550_compatible) { in dw8250_probe()
471 if (!data->skip_autocfg) in dw8250_probe()
476 data->dma.rxconf.src_maxburst = p->fifosize / 4; in dw8250_probe()
477 data->dma.txconf.dst_maxburst = p->fifosize / 4; in dw8250_probe()
478 uart.dma = &data->dma; in dw8250_probe()
481 data->line = serial8250_register_8250_port(&uart); in dw8250_probe()
482 if (data->line < 0) { in dw8250_probe()
483 err = data->line; in dw8250_probe()
487 platform_set_drvdata(pdev, data); in dw8250_probe()
495 if (!IS_ERR(data->rst)) in dw8250_probe()
496 reset_control_assert(data->rst); in dw8250_probe()
499 if (!IS_ERR(data->pclk)) in dw8250_probe()
500 clk_disable_unprepare(data->pclk); in dw8250_probe()
503 if (!IS_ERR(data->clk)) in dw8250_probe()
504 clk_disable_unprepare(data->clk); in dw8250_probe()
511 struct dw8250_data *data = platform_get_drvdata(pdev); in dw8250_remove() local
515 serial8250_unregister_port(data->line); in dw8250_remove()
517 if (!IS_ERR(data->rst)) in dw8250_remove()
518 reset_control_assert(data->rst); in dw8250_remove()
520 if (!IS_ERR(data->pclk)) in dw8250_remove()
521 clk_disable_unprepare(data->pclk); in dw8250_remove()
523 if (!IS_ERR(data->clk)) in dw8250_remove()
524 clk_disable_unprepare(data->clk); in dw8250_remove()
535 struct dw8250_data *data = dev_get_drvdata(dev); in dw8250_suspend() local
537 serial8250_suspend_port(data->line); in dw8250_suspend()
544 struct dw8250_data *data = dev_get_drvdata(dev); in dw8250_resume() local
546 serial8250_resume_port(data->line); in dw8250_resume()
555 struct dw8250_data *data = dev_get_drvdata(dev); in dw8250_runtime_suspend() local
557 if (!IS_ERR(data->clk)) in dw8250_runtime_suspend()
558 clk_disable_unprepare(data->clk); in dw8250_runtime_suspend()
560 if (!IS_ERR(data->pclk)) in dw8250_runtime_suspend()
561 clk_disable_unprepare(data->pclk); in dw8250_runtime_suspend()
568 struct dw8250_data *data = dev_get_drvdata(dev); in dw8250_runtime_resume() local
570 if (!IS_ERR(data->pclk)) in dw8250_runtime_resume()
571 clk_prepare_enable(data->pclk); in dw8250_runtime_resume()
573 if (!IS_ERR(data->clk)) in dw8250_runtime_resume()
574 clk_prepare_enable(data->clk); in dw8250_runtime_resume()