Hi Alison, On Wed, Feb 24, 2016 at 3:35 PM, Huan Wang <alison.w...@nxp.com> wrote: > Hi, Bin, > >> On Wed, Feb 24, 2016 at 11:56 AM, Alison Wang <b18...@freescale.com> >> wrote: >> > In general, a carriage return needs to execute before a line feed. >> > The patch is to change serial DM driver based on this rule. >> > >> > Signed-off-by: Alison Wang <alison.w...@nxp.com> >> > --- >> > drivers/serial/serial-uclass.c | 5 +++-- >> > 1 file changed, 3 insertions(+), 2 deletions(-) >> > >> > diff --git a/drivers/serial/serial-uclass.c >> > b/drivers/serial/serial-uclass.c index 1c447ff..f154eb1 100644 >> > --- a/drivers/serial/serial-uclass.c >> > +++ b/drivers/serial/serial-uclass.c >> > @@ -123,11 +123,12 @@ static void _serial_putc(struct udevice *dev, >> char ch) >> > struct dm_serial_ops *ops = serial_get_ops(dev); >> > int err; >> > >> > + if (ch == '\n') >> > + _serial_putc(dev, '\r'); >> > + >> > do { >> > err = ops->putc(dev, ch); >> > } while (err == -EAGAIN); >> > - if (ch == '\n') >> > - _serial_putc(dev, '\r'); >> > } >> > >> >> We should also clean up all DM serial driver to remove this handling in >> their driver. eg: serial_lpuart.c/serial_mxc.c >> > [Alison Wang] Thanks for your advice. Yes, I agree. This handling in > particular driver is redundant. > > It seems only serial_lpuart.c and serial_arc.c has this handling. For > serial_mxc.c, this handling is only in the non-DM .putc function, > but not in the DM .putc function. Do you think it is necessary to change > the non-DM .putc function? >
No, we should keep the non-DM putc function as it is now. But this serial_mxc.c, its non-DM putc version has the same issue as the serial-uclass.c, so it should be fixed. The legacy serial_pxa.c, serial_s3c24x0.c and usbtty.c also have the same problem. Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot