MLK-20373-2 dm: serial: introduce puts hook
Introduce puts hook for dm serial driver. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Flynn xu <flynn.xu@nxp.com>
This commit is contained in:
parent
ddb393c451
commit
aa08894ff4
|
|
@ -182,8 +182,17 @@ static void _serial_putc(struct udevice *dev, char ch)
|
||||||
|
|
||||||
static void _serial_puts(struct udevice *dev, const char *str)
|
static void _serial_puts(struct udevice *dev, const char *str)
|
||||||
{
|
{
|
||||||
while (*str)
|
struct dm_serial_ops *ops = serial_get_ops(dev);
|
||||||
_serial_putc(dev, *str++);
|
int err;
|
||||||
|
|
||||||
|
if (ops->puts) {
|
||||||
|
do {
|
||||||
|
err = ops->puts(dev, str);
|
||||||
|
} while (err == -EAGAIN);
|
||||||
|
} else {
|
||||||
|
while (*str)
|
||||||
|
_serial_putc(dev, *str++);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __serial_getc(struct udevice *dev)
|
static int __serial_getc(struct udevice *dev)
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,14 @@ struct dm_serial_ops {
|
||||||
* @return character (0..255), -ve on error
|
* @return character (0..255), -ve on error
|
||||||
*/
|
*/
|
||||||
int (*getc)(struct udevice *dev);
|
int (*getc)(struct udevice *dev);
|
||||||
|
/**
|
||||||
|
* puts() - puts a string
|
||||||
|
*
|
||||||
|
* @dev: Device pointer
|
||||||
|
* @str: string to write
|
||||||
|
* @return 0 if OK, -ve on error
|
||||||
|
*/
|
||||||
|
int (*puts)(struct udevice *dev, const char *str);
|
||||||
/**
|
/**
|
||||||
* putc() - Write a character
|
* putc() - Write a character
|
||||||
*
|
*
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue