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 <ma...@denx.de>
> > Cc: Marek Vasut <marek.va...@gmail.com>
> > Cc: Tom Rini <tr...@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
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to