diff options
Diffstat (limited to 'drivers/staging/vt6655/rf.c')
-rw-r--r-- | drivers/staging/vt6655/rf.c | 54 |
1 files changed, 23 insertions, 31 deletions
diff --git a/drivers/staging/vt6655/rf.c b/drivers/staging/vt6655/rf.c index bc4abe77db7b..ba7056f5a5da 100644 --- a/drivers/staging/vt6655/rf.c +++ b/drivers/staging/vt6655/rf.c @@ -609,11 +609,11 @@ bool RFbInit(struct vnt_private *priv) switch (priv->byRFType) { case RF_AIROHA: case RF_AL2230S: - priv->byMaxPwrLevel = AL2230_PWR_IDX_LEN; + priv->max_pwr_level = AL2230_PWR_IDX_LEN; ret = RFbAL2230Init(priv); break; case RF_AIROHA7230: - priv->byMaxPwrLevel = AL7230_PWR_IDX_LEN; + priv->max_pwr_level = AL7230_PWR_IDX_LEN; ret = s_bAL7230Init(priv); break; case RF_NOTHING: @@ -669,20 +669,22 @@ bool RFbSelectChannel(struct vnt_private *priv, unsigned char byRFType, * * Parameters: * In: - * iobase - I/O base address - * channel - channel number - * bySleepCnt - SleepProgSyn count + * priv - Device Structure + * rf_type - RF type + * channel - Channel number * - * Return Value: None. + * Return Value: true if succeeded; false if failed. * */ -bool RFvWriteWakeProgSyn(struct vnt_private *priv, unsigned char rf_type, - u16 channel) +bool rf_write_wake_prog_syn(struct vnt_private *priv, unsigned char rf_type, + u16 channel) { void __iomem *iobase = priv->port_offset; int i; unsigned char init_count = 0; unsigned char sleep_count = 0; + unsigned short idx = MISCFIFO_SYNDATA_IDX; + const unsigned long *init_table; VNSvOutPortW(iobase + MAC_REG_MISCFFNDEX, 0); switch (rf_type) { @@ -695,15 +697,12 @@ bool RFvWriteWakeProgSyn(struct vnt_private *priv, unsigned char rf_type, /* Init Reg + Channel Reg (2) */ init_count = CB_AL2230_INIT_SEQ + 2; sleep_count = 0; - if (init_count > (MISCFIFO_SYNDATASIZE - sleep_count)) - return false; for (i = 0; i < CB_AL2230_INIT_SEQ; i++) - MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al2230_init_table[i]); + MACvSetMISCFifo(priv, idx++, al2230_init_table[i]); - MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al2230_channel_table0[channel - 1]); - i++; - MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al2230_channel_table1[channel - 1]); + MACvSetMISCFifo(priv, idx++, al2230_channel_table0[channel - 1]); + MACvSetMISCFifo(priv, idx++, al2230_channel_table1[channel - 1]); break; /* Need to check, PLLON need to be low for channel setting */ @@ -711,22 +710,15 @@ bool RFvWriteWakeProgSyn(struct vnt_private *priv, unsigned char rf_type, /* Init Reg + Channel Reg (3) */ init_count = CB_AL7230_INIT_SEQ + 3; sleep_count = 0; - if (init_count > (MISCFIFO_SYNDATASIZE - sleep_count)) - return false; - if (channel <= CB_MAX_CHANNEL_24G) { - for (i = 0; i < CB_AL7230_INIT_SEQ; i++) - MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_init_table[i]); - } else { - for (i = 0; i < CB_AL7230_INIT_SEQ; i++) - MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_init_table_a_mode[i]); - } + init_table = (channel <= CB_MAX_CHANNEL_24G) ? + al7230_init_table : al7230_init_table_a_mode; + for (i = 0; i < CB_AL7230_INIT_SEQ; i++) + MACvSetMISCFifo(priv, idx++, init_table[i]); - MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_channel_table0[channel - 1]); - i++; - MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_channel_table1[channel - 1]); - i++; - MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_channel_table2[channel - 1]); + MACvSetMISCFifo(priv, idx++, al7230_channel_table0[channel - 1]); + MACvSetMISCFifo(priv, idx++, al7230_channel_table1[channel - 1]); + MACvSetMISCFifo(priv, idx++, al7230_channel_table2[channel - 1]); break; case RF_NOTHING: @@ -786,8 +778,8 @@ bool RFbSetPower(struct vnt_private *priv, unsigned int rate, u16 uCH) else byDec = byPwr + 10; - if (byDec >= priv->byMaxPwrLevel) - byDec = priv->byMaxPwrLevel - 1; + if (byDec >= priv->max_pwr_level) + byDec = priv->max_pwr_level - 1; byPwr = byDec; break; @@ -829,7 +821,7 @@ bool RFbRawSetPower(struct vnt_private *priv, unsigned char byPwr, bool ret = true; unsigned long dwMax7230Pwr = 0; - if (byPwr >= priv->byMaxPwrLevel) + if (byPwr >= priv->max_pwr_level) return false; switch (priv->byRFType) { |