mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-11 13:08:31 -04:00
Small refactor to remove duplicate serial code
This tidies up duplicate code, and checks that default_serial_console() does in fact produce a device. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
025421eab4
commit
857c283e9b
@ -158,73 +158,49 @@ void serial_reinit_all (void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int serial_init (void)
|
static struct serial_device *get_current(void)
|
||||||
{
|
{
|
||||||
|
struct serial_device *dev;
|
||||||
|
|
||||||
if (!(gd->flags & GD_FLG_RELOC) || !serial_current) {
|
if (!(gd->flags & GD_FLG_RELOC) || !serial_current) {
|
||||||
struct serial_device *dev = default_serial_console ();
|
dev = default_serial_console();
|
||||||
|
|
||||||
return dev->init ();
|
/* We must have a console device */
|
||||||
}
|
if (!dev)
|
||||||
|
panic("Cannot find console");
|
||||||
|
} else
|
||||||
|
dev = serial_current;
|
||||||
|
return dev;
|
||||||
|
}
|
||||||
|
|
||||||
return serial_current->init ();
|
int serial_init(void)
|
||||||
|
{
|
||||||
|
return get_current()->init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void serial_setbrg (void)
|
void serial_setbrg (void)
|
||||||
{
|
{
|
||||||
if (!(gd->flags & GD_FLG_RELOC) || !serial_current) {
|
get_current()->setbrg();
|
||||||
struct serial_device *dev = default_serial_console ();
|
|
||||||
|
|
||||||
dev->setbrg ();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
serial_current->setbrg ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int serial_getc (void)
|
int serial_getc (void)
|
||||||
{
|
{
|
||||||
if (!(gd->flags & GD_FLG_RELOC) || !serial_current) {
|
return get_current()->getc();
|
||||||
struct serial_device *dev = default_serial_console ();
|
|
||||||
|
|
||||||
return dev->getc ();
|
|
||||||
}
|
|
||||||
|
|
||||||
return serial_current->getc ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int serial_tstc (void)
|
int serial_tstc (void)
|
||||||
{
|
{
|
||||||
if (!(gd->flags & GD_FLG_RELOC) || !serial_current) {
|
return get_current()->tstc();
|
||||||
struct serial_device *dev = default_serial_console ();
|
|
||||||
|
|
||||||
return dev->tstc ();
|
|
||||||
}
|
|
||||||
|
|
||||||
return serial_current->tstc ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void serial_putc (const char c)
|
void serial_putc (const char c)
|
||||||
{
|
{
|
||||||
if (!(gd->flags & GD_FLG_RELOC) || !serial_current) {
|
get_current()->putc(c);
|
||||||
struct serial_device *dev = default_serial_console ();
|
|
||||||
|
|
||||||
dev->putc (c);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
serial_current->putc (c);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void serial_puts (const char *s)
|
void serial_puts (const char *s)
|
||||||
{
|
{
|
||||||
if (!(gd->flags & GD_FLG_RELOC) || !serial_current) {
|
get_current()->puts(s);
|
||||||
struct serial_device *dev = default_serial_console ();
|
|
||||||
|
|
||||||
dev->puts (s);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
serial_current->puts (s);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_POST & CONFIG_SYS_POST_UART
|
#if CONFIG_POST & CONFIG_SYS_POST_UART
|
||||||
|
Loading…
x
Reference in New Issue
Block a user