b43: N-PHY: prepare for rev3+ channel tables
authorRafał Miłecki <zajec5@gmail.com>
Mon, 11 Oct 2010 01:19:22 +0000 (03:19 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 11 Oct 2010 19:04:25 +0000 (15:04 -0400)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/phy_n.c
drivers/net/wireless/b43/tables_nphy.c
drivers/net/wireless/b43/tables_nphy.h

index 19582ba205982a96c8028d7d6389479fb37efcb1..e532901246b6a6b73baa7d477fbc6620d957dff7 100644 (file)
@@ -3399,7 +3399,8 @@ static int b43_nphy_set_channel(struct b43_wldev *dev,
        u8 tmp;
 
        if (dev->phy.rev >= 3) {
-               /* TODO */
+               tabent_r3 = b43_nphy_get_chantabent_rev3(dev,
+                                                       channel->center_freq);
                tabent_r3 = NULL;
                if (!tabent_r3)
                        return -ESRCH;
index d96e870ab8fe8cea97c821c27076b2b99a47dfc8..e74b8eb5795c59de0dc20c18836063fede48566d 100644 (file)
@@ -325,7 +325,7 @@ void b2055_upload_inittab(struct b43_wldev *dev,
        .phy_regs.phy_bw5       = r4,   \
        .phy_regs.phy_bw6       = r5
 
-static const struct b43_nphy_channeltab_entry_rev2 b43_nphy_channeltab[] = {
+static const struct b43_nphy_channeltab_entry_rev2 b43_nphy_channeltab_rev2[] = {
   {    .channel                = 184,
        .freq                   = 4920, /* MHz */
        .unk2                   = 3280,
@@ -1326,8 +1326,8 @@ b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel)
        const struct b43_nphy_channeltab_entry_rev2 *e;
        unsigned int i;
 
-       for (i = 0; i < ARRAY_SIZE(b43_nphy_channeltab); i++) {
-               e = &(b43_nphy_channeltab[i]);
+       for (i = 0; i < ARRAY_SIZE(b43_nphy_channeltab_rev2); i++) {
+               e = &(b43_nphy_channeltab_rev2[i]);
                if (e->channel == channel)
                        return e;
        }
@@ -1335,6 +1335,24 @@ b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel)
        return NULL;
 }
 
+static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev3[] = {
+};
+
+const struct b43_nphy_channeltab_entry_rev3 *
+b43_nphy_get_chantabent_rev3(struct b43_wldev *dev, u16 freq)
+{
+       const struct b43_nphy_channeltab_entry_rev3 *e;
+       unsigned int i;
+
+       for (i = 0; i < ARRAY_SIZE(b43_nphy_channeltab_rev3); i++) {
+               e = &(b43_nphy_channeltab_rev3[i]);
+               if (e->freq == freq)
+                       return e;
+       }
+
+       return NULL;
+}
+
 
 static const u8 b43_ntab_adjustpower0[] = {
        0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
index 8fc1da9f8fe57bce8bf0a531f4ef56b2d248dac9..3eedb869f492207201ce924b866872716ce9a73c 100644 (file)
@@ -90,10 +90,12 @@ void b2055_upload_inittab(struct b43_wldev *dev,
                          bool ghz5, bool ignore_uploadflag);
 
 
-/* Get the NPHY Channel Switch Table entry for a channel number.
+/* Get the NPHY Channel Switch Table entry for a channel.
  * Returns NULL on failure to find an entry. */
 const struct b43_nphy_channeltab_entry_rev2 *
 b43_nphy_get_chantabent_rev2(struct b43_wldev *dev, u8 channel);
+const struct b43_nphy_channeltab_entry_rev3 *
+b43_nphy_get_chantabent_rev3(struct b43_wldev *dev, u16 freq);
 
 
 /* The N-PHY tables. */