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/rtl8192e/rtl8192e/r8192E_phy.c:1072:36: error: comparison is always 
false due to limited range of data type [-Werror=type-limits]
staging/rtl8192e/rtl8192e/r8192E_phy.c:1104:36: error: comparison is always 
false due to limited range of data type [-Werror=type-limits]
staging/rtl8192e/rtl8192e/rtl_core.c:1987:16: error: comparison is always false 
due to limited range of data type [-Werror=type-limits]
staging/rtl8192e/rtl8192e/rtl_dm.c:782:37: error: comparison is always false 
due to limited range of data type [-Werror=type-limits]
staging/rtl8192e/rtl819x_TSProc.c:326:14: error: comparison is always true due 
to limited range of data type [-Werror=type-limits]
staging/rtl8192e/rtllib_softmac_wx.c:465:16: error: comparison is always false 
due to limited range of data type [-Werror=type-limits]
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 these drivers that refer to
8-bit integers to use 's8' instead, which is signed on all architectures.

Signed-off-by: Arnd Bergmann <a...@arndb.de>
---
 drivers/staging/rtl8188eu/core/rtw_ap.c        |  2 +-
 drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c |  8 ++++----
 drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c |  2 +-
 drivers/staging/rtl8192e/rtl8192e/rtl_core.c   |  6 +++---
 drivers/staging/rtl8192e/rtl8192e/rtl_core.h   |  8 ++++----
 drivers/staging/rtl8192e/rtl819x_TSProc.c      |  2 +-
 drivers/staging/rtl8192u/ieee80211/ieee80211.h |  4 ++--
 drivers/staging/rtl8192u/r8192U.h              |  4 ++--
 drivers/staging/rtl8192u/r8192U_core.c         | 14 +++++++-------
 9 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/drivers/staging/rtl8188eu/core/rtw_ap.c 
b/drivers/staging/rtl8188eu/core/rtw_ap.c
index a5755358cc5d..322a7def07d2 100644
--- a/drivers/staging/rtl8188eu/core/rtw_ap.c
+++ b/drivers/staging/rtl8188eu/core/rtw_ap.c
@@ -286,7 +286,7 @@ void        expire_timeout_chk(struct adapter *padapter)
        struct sta_info *psta = NULL;
        struct sta_priv *pstapriv = &padapter->stapriv;
        u8 chk_alive_num = 0;
