[PATCH] linux/fs.h - Convert debug functions declared inline __attribute__((format (printf,x,y) to statement expression macros

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Converting inline __attribute__((format (printf,x,y) functions
to macros or statement expressions produces smaller objects

before:
$ size vmlinux
   text    data     bss     dec     hex filename
4716770  474560  618496 5809826  58a6a2 vmlinux
after:
$ size vmlinux
   text    data     bss     dec     hex filename
4716706  474560  618496 5809762  58a662 vmlinux

Signed-off-by: Joe Perches <joe@perches.com>

 include/linux/fs.h |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/include/linux/fs.h b/include/linux/fs.h
index b84b848..a0ba590 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2055,11 +2055,10 @@ static struct file_operations __fops = {				\
 	.write	 = simple_attr_write,					\
 };
 
-static inline void __attribute__((format(printf, 1, 2)))
-__simple_attr_check_format(const char *fmt, ...)
-{
-	/* don't do anything, just let the compiler check the arguments; */
-}
+/* don't do anything, just let the compiler check the arguments; */
+
+#define __simple_attr_check_format(fmt, args...) \
+	do { if (0) printk(fmt, ##args); } while (0)
 
 int simple_attr_open(struct inode *inode, struct file *file,
 		     int (*get)(void *, u64 *), int (*set)(void *, u64),


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] linux/fs.h - Convert debug functions declared inli ..., Joe Perches, (Tue Feb 26, 9:02 pm)