Skip to content

Commit

Permalink
ath: Make ath_printk void not int and remove unused struct ath_common *
Browse files Browse the repository at this point in the history
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@perches.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Joe Perches authored and John W. Linville committed Aug 30, 2011
1 parent 7b8112d commit 29e7624
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 17 deletions.
27 changes: 16 additions & 11 deletions drivers/net/wireless/ath/ath.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -250,7 +255,7 @@ enum ATH_DEBUG {
#define ath_dbg(common, dbg_mask, fmt, ...) \
do { \
if ((common)->debug_mask & dbg_mask) \
ath_printk(KERN_DEBUG, common, fmt, ##__VA_ARGS__); \
_ath_printk(KERN_DEBUG, common, fmt, ##__VA_ARGS__); \
} while (0)

#define ATH_DBG_WARN(foo, arg...) WARN(foo, arg)
Expand Down
8 changes: 2 additions & 6 deletions drivers/net/wireless/ath/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,22 +57,18 @@ struct sk_buff *ath_rxbuf_alloc(struct ath_common *common,
}
EXPORT_SYMBOL(ath_rxbuf_alloc);

int ath_printk(const char *level, struct ath_common *common,
const char *fmt, ...)
void ath_printk(const char *level, const char *fmt, ...)
{
struct va_format vaf;
va_list args;
int rtn;

va_start(args, fmt);

vaf.fmt = fmt;
vaf.va = &args;

rtn = printk("%sath: %pV", level, &vaf);
printk("%sath: %pV", level, &vaf);

va_end(args);

return rtn;
}
EXPORT_SYMBOL(ath_printk);

0 comments on commit 29e7624

Please sign in to comment.