Re: [RFC, PATCH] watchdog on gpio

Mike Frysinger
2008-01-14T13:03:38Z

On Jan 14, 2008 7:49 AM, Johannes Weiner <hannes@saeurebad.de> wrote:
> "Mike Frysinger" <vapier.adi@gmail.com> writes:
> > wonder if we could design a printk designed for __init functions to
> > address this in a clean fashion.
> > #define init_printk(fmt, __VA_ARGS__) \
> > do { \
> > static const __init char __fmt[] = fmt; \
> > printk(__fmt , ## __VA_ARGS__); \
> > } while (0)
> >
> > (yes, i know this isnt perfect as you'd need to pass back the return
> > value of printk(), but it's an idea)
>
> How about:
>
> #define init_printk(fmt, args...) ({ \
> static const __init char __fmt[] = fmt; \
> printk(__fmt, args); \
> })
>
> Now it returns the printk result.

i wasnt really worried about that ... i was worried about other random
things i may have missed

your dropping of ## wont work as you need gcc to expand args and take
away the , in the simple 1 arg case:
init_printk("MOO");
-mike