Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging/rtl8192u: use s8 instead of char

Compiling the rtlwifi drivers for ARM with gcc -Wextra warns about lots of
incorrect code that results from 'char' being unsigned here, e.g.

staging/rtl8192u/r8192U_core.c:4150:16: error: comparison is always false due to limited range of data type [-Werror=type-limits]
staging/rtl8192u/r8192U_dm.c:646:50: error: comparison is always false due to limited range of data type [-Werror=type-limits]

This patch changes all uses of 'char' in this driver that refer to
8-bit integers to use 's8' instead, which is signed on all architectures.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Arnd Bergmann and committed by
Greg Kroah-Hartman
f352a9ee a0693e22

+11 -11
+2 -2
drivers/staging/rtl8192u/ieee80211/ieee80211.h
··· 746 746 bool bisrxaggrsubframe; 747 747 bool bPacketBeacon; //cosa add for rssi 748 748 bool bToSelfBA; //cosa add for rssi 749 - char cck_adc_pwdb[4]; //cosa add for rx path selection 749 + s8 cck_adc_pwdb[4]; //cosa add for rx path selection 750 750 u16 Seq_Num; 751 751 752 752 }; ··· 1814 1814 u32 wpax_type_notify; //{added by David, 2006.9.26} 1815 1815 1816 1816 /* QoS related flag */ 1817 - char init_wmmparam_flag; 1817 + s8 init_wmmparam_flag; 1818 1818 /* set on initialization */ 1819 1819 u8 qos_support; 1820 1820
+2 -2
drivers/staging/rtl8192u/r8192U.h
··· 533 533 u32 ht_mcs[4][16]; 534 534 } rt_tx_rahis_t, *prt_tx_rahis_t; 535 535 typedef struct _RT_SMOOTH_DATA_4RF { 536 - char elements[4][100]; /* array to store values */ 536 + s8 elements[4][100]; /* array to store values */ 537 537 u32 index; /* index to current array to store */ 538 538 u32 TotalNum; /* num of valid elements */ 539 539 u32 TotalVal[4]; /* sum of valid elements */ ··· 1031 1031 s8 cck_present_attentuation; 1032 1032 u8 cck_present_attentuation_20Mdefault; 1033 1033 u8 cck_present_attentuation_40Mdefault; 1034 - char cck_present_attentuation_difference; 1034 + s8 cck_present_attentuation_difference; 1035 1035 bool btxpower_tracking; 1036 1036 bool bcck_in_ch14; 1037 1037 bool btxpowerdata_readfromEEPORM;
+7 -7
drivers/staging/rtl8192u/r8192U_core.c
··· 4206 4206 * 4207 4207 * Return: 0-100 percentage 4208 4208 *---------------------------------------------------------------------------*/ 4209 - static u8 rtl819x_query_rxpwrpercentage(char antpower) 4209 + static u8 rtl819x_query_rxpwrpercentage(s8 antpower) 4210 4210 { 4211 4211 if ((antpower <= -100) || (antpower >= 20)) 4212 4212 return 0; ··· 4217 4217 4218 4218 } /* QueryRxPwrPercentage */ 4219 4219 4220 - static u8 rtl819x_evm_dbtopercentage(char value) 4220 + static u8 rtl819x_evm_dbtopercentage(s8 value) 4221 4221 { 4222 - char ret_val; 4222 + s8 ret_val; 4223 4223 4224 4224 ret_val = value; 4225 4225 ··· 4294 4294 phy_ofdm_rx_status_rxsc_sgien_exintfflag *prxsc; 4295 4295 u8 *prxpkt; 4296 4296 u8 i, max_spatial_stream, tmp_rxsnr, tmp_rxevm, rxsc_sgien_exflg; 4297 - char rx_pwr[4], rx_pwr_all = 0; 4298 - char rx_snrX, rx_evmX; 4297 + s8 rx_pwr[4], rx_pwr_all = 0; 4298 + s8 rx_snrX, rx_evmX; 4299 4299 u8 evm, pwdb_all; 4300 4300 u32 RSSI, total_rssi = 0; 4301 4301 u8 is_cck_rate = 0; ··· 4420 4420 4421 4421 /* Get Rx snr value in DB */ 4422 4422 tmp_rxsnr = pofdm_buf->rxsnr_X[i]; 4423 - rx_snrX = (char)(tmp_rxsnr); 4423 + rx_snrX = (s8)(tmp_rxsnr); 4424 4424 rx_snrX /= 2; 4425 4425 priv->stats.rxSNRdB[i] = (long)rx_snrX; 4426 4426 ··· 4454 4454 4455 4455 for (i = 0; i < max_spatial_stream; i++) { 4456 4456 tmp_rxevm = pofdm_buf->rxevm_X[i]; 4457 - rx_evmX = (char)(tmp_rxevm); 4457 + rx_evmX = (s8)(tmp_rxevm); 4458 4458 4459 4459 /* Do not use shift operation like "rx_evmX >>= 1" 4460 4460 * because the compiler of free build environment will