b43: Convert usage of b43_radio_maskset()
authorMichael Buesch <mb@bu3sch.de>
Fri, 20 Feb 2009 18:31:21 +0000 (19:31 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 27 Feb 2009 19:52:53 +0000 (14:52 -0500)
This patch converts code to use the new b43_radio_maskset() API.

The semantic patch that makes this change is as follows:

// <smpl>
@@
expression dev, addr, mask, set;
@@

-b43_radio_write16(dev, addr, (b43_radio_read16(dev, addr) & mask) | set);
+b43_radio_maskset(dev, addr, mask, set);
// </smpl>

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/lo.c
drivers/net/wireless/b43/phy_a.c
drivers/net/wireless/b43/phy_g.c

index 70c39bb..2a4e2b0 100644 (file)
@@ -225,8 +225,7 @@ static void lo_measure_txctl_values(struct b43_wldev *dev)
                                radio_pctl_reg = tmp;
                }
        }
-       b43_radio_write16(dev, 0x43, (b43_radio_read16(dev, 0x43)
-                                     & 0xFFF0) | radio_pctl_reg);
+       b43_radio_maskset(dev, 0x43, 0xFFF0, radio_pctl_reg);
        b43_gphy_set_baseband_attenuation(dev, 2);
 
        reg = lo_txctl_register_table(dev, &mask, NULL);
