]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/zd1211rw/zd_rf.c
[PATCH] zd1211rw: Extend RF layer
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / zd1211rw / zd_rf.c
index f50cff3db9164e26658b34302295f9cecbf70abe..c4981ad2f9ea5caa9a00d464853d92cb97a7e3a7 100644 (file)
@@ -23,7 +23,7 @@
 #include "zd_ieee80211.h"
 #include "zd_chip.h"
 
-static const char *rfs[] = {
+static const char * const rfs[] = {
        [0]             = "unknown RF0",
        [1]             = "unknown RF1",
        [UW2451_RF]     = "UW2451_RF",
@@ -34,7 +34,7 @@ static const char *rfs[] = {
        [AL2210_RF]     = "AL2210_RF",
        [MAXIM_NEW_RF]  = "MAXIM_NEW_RF",
        [UW2453_RF]     = "UW2453_RF",
-       [AL2230S_RF]    = "AL2230S_RF",
+       [UNKNOWN_A_RF]  = "UNKNOWN_A_RF",
        [RALINK_RF]     = "RALINK_RF",
        [INTERSIL_RF]   = "INTERSIL_RF",
        [RF2959_RF]     = "RF2959_RF",
@@ -52,10 +52,16 @@ const char *zd_rf_name(u8 type)
 void zd_rf_init(struct zd_rf *rf)
 {
        memset(rf, 0, sizeof(*rf));
+
+       /* default to update channel integration, as almost all RF's do want
+        * this */
+       rf->update_channel_int = 1;
 }
 
 void zd_rf_clear(struct zd_rf *rf)
 {
+       if (rf->clear)
+               rf->clear(rf);
        ZD_MEMCLEAR(rf, sizeof(*rf));
 }
 
@@ -154,3 +160,17 @@ int zd_switch_radio_off(struct zd_rf *rf)
                r = t;
        return r;
 }
+
+int zd_rf_patch_6m_band_edge(struct zd_rf *rf, u8 channel)
+{
+       if (!rf->patch_6m_band_edge)
+               return 0;
+
+       return rf->patch_6m_band_edge(rf, channel);
+}
+
+int zd_rf_generic_patch_6m(struct zd_rf *rf, u8 channel)
+{
+       return zd_chip_generic_patch_6m_band(zd_rf_to_chip(rf), channel);
+}
+