]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/zd1211rw/zd_rf_al2230.c
Merge branches 'omap1-upstream' and 'omap2-upstream' into devel
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / zd1211rw / zd_rf_al2230.c
index 511392acfedf3f179359c840fb01b87e114f3124..006774de3202a4185edeb7bcb2b45af2afb30bcc 100644 (file)
@@ -21,6 +21,8 @@
 #include "zd_usb.h"
 #include "zd_chip.h"
 
+#define IS_AL2230S(chip) ((chip)->al2230s_bit || (chip)->rf.type == AL2230S_RF)
+
 static const u32 zd1211_al2230_table[][3] = {
        RF_CHANNEL( 1) = { 0x03f790, 0x033331, 0x00000d, },
        RF_CHANNEL( 2) = { 0x03f790, 0x0b3331, 0x00000d, },
@@ -176,7 +178,7 @@ static int zd1211_al2230_init_hw(struct zd_rf *rf)
        if (r)
                return r;
 
-       if (chip->al2230s_bit) {
+       if (IS_AL2230S(chip)) {
                r = zd_iowrite16a_locked(chip, ioreqs_init_al2230s,
                        ARRAY_SIZE(ioreqs_init_al2230s));
                if (r)
@@ -188,7 +190,7 @@ static int zd1211_al2230_init_hw(struct zd_rf *rf)
                return r;
 
        /* improve band edge for AL2230S */
-       if (chip->al2230s_bit)
+       if (IS_AL2230S(chip))
                r = zd_rfwrite_locked(chip, 0x000824, RF_RV_BITS);
        else
                r = zd_rfwrite_locked(chip, 0x0005a4, RF_RV_BITS);
@@ -314,7 +316,7 @@ static int zd1211b_al2230_init_hw(struct zd_rf *rf)
        if (r)
                return r;
 
-       if (chip->al2230s_bit) {
+       if (IS_AL2230S(chip)) {
                r = zd_iowrite16a_locked(chip, ioreqs_init_al2230s,
                        ARRAY_SIZE(ioreqs_init_al2230s));
                if (r)
@@ -328,7 +330,7 @@ static int zd1211b_al2230_init_hw(struct zd_rf *rf)
        if (r)
                return r;
 
-       if (chip->al2230s_bit)
+       if (IS_AL2230S(chip))
                r = zd_rfwrite_locked(chip, 0x241000, RF_RV_BITS);
        else
                r = zd_rfwrite_locked(chip, 0x25a000, RF_RV_BITS);
@@ -422,7 +424,7 @@ int zd_rf_init_al2230(struct zd_rf *rf)
        struct zd_chip *chip = zd_rf_to_chip(rf);
 
        rf->switch_radio_off = al2230_switch_radio_off;
-       if (chip->is_zd1211b) {
+       if (zd_chip_is_zd1211b(chip)) {
                rf->init_hw = zd1211b_al2230_init_hw;
                rf->set_channel = zd1211b_al2230_set_channel;
                rf->switch_radio_on = zd1211b_al2230_switch_radio_on;
@@ -432,5 +434,6 @@ int zd_rf_init_al2230(struct zd_rf *rf)
                rf->switch_radio_on = zd1211_al2230_switch_radio_on;
        }
        rf->patch_6m_band_edge = zd_rf_generic_patch_6m;
+       rf->patch_cck_gain = 1;
        return 0;
 }