/* Hardware specific file defines the PCI IDs table for that hardware module */
 extern struct pci_device_id iwl3945_hw_card_ids[];
 
-#define DRV_NAME       "iwl3945"
 #include "iwl-csr.h"
 #include "iwl-prph.h"
 #include "iwl-3945-hw.h"
 
            channel <= CALIB_IWL_TX_ATTEN_GR4_LCH)
                return CALIB_CH_GROUP_4;
 
-       IWL_ERROR("Can't find txatten group for channel %d.\n", channel);
        return -1;
 }
 
        /* get txatten group, used to select 1) thermal txpower adjustment
         *   and 2) mimo txpower balance between Tx chains. */
        txatten_grp = iwl4965_get_tx_atten_grp(channel);
-       if (txatten_grp < 0)
+       if (txatten_grp < 0) {
+               IWL_ERROR("Can't find txatten group for channel %d.\n",
+                         channel);
                return -EINVAL;
+       }
 
        IWL_DEBUG_TXPOWER("channel %d belongs to txatten group %d\n",
                          channel, txatten_grp);
 
  * be #ifdef'd out once the driver is stable and folks aren't actively
  * making changes
  */
-int iwl_agn_check_rxon_cmd(struct iwl_rxon_cmd *rxon)
+int iwl_agn_check_rxon_cmd(struct iwl_priv *priv)
 {
        int error = 0;
        int counter = 1;
+       struct iwl_rxon_cmd *rxon = &priv->staging_rxon;
 
        if (rxon->flags & RXON_FLG_BAND_24G_MSK) {
                error |= le32_to_cpu(rxon->flags &
 
 
        } else if (is_Ht(tbl->lq_type)) {
                if (index > IWL_LAST_OFDM_RATE) {
-                       IWL_ERROR("invalid HT rate index %d\n", index);
+                       printk(KERN_ERR RS_NAME": Invalid HT rate index %d\n",
+                              index);
                        index = IWL_LAST_OFDM_RATE;
                }
                rate_n_flags = RATE_MCS_HT_MSK;
                else
                        rate_n_flags |= iwl_rates[index].plcp_mimo3;
        } else {
-               IWL_ERROR("Invalid tbl->lq_type %d\n", tbl->lq_type);
+               printk(KERN_ERR RS_NAME": Invalid tbl->lq_type %d\n",
+                      tbl->lq_type);
        }
 
        rate_n_flags |= ((tbl->ant_type << RATE_MCS_ANT_POS) &
                        rate_n_flags |= RATE_MCS_GF_MSK;
                        if (is_siso(tbl->lq_type) && tbl->is_SGI) {
                                rate_n_flags &= ~RATE_MCS_SGI_MSK;
-                               IWL_ERROR("GF was set with SGI:SISO\n");
+                               printk(KERN_ERR RS_NAME
+                                      ": GF was set with SGI:SISO\n");
                        }
                }
        }
 
 
 #include <asm/div64.h>
 
+#define DRV_NAME        "iwlagn"
+
 #include "iwl-eeprom.h"
 #include "iwl-dev.h"
 #include "iwl-core.h"
 
 /*
  * module name, copyright, version, etc.
- * NOTE: DRV_NAME is defined in iwlwifi.h for use by iwl-debug.h and printk
  */
-
 #define DRV_DESCRIPTION        "Intel(R) Wireless WiFi Link AGN driver for Linux"
 
 #ifdef CONFIG_IWLWIFI_DEBUG
         * 5000, but will not damage 4965 */
        priv->staging_rxon.flags |= RXON_FLG_SELF_CTS_EN;
 
-       ret = iwl_agn_check_rxon_cmd(&priv->staging_rxon);
+       ret = iwl_agn_check_rxon_cmd(priv);
        if (ret) {
                IWL_ERROR("Invalid RXON configuration.  Not committing.\n");
                return -EINVAL;
 
        ret = iwlagn_rate_control_register();
        if (ret) {
-               IWL_ERROR("Unable to register rate control algorithm: %d\n", ret);
+               printk(KERN_ERR DRV_NAME
+                      "Unable to register rate control algorithm: %d\n", ret);
                return ret;
        }
 
        ret = pci_register_driver(&iwl_driver);
        if (ret) {
-               IWL_ERROR("Unable to initialize PCI module\n");
+               printk(KERN_ERR DRV_NAME "Unable to initialize PCI module\n");
                goto error_register;
        }
 
 
 #ifndef __iwl_commands_h__
 #define __iwl_commands_h__
 
+struct iwl_priv;
+
 /* uCode version contains 4 values: Major/Minor/API/Serial */
 #define IWL_UCODE_MAJOR(ver)   (((ver) & 0xFF000000) >> 24)
 #define IWL_UCODE_MINOR(ver)   (((ver) & 0x00FF0000) >> 16)
        } u;
 } __attribute__ ((packed));
 
