staging: ks7010: honor 'const' qualifier
PATCH 1/1 staging: ks7010: honor 'const' qualifier
The recently-added ks7010 driver produces an annoying build warning:
drivers/staging/ks7010/ks7010_config.c: In function 'ks_wlan_read_config_file':drivers/staging/ks7010/ks7010_config.c:263:8: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
The problem here is that it assigns the firmware data to a non-const variable, and then goes on to modify it, which is clearly not the intended use case.
The only modification is to set the last byte to '\0', and as far as I can tell, this modification is unnecessary, as the parser always compares against the end pointer, rather than relying on zero-termination.
This patch therefore removes the modification of the const data and marks all the pointers 'const to avoid the warning.
--- drivers/staging/ks7010/ks7010_config.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
drivers/staging/ks7010/ks7010_config.c +7 -7
@@ -16,7 +16,7 @@ static int wep_type;static void analyze_character_wep_key (struct ks_wlan_parameter *param, -int wep_key_index,char *value) +int wep_key_index,const char *value) {int i;unsigned char wep_key[26 ], key_length;
@@ -39,7 +39,7 @@ void analyze_character_wep_key(struct ks_wlan_parameter *param,static void analyze_hex_wep_key (struct ks_wlan_parameter *param,int wep_key_index, -char *value) +const char *value) {unsigned char wep_end[26 ], i, j, key_length;
@@ -93,7 +93,7 @@ void analyze_hex_wep_key(struct ks_wlan_parameter *param, int wep_key_index, }static -int rate_set_configuration (struct ks_wlan_private *priv,char *value) +int rate_set_configuration (struct ks_wlan_private *priv,const char *value) {int rc =0 ;
@@ -204,9 +204,10 @@ int ks_wlan_read_config_file(struct ks_wlan_private *priv)const struct firmware *fw_entry;struct device *dev =NULL ; -char cfg_file[] =CFG_FILE ; -char *cur_p, *end_p; -char wk_buff[256 ], *wk_p; +const char cfg_file[] =CFG_FILE ; +const char *cur_p, *end_p; +char wk_buff[256 ]; +const char *wk_p;/* Initialize Variable */ priv->reg.operation_mode =MODE_INFRASTRUCTURE ;/* Infrastructure */
@@ -262,7 +263,6 @@ int ks_wlan_read_config_file(struct ks_wlan_private *priv) fw_entry->size); cur_p = fw_entry->data; end_p = cur_p + fw_entry->size; - *end_p ='\0' ;while (cur_p < end_p) {int i, j, len;
Signature · 1 line
2.9.0
Quoted 9 lines · Arnd Bergmann
The recently-added ks7010 driver produces an annoying build warning:
drivers/staging/ks7010/ks7010_config.c: In function 'ks_wlan_read_config_file':drivers/staging/ks7010/ks7010_config.c:263:8: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]The problem here is that it assigns the firmware data to a non-const variable, and then goes on to modify it, which is clearly not the intended use case.
Quoted 8 lines
The only modification is to set the last byte to '\0', and as far as I can tell, this modification is unnecessary, as the parser always compares against the end pointer, rather than relying on zero-termination.
This patch therefore removes the modification of the const data and marks all the pointers 'const to avoid the warning.
Signed-off-by Arnd Bergmann <[email protected]>
Thanks! I'll send in a second a patch, though, which removes the config file handling completely.
Wolfram
Quoted 14 lines · CEST Wolfram Sang
Quoted 13 lines · Arnd Bergmann
The recently-added ks7010 driver produces an annoying build warning:
drivers/staging/ks7010/ks7010_config.c: In function 'ks_wlan_read_config_file':drivers/staging/ks7010/ks7010_config.c:263:8: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]The problem here is that it assigns the firmware data to a non-const variable, and then goes on to modify it, which is clearly not the intended use case.
The only modification is to set the last byte to '\0', and as far as I can tell, this modification is unnecessary, as the parser always compares against the end pointer, rather than relying on zero-termination.
Quoted 7 lines
Quoted 4 lines
This patch therefore removes the modification of the const data and marks all the pointers 'const to avoid the warning.
Signed-off-by Arnd Bergmann <[email protected]>Thanks! I'll send in a second a patch, though, which removes the config file handling completely.
Ok, perfect!
Arnd