#include <linux/bitops.h>
 #include <linux/printk.h>
 
-#define DRIVER_NAME "wl12xx"
+#define DRIVER_NAME "wlcore"
 #define DRIVER_PREFIX DRIVER_NAME ": "
 
 enum {
 #define wl1271_info(fmt, arg...) \
        pr_info(DRIVER_PREFIX fmt "\n", ##arg)
 
+/* define the debug macro differently if dynamic debug is supported */
+#if defined(CONFIG_DYNAMIC_DEBUG)
 #define wl1271_debug(level, fmt, arg...) \
        do { \
-               if (level & wl12xx_debug_level) \
-                       pr_debug(DRIVER_PREFIX fmt "\n", ##arg); \
+               if (unlikely(level & wl12xx_debug_level)) \
+                       dynamic_pr_debug(DRIVER_PREFIX fmt "\n", ##arg); \
+       } while (0)
+#else
+#define wl1271_debug(level, fmt, arg...) \
+       do { \
+               if (unlikely(level & wl12xx_debug_level)) \
+                       printk(KERN_DEBUG pr_fmt(DRIVER_PREFIX fmt "\n"), \
+                              ##arg); \
        } while (0)
+#endif
 
 /* TODO: use pr_debug_hex_dump when it becomes available */
 #define wl1271_dump(level, prefix, buf, len)   \