iwlagn: modify the debug macro to be usable by all the layers
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Fri, 26 Aug 2011 06:10:45 +0000 (23:10 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 29 Aug 2011 19:25:31 +0000 (15:25 -0400)
Since all the layers need to print debug message, the debug macro cannot suppose
that they will be given iwl_priv as a parameter and then dereference it.
Use iwl_shared instead.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-debug.h
drivers/net/wireless/iwlwifi/iwl-rx.c

index 225ae720c7d2fc91789b7fbd78152f3a63da7aed..7c9e9af4a09d5f77b1f29abff07e9d2b0086d5fd 100644 (file)
 #ifndef __iwl_debug_h__
 #define __iwl_debug_h__
 
+#include "iwl-shared.h"
+
 struct iwl_priv;
 
-#define IWL_ERR(p, f, a...) dev_err(p->bus->dev, f, ## a)
-#define IWL_WARN(p, f, a...) dev_warn(p->bus->dev, f, ## a)
-#define IWL_INFO(p, f, a...) dev_info(p->bus->dev, f, ## a)
-#define IWL_CRIT(p, f, a...) dev_crit(p->bus->dev, f, ## a)
+/*No matter what is m (priv, bus, trans), this will work */
+#define IWL_ERR(m, f, a...) dev_err(bus(m)->dev, f, ## a)
+#define IWL_WARN(m, f, a...) dev_warn(bus(m)->dev, f, ## a)
+#define IWL_INFO(m, f, a...) dev_info(bus(m)->dev, f, ## a)
+#define IWL_CRIT(m, f, a...) dev_crit(bus(m)->dev, f, ## a)
 
-#define iwl_print_hex_error(priv, p, len)                              \
+#define iwl_print_hex_error(m, p, len)                                 \
 do {                                                                   \
        print_hex_dump(KERN_ERR, "iwl data: ",                          \
                       DUMP_PREFIX_OFFSET, 16, 1, p, len, 1);           \
 } while (0)
 
 #ifdef CONFIG_IWLWIFI_DEBUG
-#define IWL_DEBUG(__priv, level, fmt, args...)                         \
+#define IWL_DEBUG(m, level, fmt, args...)                              \
 do {                                                                   \
-       if (iwl_get_debug_level(__priv->shrd) & (level))                \
-               dev_printk(KERN_ERR, &(__priv->hw->wiphy->dev),         \
+       if (iwl_get_debug_level((m)->shrd) & (level))                   \
+               dev_printk(KERN_ERR, bus(m)->dev,                       \
                         "%c %s " fmt, in_interrupt() ? 'I' : 'U',      \
                        __func__ , ## args);                            \
 } while (0)
 
-#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...)                   \
+#define IWL_DEBUG_LIMIT(m, level, fmt, args...)                                \
 do {                                                                   \
-       if ((iwl_get_debug_level(__priv->shrd) & (level)) && net_ratelimit())\
-               dev_printk(KERN_ERR, &(__priv->hw->wiphy->dev),         \
+       if (iwl_get_debug_level((m)->shrd) & (level) && net_ratelimit())\
+               dev_printk(KERN_ERR, bus(m)->dev,                       \
                        "%c %s " fmt, in_interrupt() ? 'I' : 'U',       \
                         __func__ , ## args);                           \
 } while (0)
 
-#define iwl_print_hex_dump(priv, level, p, len)                        \
+#define iwl_print_hex_dump(m, level, p, len)                           \
 do {                                                                   \
-       if (iwl_get_debug_level(priv->shrd) & level)                    \
+       if (iwl_get_debug_level((m)->shrd) & level)                     \
                print_hex_dump(KERN_DEBUG, "iwl data: ",                \
                               DUMP_PREFIX_OFFSET, 16, 1, p, len, 1);   \
 } while (0)
 
 #else
-#define IWL_DEBUG(__priv, level, fmt, args...)
-#define IWL_DEBUG_LIMIT(__priv, level, fmt, args...)
-static inline void iwl_print_hex_dump(struct iwl_priv *priv, int level,
-                                     const void *p, u32 len)
-{}
+#define IWL_DEBUG(m, level, fmt, args...)
+#define IWL_DEBUG_LIMIT(m, level, fmt, args...)
+#define iwl_print_hex_dump(m, level, p, len)
 #endif                         /* CONFIG_IWLWIFI_DEBUG */
 
 #ifdef CONFIG_IWLWIFI_DEBUGFS
index 37bc017b80ac0877cb029c53926c11f38bb98204..a5e4ddad2e04f496910e75cfd0769e38b74d3a26 100644 (file)
@@ -122,7 +122,8 @@ static void iwl_rx_pm_debug_statistics_notif(struct iwl_priv *priv,
                                             struct iwl_rx_mem_buffer *rxb)
 {
        struct iwl_rx_packet *pkt = rxb_addr(rxb);
-       u32 len = le32_to_cpu(pkt->len_n_flags) & FH_RSCSR_FRAME_SIZE_MSK;
+       u32 __maybe_unused len =
+               le32_to_cpu(pkt->len_n_flags) & FH_RSCSR_FRAME_SIZE_MSK;
        IWL_DEBUG_RADIO(priv, "Dumping %d bytes of unhandled "
                        "notification for %s:\n", len,
                        get_cmd_string(pkt->hdr.cmd));