variadic macros - MarekBykowski/readme GitHub Wiki

#define eprintf(format, ...) pr_info(format, __VA_ARGS__)

If the variable argument (...) empty, you would have gotten a syntax error. You are better off with ## token paste operator has a special meaning in the macro

#define eprintf(format, ...) pr_info(format, ##__VA_ARGS__)

#define eprintf(format, ...) pr_info("%s():" format, __func__, ##__VA_ARGS__) then ##va_args goes to format, that is after %s.