Dear Scott Wood, > 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.
I'd say the GCC must optimize it out anyway. And if not, what solution do you suggest, move these into include/serial.h and compile serial.c in conditionally? > -Scott Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot