--- /dev/null
+--- a/drivers/net/wireless/b43/main.c
++++ b/drivers/net/wireless/b43/main.c
+@@ -322,83 +322,59 @@ static int b43_ratelimit(struct b43_wl *
+
+ void b43info(struct b43_wl *wl, const char *fmt, ...)
+ {
+- struct va_format vaf;
+ va_list args;
+
+ if (b43_modparam_verbose < B43_VERBOSITY_INFO)
+ return;
+ if (!b43_ratelimit(wl))
+ return;
+-
+ va_start(args, fmt);
+-
+- vaf.fmt = fmt;
+- vaf.va = &args;
+-
+- printk(KERN_INFO "b43-%s: %pV",
+- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
+-
++ printk(KERN_INFO "b43-%s: ",
++ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
++ vprintk(fmt, args);
+ va_end(args);
+ }
+
+ void b43err(struct b43_wl *wl, const char *fmt, ...)
+ {
+- struct va_format vaf;
+ va_list args;
+
+ if (b43_modparam_verbose < B43_VERBOSITY_ERROR)
+ return;
+ if (!b43_ratelimit(wl))
+ return;
+-
+ va_start(args, fmt);
+-
+- vaf.fmt = fmt;
+- vaf.va = &args;
+-
+- printk(KERN_ERR "b43-%s ERROR: %pV",
+- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
+-
++ printk(KERN_ERR "b43-%s ERROR: ",
++ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
++ vprintk(fmt, args);
+ va_end(args);
+ }
+
+ void b43warn(struct b43_wl *wl, const char *fmt, ...)
+ {
+- struct va_format vaf;
+ va_list args;
+
+ if (b43_modparam_verbose < B43_VERBOSITY_WARN)
+ return;
+ if (!b43_ratelimit(wl))
+ return;
+-
+ va_start(args, fmt);
+-
+- vaf.fmt = fmt;
+- vaf.va = &args;
+-
+- printk(KERN_WARNING "b43-%s warning: %pV",
+- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
+-
++ printk(KERN_WARNING "b43-%s warning: ",
++ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
++ vprintk(fmt, args);
+ va_end(args);
+ }
+
+ void b43dbg(struct b43_wl *wl, const char *fmt, ...)
+ {
+- struct va_format vaf;
+ va_list args;
+
+ if (b43_modparam_verbose < B43_VERBOSITY_DEBUG)
+ return;
+-
+ va_start(args, fmt);
+-
+- vaf.fmt = fmt;
+- vaf.va = &args;
+-
+- printk(KERN_DEBUG "b43-%s debug: %pV",
+- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
+-
++ printk(KERN_DEBUG "b43-%s debug: ",
++ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
++ vprintk(fmt, args);
+ va_end(args);
+ }
+
+--- a/drivers/net/wireless/b43legacy/main.c
++++ b/drivers/net/wireless/b43legacy/main.c
+@@ -181,75 +181,52 @@ static int b43legacy_ratelimit(struct b4
+
+ void b43legacyinfo(struct b43legacy_wl *wl, const char *fmt, ...)
+ {
+- struct va_format vaf;
+ va_list args;
+
+ if (!b43legacy_ratelimit(wl))
+ return;
+-
+ va_start(args, fmt);
+-
+- vaf.fmt = fmt;
+- vaf.va = &args;
+-
+- printk(KERN_INFO "b43legacy-%s: %pV",
+- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
+-
++ printk(KERN_INFO "b43legacy-%s: ",
++ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
++ vprintk(fmt, args);
+ va_end(args);
+ }
+
+ void b43legacyerr(struct b43legacy_wl *wl, const char *fmt, ...)
+ {
+- struct va_format vaf;
+ va_list args;
+
+ if (!b43legacy_ratelimit(wl))
+ return;
+-
+ va_start(args, fmt);
+-
+- vaf.fmt = fmt;
+- vaf.va = &args;
+-
+- printk(KERN_ERR "b43legacy-%s ERROR: %pV",
+- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
+-
++ printk(KERN_ERR "b43legacy-%s ERROR: ",
++ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
++ vprintk(fmt, args);
+ va_end(args);
+ }
+
+ void b43legacywarn(struct b43legacy_wl *wl, const char *fmt, ...)
+ {
+- struct va_format vaf;
+ va_list args;
+
+ if (!b43legacy_ratelimit(wl))
+ return;
+-
+ va_start(args, fmt);
+-
+- vaf.fmt = fmt;
+- vaf.va = &args;
+-
+- printk(KERN_WARNING "b43legacy-%s warning: %pV",
+- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
+-
++ printk(KERN_WARNING "b43legacy-%s warning: ",
++ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
++ vprintk(fmt, args);
+ va_end(args);
+ }
+
+ #if B43legacy_DEBUG
+ void b43legacydbg(struct b43legacy_wl *wl, const char *fmt, ...)
+ {
+- struct va_format vaf;
+ va_list args;
+
+ va_start(args, fmt);
+-
+- vaf.fmt = fmt;
+- vaf.va = &args;
+-
+- printk(KERN_DEBUG "b43legacy-%s debug: %pV",
+- (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan", &vaf);
+-
++ printk(KERN_DEBUG "b43legacy-%s debug: ",
++ (wl && wl->hw) ? wiphy_name(wl->hw->wiphy) : "wlan");
++ vprintk(fmt, args);
+ va_end(args);
+ }
+ #endif /* DEBUG */
+--- a/drivers/net/wireless/ath/main.c
++++ b/drivers/net/wireless/ath/main.c
+@@ -60,16 +60,13 @@ EXPORT_SYMBOL(ath_rxbuf_alloc);
+ int ath_printk(const char *level, struct ath_common *common,
+ 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: ", level);
++ rtn = vprintk(fmt, args);
+
+ va_end(args);
+