@@ -241,14 +240,10 @@ static void lo_measure_txctl_values(struct b43_wldev *dev)
 
                for (i = 0; i < ARRAY_SIZE(tx_magn_values); i++) {
                        tx_magn = tx_magn_values[i];
-                       b43_radio_write16(dev, 0x52,
-                                         (b43_radio_read16(dev, 0x52)
-                                          & 0xFF0F) | tx_magn);
+                       b43_radio_maskset(dev, 0x52, 0xFF0F, tx_magn);
                        for (j = 0; j < ARRAY_SIZE(tx_bias_values); j++) {
                                tx_bias = tx_bias_values[j];
-                               b43_radio_write16(dev, 0x52,
-                                                 (b43_radio_read16(dev, 0x52)
-                                                  & 0xFFF0) | tx_bias);
+                               b43_radio_maskset(dev, 0x52, 0xFFF0, tx_bias);
                                feedthrough =
                                    lo_measure_feedthrough(dev, 0, pga,
                                                           trsw_rx);
@@ -541,8 +536,7 @@ static void lo_measure_restore(struct b43_wldev *dev,
        b43_radio_write16(dev, 0x7A, sav->radio_7A);
        if (!has_tx_magnification(phy)) {
                tmp = sav->radio_52;
-               b43_radio_write16(dev, 0x52, (b43_radio_read16(dev, 0x52)
-                                             & 0xFF0F) | tmp);
+               b43_radio_maskset(dev, 0x52, 0xFF0F, tmp);
        }
        b43_write16(dev, 0x3E2, sav->reg_3E2);
        if (phy->type == B43_PHYTYPE_B &&
@@ -761,12 +755,8 @@ struct b43_lo_calib * b43_calibrate_lo_setting(struct b43_wldev *dev,
 
        txctl_reg = lo_txctl_register_table(dev, &txctl_value, &pad_mix_gain);
 
-       b43_radio_write16(dev, 0x43,
-                         (b43_radio_read16(dev, 0x43) & 0xFFF0)
-                         | rfatt->att);
-       b43_radio_write16(dev, txctl_reg,
-                         (b43_radio_read16(dev, txctl_reg) & ~txctl_value)
-                         | (rfatt->with_padmix ? txctl_value : 0));
+       b43_radio_maskset(dev, 0x43, 0xFFF0, rfatt->att);
+       b43_radio_maskset(dev, txctl_reg, ~txctl_value, (rfatt->with_padmix ? txctl_value :0));
 
        max_rx_gain = rfatt->att * 2;
        max_rx_gain += bbatt->att / 2;
index 4f052eb..c836c07 100644 (file)
@@ -121,25 +121,18 @@ static void aphy_channel_switch(struct b43_wldev *dev, unsigned int channel)
        b43_radio_write16(dev, 0x0007, (r8 << 4) | r8);
        b43_radio_write16(dev, 0x0020, (r8 << 4) | r8);
        b43_radio_write16(dev, 0x0021, (r8 << 4) | r8);
-       b43_radio_write16(dev, 0x0022, (b43_radio_read16(dev, 0x0022)
-                                       & 0x000F) | (r8 << 4));
+       b43_radio_maskset(dev, 0x0022, 0x000F, (r8 << 4));
        b43_radio_write16(dev, 0x002A, (r8 << 4));
        b43_radio_write16(dev, 0x002B, (r8 << 4));
-       b43_radio_write16(dev, 0x0008, (b43_radio_read16(dev, 0x0008)
-                                       & 0x00F0) | (r8 << 4));
-       b43_radio_write16(dev, 0x0029, (b43_radio_read16(dev, 0x0029)
-                                       & 0xFF0F) | 0x00B0);
+       b43_radio_maskset(dev, 0x0008, 0x00F0, (r8 << 4));
+       b43_radio_maskset(dev, 0x0029, 0xFF0F, 0x00B0);
        b43_radio_write16(dev, 0x0035, 0x00AA);
        b43_radio_write16(dev, 0x0036, 0x0085);
-       b43_radio_write16(dev, 0x003A, (b43_radio_read16(dev, 0x003A)
-                                       & 0xFF20) |
-                         freq_r3A_value(freq));
+       b43_radio_maskset(dev, 0x003A, 0xFF20, freq_r3A_value(freq));
        b43_radio_mask(dev, 0x003D, 0x00FF);
-       b43_radio_write16(dev, 0x0081, (b43_radio_read16(dev, 0x0081)
-                                       & 0xFF7F) | 0x0080);
+       b43_radio_maskset(dev, 0x0081, 0xFF7F, 0x0080);
        b43_radio_mask(dev, 0x0035, 0xFFEF);
-       b43_radio_write16(dev, 0x0035, (b43_radio_read16(dev, 0x0035)
-                                       & 0xFFEF) | 0x0010);
+       b43_radio_maskset(dev, 0x0035, 0xFFEF, 0x0010);
        b43_radio_set_tx_iq(dev);
        //TODO: TSSI2dbm workaround
 //FIXME        b43_phy_xmitpower(dev);
@@ -164,17 +157,14 @@ static void b43_radio_init2060(struct b43_wldev *dev)
        b43_radio_mask(dev, 0x0081, ~0x0020);
        msleep(1);              /* delay 400usec */
 
-       b43_radio_write16(dev, 0x0081,
-                         (b43_radio_read16(dev, 0x0081) & ~0x0020) | 0x0010);
+       b43_radio_maskset(dev, 0x0081, ~0x0020, 0x0010);
        msleep(1);              /* delay 400usec */
 
-       b43_radio_write16(dev, 0x0005,
-                         (b43_radio_read16(dev, 0x0005) & ~0x0008) | 0x0008);
+       b43_radio_maskset(dev, 0x0005, ~0x0008, 0x0008);
        b43_radio_mask(dev, 0x0085, ~0x0010);
        b43_radio_mask(dev, 0x0005, ~0x0008);
        b43_radio_mask(dev, 0x0081, ~0x0040);
-       b43_radio_write16(dev, 0x0081,
-                         (b43_radio_read16(dev, 0x0081) & ~0x0040) | 0x0040);
+       b43_radio_maskset(dev, 0x0081, ~0x0040, 0x0040);
        b43_radio_write16(dev, 0x0005,
                          (b43_radio_read16(dev, 0x0081) & ~0x0008) | 0x0008);
        b43_phy_write(dev, 0x0063, 0xDDC6);
@@ -226,8 +216,7 @@ static void b43_phy_ww(struct b43_wldev *dev)
        b43_phy_set(dev, B43_PHY_OFDM(0x1B), 0x1000);
        b43_phy_maskset(dev, B43_PHY_OFDM(0x82), 0xF0FF, 0x0300);
        b43_radio_set(dev, 0x0009, 0x0080);
-       b43_radio_write16(dev, 0x0012,
-               (b43_radio_read16(dev, 0x0012) & 0xFFFC) | 0x0002);
+       b43_radio_maskset(dev, 0x0012, 0xFFFC, 0x0002);
        b43_wa_initgains(dev);
        b43_phy_write(dev, B43_PHY_OFDM(0xBA), 0x3ED5);
        b = b43_phy_read(dev, B43_PHY_PWRDOWN);
index 8bad858..00bb001 100644 (file)
@@ -248,17 +248,13 @@ static void b43_set_txpower_g(struct b43_wldev *dev,
                b43_radio_write16(dev, 0x43,
                                  (rf & 0x000F) | (tx_control & 0x0070));
        } else {
-               b43_radio_write16(dev, 0x43, (b43_radio_read16(dev, 0x43)
-                                             & 0xFFF0) | (rf & 0x000F));
-               b43_radio_write16(dev, 0x52, (b43_radio_read16(dev, 0x52)
-                                             & ~0x0070) | (tx_control &
-                                                           0x0070));
+               b43_radio_maskset(dev, 0x43, 0xFFF0, (rf & 0x000F));
+               b43_radio_maskset(dev, 0x52, ~0x0070, (tx_control & 0x0070));
        }
        if (has_tx_magnification(phy)) {
                b43_radio_write16(dev, 0x52, tx_magn | tx_bias);
        } else {
-               b43_radio_write16(dev, 0x52, (b43_radio_read16(dev, 0x52)
-                                             & 0xFFF0) | (tx_bias & 0x000F));
+               b43_radio_maskset(dev, 0x52, 0xFFF0, (tx_bias & 0x000F));
        }
        b43_lo_g_adjust(dev);
 }
@@ -513,8 +509,7 @@ static void b43_calc_nrssi_offset(struct b43_wldev *dev)
                b43_phy_maskset(dev, 0x0003, 0xFF9F, 0x0040);
                b43_radio_set(dev, 0x007A, 0x000F);
                b43_set_all_gains(dev, 3, 0, 1);
-               b43_radio_write16(dev, 0x0043, (b43_radio_read16(dev, 0x0043)
-                                               & 0x00F0) | 0x000F);
+               b43_radio_maskset(dev, 0x0043, 0x00F0, 0x000F);
                udelay(30);
                v47F = (s16) ((b43_phy_read(dev, 0x047F) >> 8) & 0x003F);
                if (v47F >= 0x20)
@@ -1353,8 +1348,7 @@ static u16 b43_radio_init2050(struct b43_wldev *dev)
                b43_radio_write16(dev, 0x43, 0x1F);
        } else {
                b43_radio_write16(dev, 0x52, 0);
-               b43_radio_write16(dev, 0x43, (b43_radio_read16(dev, 0x43)
-                                             & 0xFFF0) | 0x0009);
+               b43_radio_maskset(dev, 0x43, 0xFFF0, 0x0009);
        }
        b43_phy_write(dev, B43_PHY_CCK(0x58), 0);
 
@@ -1681,8 +1675,7 @@ static void b43_phy_initb6(struct b43_wldev *dev)
                b43_radio_write16(dev, 0x5B, 0x7B);
                b43_radio_write16(dev, 0x5C, 0xB0);
        }
-       b43_radio_write16(dev, 0x007A,
-                         (b43_radio_read16(dev, 0x007A) & 0x00F8) | 0x0007);
+       b43_radio_maskset(dev, 0x007A, 0x00F8, 0x0007);
 
        b43_gphy_channel_switch(dev, old_channel, 0);
 
@@ -1777,8 +1770,7 @@ static void b43_calc_loopback_gain(struct b43_wldev *dev)
                b43_radio_write16(dev, 0x43, 0x000F);
        } else {
                b43_radio_write16(dev, 0x52, 0);
-               b43_radio_write16(dev, 0x43, (b43_radio_read16(dev, 0x43)
-                                             & 0xFFF0) | 0x9);
+               b43_radio_maskset(dev, 0x43, 0xFFF0, 0x9);
        }
        b43_gphy_set_baseband_attenuation(dev, 11);
 
@@ -1953,9 +1945,7 @@ static void b43_phy_init_pctl(struct b43_wldev *dev)
        b43_hardware_pctl_early_init(dev);
        if (gphy->cur_idle_tssi == 0) {
                if (phy->radio_ver == 0x2050 && phy->analog == 0) {
-                       b43_radio_write16(dev, 0x0076,
-                                         (b43_radio_read16(dev, 0x0076)
-                                          & 0x00F7) | 0x0084);
+                       b43_radio_maskset(dev, 0x0076, 0x00F7, 0x0084);
                } else {
                        struct b43_rfatt rfatt;
                        struct b43_bbatt bbatt;
@@ -2057,9 +2047,7 @@ static void b43_phy_initg(struct b43_wldev *dev)
                                  | gphy->lo_control->tx_bias | gphy->
                                  lo_control->tx_magn);
        } else {
-               b43_radio_write16(dev, 0x52,
-                                 (b43_radio_read16(dev, 0x52) & 0xFFF0)
-                                 | gphy->lo_control->tx_bias);
+               b43_radio_maskset(dev, 0x52, 0xFFF0, gphy->lo_control->tx_bias);
        }
        if (phy->rev >= 6) {
                b43_phy_maskset(dev, B43_PHY_CCK(0x36), 0x0FFF, (gphy->lo_control->tx_bias << 12));