]> err.no Git - linux-2.6/blobdiff - drivers/net/wireless/ipw2100.c
Merge branch 'master'
[linux-2.6] / drivers / net / wireless / ipw2100.c
index 1ff41afa4214776296ca8208aaefec8d22dd3aeb..2414e6493aa5639ad88aaa829395976c404fa972 100644 (file)
@@ -207,7 +207,20 @@ MODULE_PARM_DESC(channel, "channel");
 MODULE_PARM_DESC(associate, "auto associate when scanning (default on)");
 MODULE_PARM_DESC(disable, "manually disable the radio (default 0 [radio on])");
 
-u32 ipw2100_debug_level = IPW_DL_NONE;
+static u32 ipw2100_debug_level = IPW_DL_NONE;
+
+#ifdef CONFIG_IPW_DEBUG
+#define IPW_DEBUG(level, message...) \
+do { \
+       if (ipw2100_debug_level & (level)) { \
+               printk(KERN_DEBUG "ipw2100: %c %s ", \
+                       in_interrupt() ? 'I' : 'U',  __FUNCTION__); \
+               printk(message); \
+       } \
+} while (0)
+#else
+#define IPW_DEBUG(level, message...) do {} while (0)
+#endif /* CONFIG_IPW_DEBUG */
 
 #ifdef CONFIG_IPW_DEBUG
 static const char *command_types[] = {
@@ -295,41 +308,57 @@ static void ipw2100_queues_initialize(struct ipw2100_priv *priv);
 static void ipw2100_queues_free(struct ipw2100_priv *priv);
 static int ipw2100_queues_allocate(struct ipw2100_priv *priv);
 
+static int ipw2100_fw_download(struct ipw2100_priv *priv,
+                              struct ipw2100_fw *fw);
+static int ipw2100_get_firmware(struct ipw2100_priv *priv,
+                               struct ipw2100_fw *fw);
+static int ipw2100_get_fwversion(struct ipw2100_priv *priv, char *buf,
+                                size_t max);
+static int ipw2100_get_ucodeversion(struct ipw2100_priv *priv, char *buf,
+                                   size_t max);
+static void ipw2100_release_firmware(struct ipw2100_priv *priv,
+                                    struct ipw2100_fw *fw);
+static int ipw2100_ucode_download(struct ipw2100_priv *priv,
+                                 struct ipw2100_fw *fw);
+static void ipw2100_wx_event_work(struct ipw2100_priv *priv);
+static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device * dev);
+static struct iw_handler_def ipw2100_wx_handler_def;
+
 
 static inline void read_register(struct net_device *dev, u32 reg, u32 *val)
 {
-       *val = readl((void *)(dev->base_addr + reg));
+       *val = readl((void __iomem *)(dev->base_addr + reg));
        IPW_DEBUG_IO("r: 0x%08X => 0x%08X\n", reg, *val);
 }
 
 static inline void write_register(struct net_device *dev, u32 reg, u32 val)
 {
-       writel(val, (void *)(dev->base_addr + reg));
+       writel(val, (void __iomem *)(dev->base_addr + reg));
        IPW_DEBUG_IO("w: 0x%08X <= 0x%08X\n", reg, val);
 }
 
 static inline void read_register_word(struct net_device *dev, u32 reg, u16 *val)
 {
-       *val = readw((void *)(dev->base_addr + reg));
+       *val = readw((void __iomem *)(dev->base_addr + reg));
        IPW_DEBUG_IO("r: 0x%08X => %04X\n", reg, *val);
 }
 
 static inline void read_register_byte(struct net_device *dev, u32 reg, u8 *val)
 {
-       *val = readb((void *)(dev->base_addr + reg));
+       *val = readb((void __iomem *)(dev->base_addr + reg));
        IPW_DEBUG_IO("r: 0x%08X => %02X\n", reg, *val);
 }
 
 static inline void write_register_word(struct net_device *dev, u32 reg, u16 val)
 {
-       writew(val, (void *)(dev->base_addr + reg));
+       writew(val, (void __iomem *)(dev->base_addr + reg));
        IPW_DEBUG_IO("w: 0x%08X <= %04X\n", reg, val);
 }
 
 
 static inline void write_register_byte(struct net_device *dev, u32 reg, u8 val)
 {
-       writeb(val, (void *)(dev->base_addr + reg));
+       writeb(val, (void __iomem *)(dev->base_addr + reg));
        IPW_DEBUG_IO("w: 0x%08X =< %02X\n", reg, val);
 }
 
@@ -469,12 +498,12 @@ static inline void read_nic_memory(struct net_device *dev, u32 addr, u32 len,
 static inline int ipw2100_hw_is_adapter_in_system(struct net_device *dev)
 {
        return (dev->base_addr &&
-               (readl((void *)(dev->base_addr + IPW_REG_DOA_DEBUG_AREA_START))
+               (readl((void __iomem *)(dev->base_addr + IPW_REG_DOA_DEBUG_AREA_START))
                 == IPW_DATA_DOA_DEBUG_VALUE));
 }
 
-int ipw2100_get_ordinal(struct ipw2100_priv *priv, u32 ord,
-                       void *val, u32 *len)
+static int ipw2100_get_ordinal(struct ipw2100_priv *priv, u32 ord,
+                              void *val, u32 *len)
 {
        struct ipw2100_ordinals *ordinals = &priv->ordinals;
        u32 addr;
@@ -1586,7 +1615,7 @@ fail_up:
        return err;
 }
 
-int ipw2100_set_scan_options(struct ipw2100_priv *priv)
+static int ipw2100_set_scan_options(struct ipw2100_priv *priv)
 {
        struct host_command cmd = {
                .host_command = SET_SCAN_OPTIONS,
@@ -1618,7 +1647,7 @@ int ipw2100_set_scan_options(struct ipw2100_priv *priv)
        return err;
 }
 
-int ipw2100_start_scan(struct ipw2100_priv *priv)
+static int ipw2100_start_scan(struct ipw2100_priv *priv)
 {
        struct host_command cmd = {
                .host_command = BROADCAST_SCAN,
@@ -1833,7 +1862,7 @@ static void ipw2100_down(struct ipw2100_priv *priv)
        netif_stop_queue(priv->net_dev);
 }
 
-void ipw2100_reset_adapter(struct ipw2100_priv *priv)
+static void ipw2100_reset_adapter(struct ipw2100_priv *priv)
 {
        unsigned long flags;
        union iwreq_data wrqu = {
@@ -1963,8 +1992,8 @@ static void isr_indicate_associated(struct ipw2100_priv *priv, u32 status)
 }
 
 
-int ipw2100_set_essid(struct ipw2100_priv *priv, char *essid,
-                     int length, int batch_mode)
+static int ipw2100_set_essid(struct ipw2100_priv *priv, char *essid,
+                            int length, int batch_mode)
 {
        int ssid_len = min(length, IW_ESSID_MAX_SIZE);
        struct host_command cmd = {
@@ -2095,20 +2124,20 @@ static void isr_indicate_scanning(struct ipw2100_priv *priv, u32 status)
        priv->status |= STATUS_SCANNING;
 }
 
-const struct ipw2100_status_indicator status_handlers[] = {
-       IPW2100_HANDLER(IPW_STATE_INITIALIZED, 0),
-       IPW2100_HANDLER(IPW_STATE_COUNTRY_FOUND, 0),
+static const struct ipw2100_status_indicator status_handlers[] = {
+       IPW2100_HANDLER(IPW_STATE_INITIALIZED, NULL),
+       IPW2100_HANDLER(IPW_STATE_COUNTRY_FOUND, NULL),
        IPW2100_HANDLER(IPW_STATE_ASSOCIATED, isr_indicate_associated),
        IPW2100_HANDLER(IPW_STATE_ASSN_LOST, isr_indicate_association_lost),
-       IPW2100_HANDLER(IPW_STATE_ASSN_CHANGED, 0),
+       IPW2100_HANDLER(IPW_STATE_ASSN_CHANGED, NULL),
        IPW2100_HANDLER(IPW_STATE_SCAN_COMPLETE, isr_scan_complete),
-       IPW2100_HANDLER(IPW_STATE_ENTERED_PSP, 0),
-       IPW2100_HANDLER(IPW_STATE_LEFT_PSP, 0),
+       IPW2100_HANDLER(IPW_STATE_ENTERED_PSP, NULL),
+       IPW2100_HANDLER(IPW_STATE_LEFT_PSP, NULL),
        IPW2100_HANDLER(IPW_STATE_RF_KILL, isr_indicate_rf_kill),
-       IPW2100_HANDLER(IPW_STATE_DISABLED, 0),
-       IPW2100_HANDLER(IPW_STATE_POWER_DOWN, 0),
+       IPW2100_HANDLER(IPW_STATE_DISABLED, NULL),
+       IPW2100_HANDLER(IPW_STATE_POWER_DOWN, NULL),
        IPW2100_HANDLER(IPW_STATE_SCANNING, isr_indicate_scanning),
-       IPW2100_HANDLER(-1, 0)
+       IPW2100_HANDLER(-1, NULL)
 };
 
 
@@ -2163,7 +2192,7 @@ static void isr_rx_complete_command(
 }
 
 #ifdef CONFIG_IPW_DEBUG
-const char *frame_types[] = {
+static const char *frame_types[] = {
        "COMMAND_STATUS_VAL",
        "STATUS_CHANGE_VAL",
        "P80211_DATA_VAL",
@@ -2283,7 +2312,7 @@ static inline u32 ipw2100_match_buf(struct ipw2100_priv *priv, u8 *in_buf,
  *
  */
 #ifdef CONFIG_IPW2100_RX_DEBUG
-u8 packet_data[IPW_RX_NIC_BUFFER_LENGTH];
+static u8 packet_data[IPW_RX_NIC_BUFFER_LENGTH];
 #endif
 
 static inline void ipw2100_corruption_detected(struct ipw2100_priv *priv,
@@ -3427,7 +3456,7 @@ static DEVICE_ATTR(capability, S_IRUGO, show_capability, NULL);
 
 
 #define IPW2100_REG(x) { IPW_ ##x, #x }
-const struct {
+static const struct {
        u32 addr;
        const char *name;
 } hw_data[] = {
@@ -3438,7 +3467,7 @@ const struct {
        IPW2100_REG(REG_RESET_REG),
 };
 #define IPW2100_NIC(x, s) { x, #x, s }
-const struct {
+static const struct {
        u32 addr;
        const char *name;
        size_t size;
@@ -3448,7 +3477,7 @@ const struct {
        IPW2100_NIC(0x210000, 1),
 };
 #define IPW2100_ORD(x, d) { IPW_ORD_ ##x, #x, d }
-const struct {
+static const struct {
        u8 index;
        const char *name;
        const char *desc;
@@ -3813,7 +3842,7 @@ static ssize_t show_stats(struct device *d, struct device_attribute *attr,
 static DEVICE_ATTR(stats, S_IRUGO, show_stats, NULL);
 
 
-int ipw2100_switch_mode(struct ipw2100_priv *priv, u32 mode)
+static int ipw2100_switch_mode(struct ipw2100_priv *priv, u32 mode)
 {
        int err;
 
@@ -4537,7 +4566,7 @@ static int ipw2100_read_mac_address(struct ipw2100_priv *priv)
  *
  ********************************************************************/
 
-int ipw2100_set_mac_address(struct ipw2100_priv *priv, int batch_mode)
+static int ipw2100_set_mac_address(struct ipw2100_priv *priv, int batch_mode)
 {
        struct host_command cmd = {
                .host_command = ADAPTER_ADDRESS,
@@ -4564,7 +4593,7 @@ int ipw2100_set_mac_address(struct ipw2100_priv *priv, int batch_mode)
        return err;
 }
 
-int ipw2100_set_port_type(struct ipw2100_priv *priv, u32 port_type,
+static int ipw2100_set_port_type(struct ipw2100_priv *priv, u32 port_type,
                                 int batch_mode)
 {
        struct host_command cmd = {
@@ -4605,7 +4634,8 @@ int ipw2100_set_port_type(struct ipw2100_priv *priv, u32 port_type,
 }
 
 
-int ipw2100_set_channel(struct ipw2100_priv *priv, u32 channel, int batch_mode)
+static int ipw2100_set_channel(struct ipw2100_priv *priv, u32 channel,
+                              int batch_mode)
 {
        struct host_command cmd = {
                .host_command = CHANNEL,
@@ -4655,7 +4685,7 @@ int ipw2100_set_channel(struct ipw2100_priv *priv, u32 channel, int batch_mode)
        return 0;
 }
 
-int ipw2100_system_config(struct ipw2100_priv *priv, int batch_mode)
+static int ipw2100_system_config(struct ipw2100_priv *priv, int batch_mode)
 {
        struct host_command cmd = {
                .host_command = SYSTEM_CONFIG,
@@ -4717,7 +4747,8 @@ int ipw2100_system_config(struct ipw2100_priv *priv, int batch_mode)
        return 0;
 }
 
-int ipw2100_set_tx_rates(struct ipw2100_priv *priv, u32 rate, int batch_mode)
+static int ipw2100_set_tx_rates(struct ipw2100_priv *priv, u32 rate,
+                               int batch_mode)
 {
        struct host_command cmd = {
                .host_command = BASIC_TX_RATES,
@@ -4756,8 +4787,8 @@ int ipw2100_set_tx_rates(struct ipw2100_priv *priv, u32 rate, int batch_mode)
        return 0;
 }
 
-int ipw2100_set_power_mode(struct ipw2100_priv *priv,
-                          int power_level)
+static int ipw2100_set_power_mode(struct ipw2100_priv *priv,
+                                 int power_level)
 {
        struct host_command cmd = {
                .host_command = POWER_MODE,
@@ -4794,7 +4825,7 @@ int ipw2100_set_power_mode(struct ipw2100_priv *priv,
 }
 
 
-int ipw2100_set_rts_threshold(struct ipw2100_priv *priv, u32 threshold)
+static int ipw2100_set_rts_threshold(struct ipw2100_priv *priv, u32 threshold)
 {
        struct host_command cmd = {
                .host_command = RTS_THRESHOLD,
@@ -4858,7 +4889,7 @@ int ipw2100_set_fragmentation_threshold(struct ipw2100_priv *priv,
 }
 #endif
 
-int ipw2100_set_short_retry(struct ipw2100_priv *priv, u32 retry)
+static int ipw2100_set_short_retry(struct ipw2100_priv *priv, u32 retry)
 {
        struct host_command cmd = {
                .host_command = SHORT_RETRY_LIMIT,
@@ -4878,7 +4909,7 @@ int ipw2100_set_short_retry(struct ipw2100_priv *priv, u32 retry)
        return 0;
 }
 
-int ipw2100_set_long_retry(struct ipw2100_priv *priv, u32 retry)
+static int ipw2100_set_long_retry(struct ipw2100_priv *priv, u32 retry)
 {
        struct host_command cmd = {
                .host_command = LONG_RETRY_LIMIT,
@@ -4899,8 +4930,8 @@ int ipw2100_set_long_retry(struct ipw2100_priv *priv, u32 retry)
 }
 
 
-int ipw2100_set_mandatory_bssid(struct ipw2100_priv *priv, u8 *bssid,
-                               int batch_mode)
+static int ipw2100_set_mandatory_bssid(struct ipw2100_priv *priv, u8 *bssid,
+                                      int batch_mode)
 {
        struct host_command cmd = {
                .host_command = MANDATORY_BSSID,
@@ -5037,11 +5068,11 @@ struct security_info_params {
        u8 unicast_using_group;
 } __attribute__ ((packed));
 
-int ipw2100_set_security_information(struct ipw2100_priv *priv,
-                                    int auth_mode,
-                                    int security_level,
-                                    int unicast_using_group,
-                                    int batch_mode)
+static int ipw2100_set_security_information(struct ipw2100_priv *priv,
+                                           int auth_mode,
+                                           int security_level,
+                                           int unicast_using_group,
+                                           int batch_mode)
 {
        struct host_command cmd = {
                .host_command = SET_SECURITY_INFORMATION,
@@ -5103,8 +5134,8 @@ int ipw2100_set_security_information(struct ipw2100_priv *priv,
        return err;
 }
 
-int ipw2100_set_tx_power(struct ipw2100_priv *priv,
-                        u32 tx_power)
+static int ipw2100_set_tx_power(struct ipw2100_priv *priv,
+                               u32 tx_power)
 {
        struct host_command cmd = {
                .host_command = TX_POWER_INDEX,
@@ -5123,8 +5154,8 @@ int ipw2100_set_tx_power(struct ipw2100_priv *priv,
        return 0;
 }
 
-int ipw2100_set_ibss_beacon_interval(struct ipw2100_priv *priv,
-                                    u32 interval, int batch_mode)
+static int ipw2100_set_ibss_beacon_interval(struct ipw2100_priv *priv,
+                                           u32 interval, int batch_mode)
 {
        struct host_command cmd = {
                .host_command = BEACON_INTERVAL,
@@ -5654,8 +5685,10 @@ static int ipw2100_open(struct net_device *dev)
        IPW_DEBUG_INFO("dev->open\n");
 
        spin_lock_irqsave(&priv->low_lock, flags);
-       if (priv->status & STATUS_ASSOCIATED)
+       if (priv->status & STATUS_ASSOCIATED) {
+               netif_carrier_on(dev);
                netif_start_queue(dev);
+       }
        spin_unlock_irqrestore(&priv->low_lock, flags);
 
        return 0;
@@ -6294,7 +6327,7 @@ static void ipw2100_irq_tasklet(struct ipw2100_priv *priv);
 
 static struct net_device *ipw2100_alloc_device(
        struct pci_dev *pci_dev,
-       char *base_addr,
+       void __iomem *base_addr,
        unsigned long mem_start,
        unsigned long mem_len)
 {
@@ -6441,7 +6474,7 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
                                const struct pci_device_id *ent)
 {
        unsigned long mem_start, mem_len, mem_flags;
-       char *base_addr = NULL;
+       void __iomem *base_addr = NULL;
        struct net_device *dev = NULL;
        struct ipw2100_priv *priv = NULL;
        int err = 0;
@@ -6631,7 +6664,7 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev,
        }
 
        if (base_addr)
-               iounmap((char*)base_addr);
+               iounmap(base_addr);
 
        pci_release_regions(pci_dev);
        pci_disable_device(pci_dev);
@@ -6681,7 +6714,7 @@ static void __devexit ipw2100_pci_remove_one(struct pci_dev *pci_dev)
                        free_irq(dev->irq, priv);
 
                if (dev->base_addr)
-                       iounmap((unsigned char *)dev->base_addr);
+                       iounmap((void __iomem *)dev->base_addr);
 
                free_ieee80211(dev);
        }
@@ -6883,7 +6916,7 @@ module_exit(ipw2100_exit);
 
 #define WEXT_USECHANNELS 1
 
-const long ipw2100_frequencies[] = {
+static const long ipw2100_frequencies[] = {
        2412, 2417, 2422, 2427,
        2432, 2437, 2442, 2447,
        2452, 2457, 2462, 2467,
@@ -6893,7 +6926,7 @@ const long ipw2100_frequencies[] = {
 #define FREQ_COUNT (sizeof(ipw2100_frequencies) / \
                     sizeof(ipw2100_frequencies[0]))
 
-const long ipw2100_rates_11b[] = {
+static const long ipw2100_rates_11b[] = {
        1000000,
        2000000,
        5500000,
@@ -7052,7 +7085,7 @@ static int ipw2100_wx_get_mode(struct net_device *dev,
 #define POWER_MODES 5
 
 /* Values are in microsecond */
-const s32 timeout_duration[POWER_MODES] = {
+static const s32 timeout_duration[POWER_MODES] = {
        350000,
        250000,
        75000,
@@ -7060,7 +7093,7 @@ const s32 timeout_duration[POWER_MODES] = {
        25000,
 };
 
-const s32 period_duration[POWER_MODES] = {
+static const s32 period_duration[POWER_MODES] = {
        400000,
        700000,
        1000000,
@@ -8125,7 +8158,7 @@ static iw_handler ipw2100_private_handler[] = {
        ipw2100_wx_get_preamble,
 };
 
-struct iw_handler_def ipw2100_wx_handler_def =
+static struct iw_handler_def ipw2100_wx_handler_def =
 {
        .standard = ipw2100_wx_handlers,
        .num_standard = sizeof(ipw2100_wx_handlers) / sizeof(iw_handler),
@@ -8141,7 +8174,7 @@ struct iw_handler_def ipw2100_wx_handler_def =
  * Called by /proc/net/wireless
  * Also called by SIOCGIWSTATS
  */
-struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device * dev)
+static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device * dev)
 {
        enum {
                POOR = 30,
@@ -8277,7 +8310,7 @@ struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device * dev)
        return (struct iw_statistics *) NULL;
 }
 
-void ipw2100_wx_event_work(struct ipw2100_priv *priv)
+static void ipw2100_wx_event_work(struct ipw2100_priv *priv)
 {
        union iwreq_data wrqu;
        int len = ETH_ALEN;
@@ -8392,7 +8425,8 @@ static int ipw2100_mod_firmware_load(struct ipw2100_fw *fw)
 }
 
 
-int ipw2100_get_firmware(struct ipw2100_priv *priv, struct ipw2100_fw *fw)
+static int ipw2100_get_firmware(struct ipw2100_priv *priv,
+                               struct ipw2100_fw *fw)
 {
        char *fw_name;
        int rc;
@@ -8431,8 +8465,8 @@ int ipw2100_get_firmware(struct ipw2100_priv *priv, struct ipw2100_fw *fw)
        return 0;
 }
 
-void ipw2100_release_firmware(struct ipw2100_priv *priv,
-                             struct ipw2100_fw *fw)
+static void ipw2100_release_firmware(struct ipw2100_priv *priv,
+                                    struct ipw2100_fw *fw)
 {
        fw->version = 0;
        if (fw->fw_entry)
@@ -8441,7 +8475,8 @@ void ipw2100_release_firmware(struct ipw2100_priv *priv,
 }
 
 
-int ipw2100_get_fwversion(struct ipw2100_priv *priv, char *buf, size_t max)
+static int ipw2100_get_fwversion(struct ipw2100_priv *priv, char *buf,
+                                size_t max)
 {
        char ver[MAX_FW_VERSION_LEN];
        u32 len = MAX_FW_VERSION_LEN;
@@ -8460,7 +8495,8 @@ int ipw2100_get_fwversion(struct ipw2100_priv *priv, char *buf, size_t max)
        return tmp;
 }
 
-int ipw2100_get_ucodeversion(struct ipw2100_priv *priv, char *buf, size_t max)
+static int ipw2100_get_ucodeversion(struct ipw2100_priv *priv, char *buf,
+                                   size_t max)
 {
        u32 ver;
        u32 len = sizeof(ver);
@@ -8474,7 +8510,8 @@ int ipw2100_get_ucodeversion(struct ipw2100_priv *priv, char *buf, size_t max)
 /*
  * On exit, the firmware will have been freed from the fw list
  */
-int ipw2100_fw_download(struct ipw2100_priv *priv, struct ipw2100_fw *fw)
+static int ipw2100_fw_download(struct ipw2100_priv *priv,
+                              struct ipw2100_fw *fw)
 {
        /* firmware is constructed of N contiguous entries, each entry is
         * structured as:
@@ -8531,11 +8568,13 @@ struct symbol_alive_response {
        u8 ucode_valid;
 };
 
-int ipw2100_ucode_download(struct ipw2100_priv *priv, struct ipw2100_fw *fw)
+static int ipw2100_ucode_download(struct ipw2100_priv *priv,
+                                 struct ipw2100_fw *fw)
 {
        struct net_device *dev = priv->net_dev;
        const unsigned char *microcode_data = fw->uc.data;
        unsigned int microcode_data_left = fw->uc.size;
+       void __iomem *reg = (void __iomem *)dev->base_addr;
 
        struct symbol_alive_response response;
        int i, j;
@@ -8543,23 +8582,23 @@ int ipw2100_ucode_download(struct ipw2100_priv *priv, struct ipw2100_fw *fw)
 
        /* Symbol control */
        write_nic_word(dev, IPW2100_CONTROL_REG, 0x703);
-       readl((void *)(dev->base_addr));
+       readl(reg);
        write_nic_word(dev, IPW2100_CONTROL_REG, 0x707);
-       readl((void *)(dev->base_addr));
+       readl(reg);
 
        /* HW config */
        write_nic_byte(dev, 0x210014, 0x72);    /* fifo width =16 */
-       readl((void *)(dev->base_addr));
+       readl(reg);
        write_nic_byte(dev, 0x210014, 0x72);    /* fifo width =16 */
-       readl((void *)(dev->base_addr));
+       readl(reg);
 
        /* EN_CS_ACCESS bit to reset control store pointer */
        write_nic_byte(dev, 0x210000, 0x40);
-       readl((void *)(dev->base_addr));
+       readl(reg);
        write_nic_byte(dev, 0x210000, 0x0);
-       readl((void *)(dev->base_addr));
+       readl(reg);
        write_nic_byte(dev, 0x210000, 0x40);
-       readl((void *)(dev->base_addr));
+       readl(reg);
 
        /* copy microcode from buffer into Symbol */
 
@@ -8571,31 +8610,31 @@ int ipw2100_ucode_download(struct ipw2100_priv *priv, struct ipw2100_fw *fw)
 
        /* EN_CS_ACCESS bit to reset the control store pointer */
        write_nic_byte(dev, 0x210000, 0x0);
-       readl((void *)(dev->base_addr));
+       readl(reg);
 
        /* Enable System (Reg 0)
         * first enable causes garbage in RX FIFO */
        write_nic_byte(dev, 0x210000, 0x0);
-       readl((void *)(dev->base_addr));
+       readl(reg);
        write_nic_byte(dev, 0x210000, 0x80);
-       readl((void *)(dev->base_addr));
+       readl(reg);
 
        /* Reset External Baseband Reg */
        write_nic_word(dev, IPW2100_CONTROL_REG, 0x703);
-       readl((void *)(dev->base_addr));
+       readl(reg);
        write_nic_word(dev, IPW2100_CONTROL_REG, 0x707);
-       readl((void *)(dev->base_addr));
+       readl(reg);
 
        /* HW Config (Reg 5) */
        write_nic_byte(dev, 0x210014, 0x72);    // fifo width =16
-       readl((void *)(dev->base_addr));
+       readl(reg);
        write_nic_byte(dev, 0x210014, 0x72);    // fifo width =16
-       readl((void *)(dev->base_addr));
+       readl(reg);
 
        /* Enable System (Reg 0)
         * second enable should be OK */
        write_nic_byte(dev, 0x210000, 0x00);    // clear enable system
-       readl((void *)(dev->base_addr));
+       readl(reg);
        write_nic_byte(dev, 0x210000, 0x80);    // set enable system
 
        /* check Symbol is enabled - upped this from 5 as it wasn't always