On Fri, Aug 26, 2011 at 01:56:39AM -0700, Joe Perches wrote: > Changing the return type and removing the unused argument from > ath_printk reduces code size. > > Add an __always_unused struct ath_common * to the macros > that call ath_printk to avoid unused variable warnings. > > $ size drivers/net/wireless/ath/built-in.o* > text data bss dec hex filename > 1159859 16235 212000 1388094 152e3e drivers/net/wireless/ath/built-in.o.new > 1164175 16235 212032 1392442 153f3a drivers/net/wireless/ath/built-in.o.old > > Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> > --- > drivers/net/wireless/ath/ath.h | 27 ++++++++++++++++----------- > drivers/net/wireless/ath/main.c | 8 ++------ > 2 files changed, 18 insertions(+), 17 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath.h b/drivers/net/wireless/ath/ath.h > index a3f8505..9891fb6 100644 > --- a/drivers/net/wireless/ath/ath.h > +++ b/drivers/net/wireless/ath/ath.h > @@ -178,24 +178,29 @@ bool ath_hw_keyreset(struct ath_common *common, u16 entry); > void ath_hw_cycle_counters_update(struct ath_common *common); > int32_t ath_hw_get_listen_time(struct ath_common *common); > > -extern __attribute__((format (printf, 3, 4))) > -int ath_printk(const char *level, struct ath_common *common, > - const char *fmt, ...); > +extern __attribute__((format (printf, 2, 3))) > +void ath_printk(const char *level, const char *fmt, ...); > + > +#define _ath_printk(level, common, fmt, ...) \ > +do { \ > + __always_unused struct ath_common *unused = common; \ > + ath_printk(level, fmt, ##__VA_ARGS__); \ > +} while (0) > > #define ath_emerg(common, fmt, ...) \ > - ath_printk(KERN_EMERG, common, fmt, ##__VA_ARGS__) > + _ath_printk(KERN_EMERG, common, fmt, ##__VA_ARGS__) > #define ath_alert(common, fmt, ...) \ > - ath_printk(KERN_ALERT, common, fmt, ##__VA_ARGS__) > + _ath_printk(KERN_ALERT, common, fmt, ##__VA_ARGS__) > #define ath_crit(common, fmt, ...) \ > - ath_printk(KERN_CRIT, common, fmt, ##__VA_ARGS__) > + _ath_printk(KERN_CRIT, common, fmt, ##__VA_ARGS__) > #define ath_err(common, fmt, ...) \ > - ath_printk(KERN_ERR, common, fmt, ##__VA_ARGS__) > + _ath_printk(KERN_ERR, common, fmt, ##__VA_ARGS__) > #define ath_warn(common, fmt, ...) \ > - ath_printk(KERN_WARNING, common, fmt, ##__VA_ARGS__) > + _ath_printk(KERN_WARNING, common, fmt, ##__VA_ARGS__) > #define ath_notice(common, fmt, ...) \ > - ath_printk(KERN_NOTICE, common, fmt, ##__VA_ARGS__) > + _ath_printk(KERN_NOTICE, common, fmt, ##__VA_ARGS__) > #define ath_info(common, fmt, ...) \ > - ath_printk(KERN_INFO, common, fmt, ##__VA_ARGS__) > + _ath_printk(KERN_INFO, common, fmt, ##__VA_ARGS__) > > /** > * enum ath_debug_level - atheros wireless debug level Any reason to preserve all these "common" args? -- John W. Linville Someday the world will need a hero, and you linville@xxxxxxxxxxxxx might be all we have. Be ready. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html