* [RFC patch] include/net/cfg80211.h: wiphy_<level> messages use dev_printk @ 2010-08-19 19:24 Joe Perches 2010-08-19 19:39 ` Johannes Berg 0 siblings, 1 reply; 5+ messages in thread From: Joe Perches @ 2010-08-19 19:24 UTC (permalink / raw) To: Johannes Berg; +Cc: John W. Linville, linux-wireless, netdev, LKML Adding device to the wiphy logging messages could be useful. Signed-off-by: Joe Perches <joe@perches.com> --- include/net/cfg80211.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 6a98b1b..61bc007 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -2439,7 +2439,7 @@ void cfg80211_cqm_rssi_notify(struct net_device *dev, /* wiphy_printk helpers, similar to dev_printk */ #define wiphy_printk(level, wiphy, format, args...) \ - printk(level "%s: " format, wiphy_name(wiphy), ##args) + dev_printk(level, &wiphy->dev, "%s: " format, wiphy_name(wiphy), ##args) #define wiphy_emerg(wiphy, format, args...) \ wiphy_printk(KERN_EMERG, wiphy, format, ##args) #define wiphy_alert(wiphy, format, args...) \ ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [RFC patch] include/net/cfg80211.h: wiphy_<level> messages use dev_printk 2010-08-19 19:24 [RFC patch] include/net/cfg80211.h: wiphy_<level> messages use dev_printk Joe Perches @ 2010-08-19 19:39 ` Johannes Berg 2010-08-20 22:13 ` [RFC patch (against wireless-next)] " Joe Perches 0 siblings, 1 reply; 5+ messages in thread From: Johannes Berg @ 2010-08-19 19:39 UTC (permalink / raw) To: Joe Perches; +Cc: John W. Linville, linux-wireless, netdev, LKML On Thu, 2010-08-19 at 12:24 -0700, Joe Perches wrote: > Adding device to the wiphy logging messages could be useful. > > #define wiphy_printk(level, wiphy, format, args...) \ > - printk(level "%s: " format, wiphy_name(wiphy), ##args) > + dev_printk(level, &wiphy->dev, "%s: " format, wiphy_name(wiphy), ##args) what will that actually print? johannes ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC patch (against wireless-next)] include/net/cfg80211.h: wiphy_<level> messages use dev_printk 2010-08-19 19:39 ` Johannes Berg @ 2010-08-20 22:13 ` Joe Perches 2010-08-25 18:01 ` John W. Linville 0 siblings, 1 reply; 5+ messages in thread From: Joe Perches @ 2010-08-20 22:13 UTC (permalink / raw) To: Johannes Berg; +Cc: John W. Linville, linux-wireless, netdev, LKML On Thu, 2010-08-19 at 21:39 +0200, Johannes Berg wrote: > On Thu, 2010-08-19 at 12:24 -0700, Joe Perches wrote: > > Adding device to the wiphy logging messages could be useful. > > #define wiphy_printk(level, wiphy, format, args...) \ > > - printk(level "%s: " format, wiphy_name(wiphy), ##args) > > + dev_printk(level, &wiphy->dev, "%s: " format, wiphy_name(wiphy), ##args) > what will that actually print? As is, that'd print: "<level>dev_driver_string(&wiphy->dev) dev_name(&wiphy->dev): wiphy_name(wiphy): " fmt, ##args for instance: [ 41.261941] ieee80211 phy0: phy0: Selected rate control algorithm 'minstrel_ht' ie: redundant. wiphy_name(wiphy) is an inline for dev_name(&wiphy->dev) So it's appropriate to use: #define wiphy_<level>(wiphy, fmt, arg...) dev_<level>(&wiphy->dev, fmt, ##arg) and the output becomes: [ 41.261941] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' Signed-off-by: Joe Perches <joe@perches.com> --- include/net/cfg80211.h | 37 +++++++++++------------------------ net/wireless/core.c | 49 ------------------------------------------------ 2 files changed, 12 insertions(+), 74 deletions(-) diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index f274053..ab5c746 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -2548,49 +2548,36 @@ void cfg80211_cqm_rssi_notify(struct net_device *dev, /* wiphy_printk helpers, similar to dev_printk */ #define wiphy_printk(level, wiphy, format, args...) \ - printk(level "%s: " format, wiphy_name(wiphy), ##args) + dev_printk(level, &(wiphy)->dev, format, ##args) #define wiphy_emerg(wiphy, format, args...) \ - wiphy_printk(KERN_EMERG, wiphy, format, ##args) + dev_emerg(&(wiphy)->dev, format, ##args) #define wiphy_alert(wiphy, format, args...) \ - wiphy_printk(KERN_ALERT, wiphy, format, ##args) + dev_alert(&(wiphy)->dev, format, ##args) #define wiphy_crit(wiphy, format, args...) \ - wiphy_printk(KERN_CRIT, wiphy, format, ##args) + dev_crit(&(wiphy)->dev, format, ##args) #define wiphy_err(wiphy, format, args...) \ - wiphy_printk(KERN_ERR, wiphy, format, ##args) + dev_err(&(wiphy)->dev, format, ##args) #define wiphy_warn(wiphy, format, args...) \ - wiphy_printk(KERN_WARNING, wiphy, format, ##args) + dev_warn(&(wiphy)->dev, format, ##args) #define wiphy_notice(wiphy, format, args...) \ - wiphy_printk(KERN_NOTICE, wiphy, format, ##args) + dev_notice(&(wiphy)->dev, format, ##args) #define wiphy_info(wiphy, format, args...) \ - wiphy_printk(KERN_INFO, wiphy, format, ##args) + dev_info(&(wiphy)->dev, format, ##args) -int wiphy_debug(const struct wiphy *wiphy, const char *format, ...) - __attribute__ ((format (printf, 2, 3))); - -#if defined(DEBUG) -#define wiphy_dbg(wiphy, format, args...) \ +#define wiphy_debug(wiphy, format, args...) \ wiphy_printk(KERN_DEBUG, wiphy, format, ##args) -#elif defined(CONFIG_DYNAMIC_DEBUG) + #define wiphy_dbg(wiphy, format, args...) \ - dynamic_pr_debug("%s: " format, wiphy_name(wiphy), ##args) -#else -#define wiphy_dbg(wiphy, format, args...) \ -({ \ - if (0) \ - wiphy_printk(KERN_DEBUG, wiphy, format, ##args); \ - 0; \ -}) -#endif + dev_dbg(&(wiphy)->dev, format, ##args) #if defined(VERBOSE_DEBUG) #define wiphy_vdbg wiphy_dbg #else - #define wiphy_vdbg(wiphy, format, args...) \ ({ \ if (0) \ wiphy_printk(KERN_DEBUG, wiphy, format, ##args); \ - 0; \ + 0; \ }) #endif diff --git a/net/wireless/core.c b/net/wireless/core.c index d52630b..b8191cf 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -912,52 +912,3 @@ static void __exit cfg80211_exit(void) destroy_workqueue(cfg80211_wq); } module_exit(cfg80211_exit); - -static int ___wiphy_printk(const char *level, const struct wiphy *wiphy, - struct va_format *vaf) -{ - if (!wiphy) - return printk("%s(NULL wiphy *): %pV", level, vaf); - - return printk("%s%s: %pV", level, wiphy_name(wiphy), vaf); -} - -int __wiphy_printk(const char *level, const struct wiphy *wiphy, - const char *fmt, ...) -{ - struct va_format vaf; - va_list args; - int r; - - va_start(args, fmt); - - vaf.fmt = fmt; - vaf.va = &args; - - r = ___wiphy_printk(level, wiphy, &vaf); - va_end(args); - - return r; -} -EXPORT_SYMBOL(__wiphy_printk); - -#define define_wiphy_printk_level(func, kern_level) \ -int func(const struct wiphy *wiphy, const char *fmt, ...) \ -{ \ - struct va_format vaf; \ - va_list args; \ - int r; \ - \ - va_start(args, fmt); \ - \ - vaf.fmt = fmt; \ - vaf.va = &args; \ - \ - r = ___wiphy_printk(kern_level, wiphy, &vaf); \ - va_end(args); \ - \ - return r; \ -} \ -EXPORT_SYMBOL(func); - -define_wiphy_printk_level(wiphy_debug, KERN_DEBUG); ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [RFC patch (against wireless-next)] include/net/cfg80211.h: wiphy_<level> messages use dev_printk 2010-08-20 22:13 ` [RFC patch (against wireless-next)] " Joe Perches @ 2010-08-25 18:01 ` John W. Linville 2010-08-25 18:25 ` Johannes Berg 0 siblings, 1 reply; 5+ messages in thread From: John W. Linville @ 2010-08-25 18:01 UTC (permalink / raw) To: Joe Perches; +Cc: Johannes Berg, linux-wireless, netdev, LKML On Fri, Aug 20, 2010 at 03:13:59PM -0700, Joe Perches wrote: > On Thu, 2010-08-19 at 21:39 +0200, Johannes Berg wrote: > > On Thu, 2010-08-19 at 12:24 -0700, Joe Perches wrote: > > > Adding device to the wiphy logging messages could be useful. > > > #define wiphy_printk(level, wiphy, format, args...) \ > > > - printk(level "%s: " format, wiphy_name(wiphy), ##args) > > > + dev_printk(level, &wiphy->dev, "%s: " format, wiphy_name(wiphy), ##args) > > what will that actually print? > > As is, that'd print: > > "<level>dev_driver_string(&wiphy->dev) dev_name(&wiphy->dev): wiphy_name(wiphy): " fmt, ##args > > for instance: > > [ 41.261941] ieee80211 phy0: phy0: Selected rate control algorithm 'minstrel_ht' > > ie: redundant. > wiphy_name(wiphy) is an inline for dev_name(&wiphy->dev) > > So it's appropriate to use: > > #define wiphy_<level>(wiphy, fmt, arg...) dev_<level>(&wiphy->dev, fmt, ##arg) > > and the output becomes: > > [ 41.261941] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' > > Signed-off-by: Joe Perches <joe@perches.com> Everyone OK w/ this version? -- John W. Linville Someday the world will need a hero, and you linville@tuxdriver.com might be all we have. Be ready. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [RFC patch (against wireless-next)] include/net/cfg80211.h: wiphy_<level> messages use dev_printk 2010-08-25 18:01 ` John W. Linville @ 2010-08-25 18:25 ` Johannes Berg 0 siblings, 0 replies; 5+ messages in thread From: Johannes Berg @ 2010-08-25 18:25 UTC (permalink / raw) To: John W. Linville; +Cc: Joe Perches, linux-wireless, netdev, LKML On Wed, 2010-08-25 at 14:01 -0400, John W. Linville wrote: > > "<level>dev_driver_string(&wiphy->dev) dev_name(&wiphy->dev): wiphy_name(wiphy): " fmt, ##args > > > > for instance: > > > > [ 41.261941] ieee80211 phy0: phy0: Selected rate control algorithm 'minstrel_ht' > > > > ie: redundant. > > wiphy_name(wiphy) is an inline for dev_name(&wiphy->dev) > > > > So it's appropriate to use: > > > > #define wiphy_<level>(wiphy, fmt, arg...) dev_<level>(&wiphy->dev, fmt, ##arg) > > > > and the output becomes: > > > > [ 41.261941] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' > > > > Signed-off-by: Joe Perches <joe@perches.com> > > Everyone OK w/ this version? I don't care much :) johannes ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-08-25 18:25 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-08-19 19:24 [RFC patch] include/net/cfg80211.h: wiphy_<level> messages use dev_printk Joe Perches 2010-08-19 19:39 ` Johannes Berg 2010-08-20 22:13 ` [RFC patch (against wireless-next)] " Joe Perches 2010-08-25 18:01 ` John W. Linville 2010-08-25 18:25 ` Johannes Berg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).