[U-Boot] [PATCH 62/71] serial: spl: Implement empty functions for SPL

Scott Wood scottwood at freescale.com
Tue Sep 18 19:46:29 CEST 2012


On 09/18/2012 12:13:57 PM, Marek Vasut wrote:
> Dear Tom Rini,
> 
> > On Mon, Sep 17, 2012 at 01:21:27AM +0200, Marek Vasut wrote:
> > > Implement empty serial_* functions for SPL without serial
> > > support enabled. This is imperative to haave once serial
> > > multi is enabled unconditionally.
> > >
> > > Signed-off-by: Marek Vasut <marex at denx.de>
> > > Cc: Marek Vasut <marek.vasut at gmail.com>
> > > Cc: Tom Rini <trini at ti.com>
> > > ---
> > >
> > >  common/serial.c |   12 ++++++++++++
> > >  1 file changed, 12 insertions(+)
> > >
> > > diff --git a/common/serial.c b/common/serial.c
> > > index 631af65..cef4ba8 100644
> > > --- a/common/serial.c
> > > +++ b/common/serial.c
> > > @@ -27,6 +27,16 @@
> > >
> > >  #include <post.h>
> > >  #include <linux/compiler.h>
> > >
> > > +/* Implement prototypes for SPL without serial support */
> > > +#if defined(CONFIG_SPL_BUILD) &&  
> !defined(CONFIG_SPL_SERIAL_SUPPORT)
> > > +int serial_init(void) { return 0; }
> > > +void serial_setbrg(void) {}
> > > +int serial_getc(void) { return 0; }
> > > +int serial_tstc(void) { return 0; }
> > > +void serial_putc(const char c) {}
> > > +void serial_puts(const char *s) {}
> >
> > This isn't quite right.  We need to allow for:
> > - No output SPL, strings collected (so #defined to do{} while (0))
> 
> Which is not type-checked and will drag in bugs.

Not all that likely, since most code will either be built with printf  
enabled some of the time, or not contain printf (i.e. it's not quite  
the same situation as debug prints which may be rarely enabled).

An inline function would be fine, but has to be done at the same place  
that normal printf is declared -- whereas a macro could be done after  
the fact.  Unless you use a macro to redirect it to an inline function  
of a different name...

I do not understand why you want to put these stubs in a C file instead  
of a header file, though -- you're preventing code from being optimized  
away, which is important in some SPLs.

-Scott


More information about the U-Boot mailing list