mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 21:21:37 +00:00
dm: Allow stdio registration to be dropped
Provide a CONFIG_DM_STDIO option to enable registering a serial device with the stdio library. This is seldom useful in SPL, so disable it by default when building for SPL. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@ti.com>
This commit is contained in:
parent
3ac435d33a
commit
236f2bd302
2 changed files with 8 additions and 3 deletions
|
@ -163,10 +163,12 @@ void serial_stdio_init(void)
|
|||
{
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DM_STDIO
|
||||
static void serial_stub_putc(struct stdio_dev *sdev, const char ch)
|
||||
{
|
||||
_serial_putc(sdev->priv, ch);
|
||||
}
|
||||
#endif
|
||||
|
||||
void serial_stub_puts(struct stdio_dev *sdev, const char *str)
|
||||
{
|
||||
|
@ -246,9 +248,11 @@ U_BOOT_ENV_CALLBACK(baudrate, on_baudrate);
|
|||
|
||||
static int serial_post_probe(struct udevice *dev)
|
||||
{
|
||||
struct stdio_dev sdev;
|
||||
struct dm_serial_ops *ops = serial_get_ops(dev);
|
||||
#ifdef CONFIG_DM_STDIO
|
||||
struct serial_dev_priv *upriv = dev->uclass_priv;
|
||||
struct stdio_dev sdev;
|
||||
#endif
|
||||
int ret;
|
||||
|
||||
/* Set the baud rate */
|
||||
|
@ -258,9 +262,9 @@ static int serial_post_probe(struct udevice *dev)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_DM_STDIO
|
||||
if (!(gd->flags & GD_FLG_RELOC))
|
||||
return 0;
|
||||
|
||||
memset(&sdev, '\0', sizeof(sdev));
|
||||
|
||||
strncpy(sdev.name, dev->name, sizeof(sdev.name));
|
||||
|
@ -271,7 +275,7 @@ static int serial_post_probe(struct udevice *dev)
|
|||
sdev.getc = serial_stub_getc;
|
||||
sdev.tstc = serial_stub_tstc;
|
||||
stdio_register_dev(&sdev, &upriv->sdev);
|
||||
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
#ifndef CONFIG_SPL_BUILD
|
||||
#define CONFIG_DM_DEVICE_REMOVE
|
||||
#define CONFIG_DM_STDIO
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Reference in a new issue