Hi, mark > -----Original Message----- > > +#ifdef CONFIG_SERIAL_FSL_LPUART_DMA > > + struct platform_device *pdev = to_platform_device(port->dev); > > + struct device_node *np = pdev->dev.of_node; > > + > > + if (of_get_property(np, "dmas", NULL)) { > > + sport->lpuart_dma_use = true; > > + lpuart_dma_tx_request(port); > > + lpuart_dma_rx_request(port); > > + temp = readb(port->membase + UARTCR5); > > + writeb(temp | UARTCR5_TDMAS, port->membase + UARTCR5); > > Rather than reading the raw dt to find out if you have dmas, can you not > just attempt to request the dmas and if either fail give up on using them? Yes, the dma request function can also confirm it. But maybe it's better that add the judge as a dma entrance first? I think if the dmas is be written it means dma want be support. At this time, rather than silently change to no dma model, we may throw the error when some errors happened. But dma request failed may have many other reasons. Also the judge will just run only once, it will not waste of performance. If the dmas is not be written, we don't need to do anything about dma. ��.n��������+%������w��{.n�����{��ǫ����{ay�ʇڙ���f���h������_�(�階�ݢj"��������G����?���&��