-int iwl_agn_check_rxon_cmd(struct iwl_rxon_cmd *rxon);
+int iwl_agn_check_rxon_cmd(struct iwl_priv *priv);
 
 #endif                         /* __iwl_commands_h__ */
 
        struct ieee80211_hw *hw =
                ieee80211_alloc_hw(sizeof(struct iwl_priv), hw_ops);
        if (hw == NULL) {
-               IWL_ERROR("Can not allocate network device\n");
+               printk(KERN_ERR "%s: Can not allocate network device\n",
+                      cfg->name);
                goto out;
        }
 
 
        if ((priv->bands[IEEE80211_BAND_5GHZ].n_channels == 0) &&
             priv->cfg->sku & IWL_SKU_A) {
-               printk(KERN_INFO DRV_NAME
-                      ": Incorrectly detected BG card as ABG.  Please send "
-                      "your PCI ID 0x%04X:0x%04X to maintainer.\n",
-                      priv->pci_dev->device, priv->pci_dev->subsystem_device);
+               dev_printk(KERN_INFO, &(priv->hw->wiphy->dev),
+                          "Incorrectly detected BG card as ABG.  Please send "
+                          "your PCI ID 0x%04X:0x%04X to maintainer.\n",
+                          priv->pci_dev->device,
+                          priv->pci_dev->subsystem_device);
                priv->cfg->sku &= ~IWL_SKU_A;
        }
 
-       printk(KERN_INFO DRV_NAME
-              ": Tunable channels: %d 802.11bg, %d 802.11a channels\n",
-              priv->bands[IEEE80211_BAND_2GHZ].n_channels,
-              priv->bands[IEEE80211_BAND_5GHZ].n_channels);
-
+       dev_printk(KERN_INFO, &(priv->hw->wiphy->dev),
+                  "Tunable channels: %d 802.11bg, %d 802.11a channels\n",
+                  priv->bands[IEEE80211_BAND_2GHZ].n_channels,
+                  priv->bands[IEEE80211_BAND_5GHZ].n_channels);
 
        set_bit(STATUS_GEO_CONFIGURED, &priv->status);
 
 
 #define IWL_DL_TX_REPLY      (1 << 30)
 #define IWL_DL_QOS           (1 << 31)
 
-#define IWL_ERROR(f, a...) printk(KERN_ERR DRV_NAME ": " f, ## a)
-#define IWL_WARNING(f, a...) printk(KERN_WARNING DRV_NAME ": " f, ## a)
+#define IWL_ERROR(f, a...) dev_printk(KERN_ERR, \
+                       &(priv->hw->wiphy->dev), f, ## a)
+#define IWL_WARNING(f, a...) dev_printk(KERN_WARNING, \
+                       &(priv->hw->wiphy->dev), f, ## a)
 #define IWL_DEBUG_INFO(f, a...)    IWL_DEBUG(IWL_DL_INFO, f, ## a)
 
 #define IWL_DEBUG_MAC80211(f, a...)     IWL_DEBUG(IWL_DL_MAC80211, f, ## a)
 
 #include <linux/kernel.h>
 #include <net/ieee80211_radiotap.h>
 
