diff options
Diffstat (limited to 'drivers/net/wireless/zd1211rw/zd_rf.h')
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_rf.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/net/wireless/zd1211rw/zd_rf.h b/drivers/net/wireless/zd1211rw/zd_rf.h index aa9cc105ce60..c6dfd8227f6e 100644 --- a/drivers/net/wireless/zd1211rw/zd_rf.h +++ b/drivers/net/wireless/zd1211rw/zd_rf.h | |||
@@ -48,12 +48,26 @@ struct zd_rf { | |||
48 | 48 | ||
49 | u8 channel; | 49 | u8 channel; |
50 | 50 | ||
51 | /* whether channel integration and calibration should be updated | ||
52 | * defaults to 1 (yes) */ | ||
53 | u8 update_channel_int:1; | ||
54 | |||
55 | /* whether CR47 should be patched from the EEPROM, if the appropriate | ||
56 | * flag is set in the POD. The vendor driver suggests that this should | ||
57 | * be done for all RF's, but a bug in their code prevents but their | ||
58 | * HW_OverWritePhyRegFromE2P() routine from ever taking effect. */ | ||
59 | u8 patch_cck_gain:1; | ||
60 | |||
61 | /* private RF driver data */ | ||
62 | void *priv; | ||
63 | |||
51 | /* RF-specific functions */ | 64 | /* RF-specific functions */ |
52 | int (*init_hw)(struct zd_rf *rf); | 65 | int (*init_hw)(struct zd_rf *rf); |
53 | int (*set_channel)(struct zd_rf *rf, u8 channel); | 66 | int (*set_channel)(struct zd_rf *rf, u8 channel); |
54 | int (*switch_radio_on)(struct zd_rf *rf); | 67 | int (*switch_radio_on)(struct zd_rf *rf); |
55 | int (*switch_radio_off)(struct zd_rf *rf); | 68 | int (*switch_radio_off)(struct zd_rf *rf); |
56 | int (*patch_6m_band_edge)(struct zd_rf *rf, u8 channel); | 69 | int (*patch_6m_band_edge)(struct zd_rf *rf, u8 channel); |
70 | void (*clear)(struct zd_rf *rf); | ||
57 | }; | 71 | }; |
58 | 72 | ||
59 | const char *zd_rf_name(u8 type); | 73 | const char *zd_rf_name(u8 type); |
@@ -71,10 +85,24 @@ int zd_switch_radio_off(struct zd_rf *rf); | |||
71 | int zd_rf_patch_6m_band_edge(struct zd_rf *rf, u8 channel); | 85 | int zd_rf_patch_6m_band_edge(struct zd_rf *rf, u8 channel); |
72 | int zd_rf_generic_patch_6m(struct zd_rf *rf, u8 channel); | 86 | int zd_rf_generic_patch_6m(struct zd_rf *rf, u8 channel); |
73 | 87 | ||
88 | static inline int zd_rf_should_update_pwr_int(struct zd_rf *rf) | ||
89 | { | ||
90 | return rf->update_channel_int; | ||
91 | } | ||
92 | |||
93 | static inline int zd_rf_should_patch_cck_gain(struct zd_rf *rf) | ||
94 | { | ||
95 | return rf->patch_cck_gain; | ||
96 | } | ||
97 | |||
98 | int zd_rf_patch_6m_band_edge(struct zd_rf *rf, u8 channel); | ||
99 | int zd_rf_generic_patch_6m(struct zd_rf *rf, u8 channel); | ||
100 | |||
74 | /* Functions for individual RF chips */ | 101 | /* Functions for individual RF chips */ |
75 | 102 | ||
76 | int zd_rf_init_rf2959(struct zd_rf *rf); | 103 | int zd_rf_init_rf2959(struct zd_rf *rf); |
77 | int zd_rf_init_al2230(struct zd_rf *rf); | 104 | int zd_rf_init_al2230(struct zd_rf *rf); |
78 | int zd_rf_init_al7230b(struct zd_rf *rf); | 105 | int zd_rf_init_al7230b(struct zd_rf *rf); |
106 | int zd_rf_init_uw2453(struct zd_rf *rf); | ||
79 | 107 | ||
80 | #endif /* _ZD_RF_H */ | 108 | #endif /* _ZD_RF_H */ |