Convert array size calculations to use ARRAY_SIZE().
Signed-off-by: Alejandro Martinez Ruiz <alex@flawedcode.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
        { "tx_dma_failed", E1000_STAT(tx_dma_failed) },
 };
 
-#define E1000_GLOBAL_STATS_LEN \
-       sizeof(e1000_gstrings_stats) / sizeof(struct e1000_stats)
+#define E1000_GLOBAL_STATS_LEN ARRAY_SIZE(e1000_gstrings_stats)
 #define E1000_STATS_LEN (E1000_GLOBAL_STATS_LEN)
 static const char e1000_gstrings_test[][ETH_GSTRING_LEN] = {
        "Register test  (offline)", "Eeprom test    (offline)",
 
          100, 105, 109, 113, 116, 119, 122, 124, 104, 109, 114, 118, 121,
          124};
 #define IGP02E1000_CABLE_LENGTH_TABLE_SIZE \
-               (sizeof(e1000_igp_2_cable_length_table) / \
-                sizeof(e1000_igp_2_cable_length_table[0]))
+               ARRAY_SIZE(e1000_igp_2_cable_length_table)
 
 /**
  *  e1000e_check_reset_block_generic - Check if PHY reset is blocked
 
                ((((struct ixgbe_adapter *)netdev->priv)->num_tx_queues + \
                 ((struct ixgbe_adapter *)netdev->priv)->num_rx_queues) * \
                 (sizeof(struct ixgbe_queue_stats) / sizeof(u64)))
-#define IXGBE_GLOBAL_STATS_LEN \
-       sizeof(ixgbe_gstrings_stats) / sizeof(struct ixgbe_stats)
+#define IXGBE_GLOBAL_STATS_LEN ARRAY_SIZE(ixgbe_gstrings_stats)
 #define IXGBE_STATS_LEN (IXGBE_GLOBAL_STATS_LEN + IXGBE_QUEUE_STATS_LEN)
 
 static int ixgbe_get_settings(struct net_device *netdev,
 
 static void __init bdx_firmware_endianess(void)
 {
        int i;
-       for (i = 0; i < sizeof(s_firmLoad) / sizeof(u32); i++)
+       for (i = 0; i < ARRAY_SIZE(s_firmLoad); i++)
                s_firmLoad[i] = CPU_CHIP_SWAP32(s_firmLoad[i]);
 }
 
 
 {
     int i, status = 0;
 
-    for (i=0; i<sizeof(enet_det)/ETH_ALEN; i++) {
+    for (i=0; i < ARRAY_SIZE(enet_det); i++) {
        if (!de4x5_strncmp((char *)&lp->srom, (char *)&enet_det[i], 3) &&
            !de4x5_strncmp((char *)&lp->srom+0x10, (char *)&enet_det[i], 3)) {
            if (i == 0) {
 
        2472, 2484
 };
 
-#define FREQ_COUNT (sizeof(ipw2100_frequencies) / \
-                    sizeof(ipw2100_frequencies[0]))
+#define FREQ_COUNT     ARRAY_SIZE(ipw2100_frequencies)
 
 static const long ipw2100_rates_11b[] = {
        1000000,
 
 static u8 wlan_region_2_code(u8 * region)
 {
        u8 i;
-       u8 size = sizeof(region_code_mapping)/
-                 sizeof(struct region_code_mapping);
 
        for (i = 0; region[i] && i < COUNTRY_CODE_LEN; i++)
                region[i] = toupper(region[i]);
 
-       for (i = 0; i < size; i++) {
+       for (i = 0; i < ARRAY_SIZE(region_code_mapping); i++) {
                if (!memcmp(region, region_code_mapping[i].region,
                            COUNTRY_CODE_LEN))
                        return (region_code_mapping[i].code);
 static u8 *wlan_code_2_region(u8 code)
 {
        u8 i;
-       u8 size = sizeof(region_code_mapping)
-                 / sizeof(struct region_code_mapping);
-       for (i = 0; i < size; i++) {
+
+       for (i = 0; i < ARRAY_SIZE(region_code_mapping); i++) {
                if (region_code_mapping[i].code == code)
                        return (region_code_mapping[i].region);
        }
        u8 cfp_no;
 
        cfp = channel_freq_power_UN_BG;
-       cfp_no = sizeof(channel_freq_power_UN_BG) /
-           sizeof(struct chan_freq_power);
+       cfp_no = ARRAY_SIZE(channel_freq_power_UN_BG);
 
        for (i = 0; i < cfp_no; i++) {
                if ((cfp + i)->channel == firstchan) {
 u32 libertas_chan_2_freq(u8 chan, u8 band)
 {
        struct chan_freq_power *cf;
-       u16 cnt;
        u16 i;
        u32 freq = 0;
 
        cf = channel_freq_power_UN_BG;
-       cnt =
-           sizeof(channel_freq_power_UN_BG) /
-           sizeof(struct chan_freq_power);
 
-       for (i = 0; i < cnt; i++) {
+       for (i = 0; i < ARRAY_SIZE(channel_freq_power_UN_BG); i++) {
                if (chan == cf[i].channel)
                        freq = cf[i].freq;
        }
        if (priv->adapter->enable11d) {
                /* update parsed_region_chan_11; dnld domaininf to FW */
 
-               for (j = 0; j < sizeof(adapter->region_channel) /
-                    sizeof(adapter->region_channel[0]); j++) {
+               for (j = 0; j < ARRAY_SIZE(adapter->region_channel); j++) {
                        region_chan = &adapter->region_channel[j];
 
                        lbs_deb_11d("%d region_chan->band %d\n", j,
                        break;
                }
 
-               if (j >= sizeof(adapter->region_channel) /
-                   sizeof(adapter->region_channel[0])) {
+               if (j >= ARRAY_SIZE(adapter->region_channel)) {
                        lbs_deb_11d("region_chan not found, band %d\n",
                               adapter->curbssparams.band);
                        ret = -1;
 
 {
        struct chan_freq_power *cfp = NULL;
        struct region_channel *rc;
-       int count = sizeof(adapter->region_channel) /
-           sizeof(adapter->region_channel[0]);
        int i, j;
 
-       for (j = 0; !cfp && (j < count); j++) {
+       for (j = 0; !cfp && (j < ARRAY_SIZE(adapter->region_channel)); j++) {
                rc = &adapter->region_channel[j];
 
                if (adapter->enable11d)
 {
        struct chan_freq_power *cfp = NULL;
        struct region_channel *rc;
-       int count = sizeof(adapter->region_channel) /
-           sizeof(adapter->region_channel[0]);
        int i, j;
 
-       for (j = 0; !cfp && (j < count); j++) {
+       for (j = 0; !cfp && (j < ARRAY_SIZE(adapter->region_channel)); j++) {
                rc = &adapter->region_channel[j];
 
                if (adapter->enable11d)
        }
        if (!flag) {
                for (j = 0; (range->num_frequency < IW_MAX_FREQUENCIES)
-                    && (j < sizeof(adapter->region_channel)
-                        / sizeof(adapter->region_channel[0])); j++) {
+                    && (j < ARRAY_SIZE(adapter->region_channel)); j++) {
                        cfp = adapter->region_channel[j].CFP;
                        for (i = 0; (range->num_frequency < IW_MAX_FREQUENCIES)
                             && adapter->region_channel[j].valid
 
         * non-NCR/AT&T/Lucent ISA card.  See wavelan.p.h for detail on
         * how to configure your card.
         */
-       for (i = 0; i < (sizeof(MAC_ADDRESSES) / sizeof(char) / 3); i++)
+       for (i = 0; i < ARRAY_SIZE(MAC_ADDRESSES); i++)
                if ((mac[0] == MAC_ADDRESSES[i][0]) &&
                    (mac[1] == MAC_ADDRESSES[i][1]) &&
                    (mac[2] == MAC_ADDRESSES[i][2]))
 
    * non-NCR/AT&T/Lucent PCMCIA cards, see wavelan_cs.h for detail on
    * how to configure your card...
    */
-  for(i = 0; i < (sizeof(MAC_ADDRESSES) / sizeof(char) / 3); i++)
+  for(i = 0; i < ARRAY_SIZE(MAC_ADDRESSES); i++)
     if((psa.psa_univ_mac_addr[0] == MAC_ADDRESSES[i][0]) &&
        (psa.psa_univ_mac_addr[1] == MAC_ADDRESSES[i][1]) &&
        (psa.psa_univ_mac_addr[2] == MAC_ADDRESSES[i][2]))
       break;
 
   /* If we have not found it... */
-  if(i == (sizeof(MAC_ADDRESSES) / sizeof(char) / 3))
+  if(i == ARRAY_SIZE(MAC_ADDRESSES))
     {
 #ifdef DEBUG_CONFIG_ERRORS
       printk(KERN_WARNING "%s: wv_mmc_init(): Invalid MAC address: %02X:%02X:%02X:...\n",