-#define DRV_NAME        "iwlagn"
 #include "iwl-rfkill.h"
 #include "iwl-eeprom.h"
 #include "iwl-4965-hw.h"
 
                rxb->skb = alloc_skb(priv->hw_params.rx_buf_size + 256,
                                     GFP_KERNEL);
                if (!rxb->skb) {
-                       printk(KERN_CRIT DRV_NAME
-                                  "Can not allocate SKB buffers\n");
+                       dev_printk(KERN_CRIT, &(priv->hw->wiphy->dev),
+                                          "Can not allocate SKB buffers\n");
                        /* We don't reschedule replenish work here -- we will
                         * call the restock method and if it still needs
                         * more buffers it will schedule replenish */
 
 
 #include <asm/div64.h>
 
+#define DRV_NAME       "iwl3945"
+
 #include "iwl-3945-core.h"
 #include "iwl-commands.h"
 #include "iwl-3945.h"
 
 /*
  * module name, copyright, version, etc.
- * NOTE: DRV_NAME is defined in iwlwifi.h for use by iwl-debug.h and printk
  */
 
 #define DRV_DESCRIPTION        \
  * be #ifdef'd out once the driver is stable and folks aren't actively
  * making changes
  */
-static int iwl3945_check_rxon_cmd(struct iwl3945_rxon_cmd *rxon)
+static int iwl3945_check_rxon_cmd(struct iwl3945_priv *priv)
 {
        int error = 0;
        int counter = 1;
+       struct iwl3945_rxon_cmd *rxon = &priv->staging_rxon;
 
        if (rxon->flags & RXON_FLG_BAND_24G_MSK) {
                error |= le32_to_cpu(rxon->flags &
            ~(RXON_FLG_DIS_DIV_MSK | RXON_FLG_ANT_SEL_MSK);
        priv->staging_rxon.flags |= iwl3945_get_antenna_flags(priv);
 
-       rc = iwl3945_check_rxon_cmd(&priv->staging_rxon);
+       rc = iwl3945_check_rxon_cmd(priv);
        if (rc) {
                IWL_ERROR("Invalid RXON configuration.  Not committing.\n");
                return -EINVAL;
         * 1. Allocating HW data
         * ********************/
 
-       if ((iwl3945_param_queues_num > IWL39_MAX_NUM_QUEUES) ||
-           (iwl3945_param_queues_num < IWL_MIN_NUM_QUEUES)) {
-               IWL_ERROR("invalid queues_num, should be between %d and %d\n",
-                         IWL_MIN_NUM_QUEUES, IWL39_MAX_NUM_QUEUES);
-               err = -EINVAL;
-               goto out;
-       }
-
        /* mac80211 allocates memory for this device instance, including
         *   space for this driver's private structure */
        hw = ieee80211_alloc_hw(sizeof(struct iwl3945_priv), &iwl3945_hw_ops);
        if (hw == NULL) {
-               IWL_ERROR("Can not allocate network device\n");
+               printk(KERN_ERR DRV_NAME "Can not allocate network device\n");
                err = -ENOMEM;
                goto out;
        }
        priv->pci_dev = pdev;
        priv->cfg = cfg;
 
+       if ((iwl3945_param_queues_num > IWL39_MAX_NUM_QUEUES) ||
+           (iwl3945_param_queues_num < IWL_MIN_NUM_QUEUES)) {
+               IWL_ERROR("invalid queues_num, should be between %d and %d\n",
+                         IWL_MIN_NUM_QUEUES, IWL39_MAX_NUM_QUEUES);
+               err = -EINVAL;
+               goto out;
+       }
+
        /* Disabling hardware scan means that mac80211 will perform scans
         * "the hard way", rather than using device's scan. */
        if (iwl3945_param_disable_hw_scan) {
 
        ret = iwl3945_rate_control_register();
        if (ret) {
-               IWL_ERROR("Unable to register rate control algorithm: %d\n", ret);
+               printk(KERN_ERR DRV_NAME
+                      "Unable to register rate control algorithm: %d\n", ret);
                return ret;
        }
 
        ret = pci_register_driver(&iwl3945_driver);
        if (ret) {
-               IWL_ERROR("Unable to initialize PCI module\n");
+               printk(KERN_ERR DRV_NAME "Unable to initialize PCI module\n");
                goto error_register;
        }