-       char chk_alive_list[NUM_STA];
+       s8 chk_alive_list[NUM_STA];
        int i;
 
        spin_lock_bh(&pstapriv->auth_list_lock);
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c 
b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c
index ba64a4f1b3a8..8d6bca61e7aa 100644
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c
@@ -1487,8 +1487,8 @@ static void _rtl92e_query_rxphystatus(
        struct phy_ofdm_rx_status_rxsc_sgien_exintfflag *prxsc;
        u8 *prxpkt;
        u8 i, max_spatial_stream, tmp_rxsnr, tmp_rxevm, rxsc_sgien_exflg;
-       char rx_pwr[4], rx_pwr_all = 0;
-       char rx_snrX, rx_evmX;
+       s8 rx_pwr[4], rx_pwr_all = 0;
+       s8 rx_snrX, rx_evmX;
        u8 evm, pwdb_all;
        u32 RSSI, total_rssi = 0;
        u8 is_cck_rate = 0;
@@ -1613,7 +1613,7 @@ static void _rtl92e_query_rxphystatus(
                                     2) - 110;
 
                        tmp_rxsnr = pofdm_buf->rxsnr_X[i];
-                       rx_snrX = (char)(tmp_rxsnr);
+                       rx_snrX = (s8)(tmp_rxsnr);
                        rx_snrX /= 2;
                        priv->stats.rxSNRdB[i] = (long)rx_snrX;
 
@@ -1643,7 +1643,7 @@ static void _rtl92e_query_rxphystatus(
 
                for (i = 0; i < max_spatial_stream; i++) {
                        tmp_rxevm = pofdm_buf->rxevm_X[i];
-                       rx_evmX = (char)(tmp_rxevm);
+                       rx_evmX = (s8)(tmp_rxevm);
 
                        rx_evmX /= 2;
 
diff --git a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c 
b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c
index 5e3bbe5c3ca4..0698131e4300 100644
--- a/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c
+++ b/drivers/staging/rtl8192e/rtl8192e/r8192E_phy.c
@@ -630,7 +630,7 @@ void rtl92e_set_tx_power(struct net_device *dev, u8 channel)
 {
        struct r8192_priv *priv = rtllib_priv(dev);
        u8      powerlevel = 0, powerlevelOFDM24G = 0;
-       char ant_pwr_diff;
+       s8      ant_pwr_diff;
        u32     u4RegValue;
 
        if (priv->epromtype == EEPROM_93C46) {
diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c 
b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
index 13a5ddc2bea5..41e05f206300 100644
--- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
+++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.c
@@ -1982,7 +1982,7 @@ void rtl92e_update_rx_statistics(struct r8192_priv *priv,
                                        weighting) / 6;
 }
 
-u8 rtl92e_rx_db_to_percent(char antpower)
+u8 rtl92e_rx_db_to_percent(s8 antpower)
 {
        if ((antpower <= -100) || (antpower >= 20))
                return  0;
@@ -1993,9 +1993,9 @@ u8 rtl92e_rx_db_to_percent(char antpower)
 
 }      /* QueryRxPwrPercentage */
 
-u8 rtl92e_evm_db_to_percent(char value)
+u8 rtl92e_evm_db_to_percent(s8 value)
 {
-       char ret_val;
+       s8 ret_val;
 
        ret_val = value;
 
diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h 
b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h
index f627fdc15a58..6921125c9d35 100644
--- a/drivers/staging/rtl8192e/rtl8192e/rtl_core.h
+++ b/drivers/staging/rtl8192e/rtl8192e/rtl_core.h
@@ -503,8 +503,8 @@ struct r8192_priv {
        u32 Pwr_Track;
        u8 CCKPresentAttentuation_20Mdefault;
        u8 CCKPresentAttentuation_40Mdefault;
-       char CCKPresentAttentuation_difference;
-       char CCKPresentAttentuation;
+       s8 CCKPresentAttentuation_difference;
+       s8 CCKPresentAttentuation;
        long undecorated_smoothed_pwdb;
 
        u32 MCSTxPowerLevelOriginalOffset[6];
@@ -604,8 +604,8 @@ void rtl92e_update_rx_pkt_timestamp(struct net_device *dev,
 long rtl92e_translate_to_dbm(struct r8192_priv *priv, u8 
signal_strength_index);
 void rtl92e_update_rx_statistics(struct r8192_priv *priv,
                                 struct rtllib_rx_stats *pprevious_stats);
-u8 rtl92e_evm_db_to_percent(char value);
-u8 rtl92e_rx_db_to_percent(char antpower);
+u8 rtl92e_evm_db_to_percent(s8 value);
+u8 rtl92e_rx_db_to_percent(s8 antpower);
 void rtl92e_copy_mpdu_stats(struct rtllib_rx_stats *psrc_stats,
                            struct rtllib_rx_stats *ptarget_stats);
 bool rtl92e_enable_nic(struct net_device *dev);
diff --git a/drivers/staging/rtl8192e/rtl819x_TSProc.c 
b/drivers/staging/rtl8192e/rtl819x_TSProc.c
index 2c8a526773ed..e0a2fe5e6148 100644
--- a/drivers/staging/rtl8192e/rtl819x_TSProc.c
+++ b/drivers/staging/rtl8192e/rtl819x_TSProc.c
@@ -323,7 +323,7 @@ bool GetTs(struct rtllib_device *ieee, struct 
ts_common_info **ppTS,
        if (ieee->current_network.qos_data.supported == 0) {
                UP = 0;
        } else {
-               if (!IsACValid(TID)) {
+               if (!IsACValid((s8)TID)) {
                        netdev_warn(ieee->dev, "%s(): TID(%d) is not valid\n",
                                    __func__, TID);
                        return false;
diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211.h 
b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
index 68931e5ecd8f..7f1e9cecb73d 100644
--- a/drivers/staging/rtl8192u/ieee80211/ieee80211.h
+++ b/drivers/staging/rtl8192u/ieee80211/ieee80211.h
@@ -746,7 +746,7 @@ struct ieee80211_rx_stats {
        bool              bisrxaggrsubframe;
        bool              bPacketBeacon;        //cosa add for rssi
        bool              bToSelfBA;            //cosa add for rssi
-       char      cck_adc_pwdb[4];      //cosa add for rx path selection
+       s8                cck_adc_pwdb[4];      //cosa add for rx path selection
        u16               Seq_Num;
 
 };
@@ -1814,7 +1814,7 @@ struct ieee80211_device {
        u32 wpax_type_notify; //{added by David, 2006.9.26}
 
        /* QoS related flag */
-       char init_wmmparam_flag;
+       s8  init_wmmparam_flag;
        /* set on initialization */
        u8  qos_support;
 
diff --git a/drivers/staging/rtl8192u/r8192U.h 
b/drivers/staging/rtl8192u/r8192U.h
index 7b198be34c54..efaef281d3ff 100644
--- a/drivers/staging/rtl8192u/r8192U.h
+++ b/drivers/staging/rtl8192u/r8192U.h
@@ -533,7 +533,7 @@ typedef struct _rt_9x_tx_rate_history {
        u32             ht_mcs[4][16];
 } rt_tx_rahis_t, *prt_tx_rahis_t;
 typedef struct _RT_SMOOTH_DATA_4RF {
-       char    elements[4][100]; /* array to store values */
+       s8    elements[4][100]; /* array to store values */
        u32     index;            /* index to current array to store */
        u32     TotalNum;         /* num of valid elements */
        u32     TotalVal[4];      /* sum of valid elements */
@@ -1032,7 +1032,7 @@ typedef struct r8192_priv {
        s8 cck_present_attentuation;
        u8 cck_present_attentuation_20Mdefault;
        u8 cck_present_attentuation_40Mdefault;
-       char cck_present_attentuation_difference;
+       s8 cck_present_attentuation_difference;
        bool btxpower_tracking;
        bool bcck_in_ch14;
        bool btxpowerdata_readfromEEPORM;
diff --git a/drivers/staging/rtl8192u/r8192U_core.c 
b/drivers/staging/rtl8192u/r8192U_core.c
index 8c1d73719147..7479148b046b 100644
--- a/drivers/staging/rtl8192u/r8192U_core.c
+++ b/drivers/staging/rtl8192u/r8192U_core.c
@@ -4145,7 +4145,7 @@ static void rtl8192_process_phyinfo(struct r8192_priv 
*priv, u8 *buffer,
  *
  * Return:             0-100 percentage
  *---------------------------------------------------------------------------*/
-static u8 rtl819x_query_rxpwrpercentage(char antpower)
+static u8 rtl819x_query_rxpwrpercentage(s8 antpower)
 {
        if ((antpower <= -100) || (antpower >= 20))
                return  0;
@@ -4156,9 +4156,9 @@ static u8 rtl819x_query_rxpwrpercentage(char antpower)
 
 }      /* QueryRxPwrPercentage */
 
-static u8 rtl819x_evm_dbtopercentage(char value)
+static u8 rtl819x_evm_dbtopercentage(s8 value)
 {
-       char ret_val;
+       s8 ret_val;
 
        ret_val = value;
 
@@ -4233,8 +4233,8 @@ static void rtl8192_query_rxphystatus(struct r8192_priv 
*priv,
        phy_ofdm_rx_status_rxsc_sgien_exintfflag *prxsc;
        u8      *prxpkt;
        u8      i, max_spatial_stream, tmp_rxsnr, tmp_rxevm, rxsc_sgien_exflg;
-       char    rx_pwr[4], rx_pwr_all = 0;
-       char    rx_snrX, rx_evmX;
+       s8      rx_pwr[4], rx_pwr_all = 0;
+       s8      rx_snrX, rx_evmX;
        u8      evm, pwdb_all;
        u32     RSSI, total_rssi = 0;
        u8      is_cck_rate = 0;
@@ -4359,7 +4359,7 @@ static void rtl8192_query_rxphystatus(struct r8192_priv 
*priv,
 
                        /* Get Rx snr value in DB */
                        tmp_rxsnr =     pofdm_buf->rxsnr_X[i];
-                       rx_snrX = (char)(tmp_rxsnr);
+                       rx_snrX = (s8)(tmp_rxsnr);
                        rx_snrX /= 2;
                        priv->stats.rxSNRdB[i] = (long)rx_snrX;
 
@@ -4393,7 +4393,7 @@ static void rtl8192_query_rxphystatus(struct r8192_priv 
*priv,
 
                for (i = 0; i < max_spatial_stream; i++) {
                        tmp_rxevm =     pofdm_buf->rxevm_X[i];
-                       rx_evmX = (char)(tmp_rxevm);
+                       rx_evmX = (s8)(tmp_rxevm);
 
                        /* Do not use shift operation like "rx_evmX >>= 1"
                         * because the compiler of free build environment will
-- 
2.9.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to