Fix int to char conversion
PATCH 1/1 Fix int to char conversion
Compiling with clang yields the following warning:
sound/i2c/cs8427.c:140:31: warning: implicit conversion from 'int' to 'char' changes value from 160 to -96 [-Wconstant-conversion]
data[0] = CS8427_REG_AUTOINC | CS8427_REG_CORU_DATABUF;
~ ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~Because CS8427_REG_AUTOINC is defined as 128, it is too big for a char field.
So change data from char to unsigned char, that it can hold the value.
This patch does not change the generated code.
--- sound/i2c/cs8427.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
sound/i2c/cs8427.c +1 -1
@@ -118,7 +118,7 @@ static int snd_cs8427_send_corudata(struct snd_i2c_device *device,struct cs8427 *chip = device->private_data;char *hw_data = udata ? chip->playback.hw_udata : chip->playback.hw_status; -char data[32 ]; +unsigned char data[32 ];int err, idx;if (!memcmp (hw_data, ndata, count))
Signature · 1 line
2.19.1
Takashi Iwai
AppliedQuoted 8 lines · Philipp Klocke
Compiling with clang yields the following warning:
sound/i2c/cs8427.c:140:31: warning: implicit conversion from 'int' to 'char' changes value from 160 to -96 [-Wconstant-conversion]data[0] = CS8427_REG_AUTOINC | CS8427_REG_CORU_DATABUF; ~ ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
Quoted 7 lines
Because
CS8427_REG_AUTOINCis defined as 128, it is too big for a char field.
So change data from char to unsigned char, that it can hold the value.This patch does not change the generated code.
Signed-off-by Philipp Klocke <[email protected]>
Applied, thanks.
But at the next time, please put the relevant subsystem MLs to Cc, and use the proper subject prefix (depending on the subsystem).
Takashi
A message that is not in the archive (sent off-list or not yet received): CAGZ+4_KdtsmuvrtmSnt729xCs1W4s+O+7hXS-D7gVc5+4W+ThQ@mail.gmail.com
Quoted 25 lines · Philipp K
[1 <text/plain; UTF-8 (7bit)>]
On Thu, Oct 18, 2018, 15:46 Takashi Iwai <[email protected]> wrote:
On Thu, 18 Oct 2018 12:33:02 +0200,
Philipp Klocke wrote:
>
> Compiling with clang yields the following warning:
>
>sound/i2c/cs8427.c:140:31: warning: implicit conversion from 'int' > to 'char' changes value from 160 to -96 [-Wconstant-conversion] > data[0] =CS8427_REG_AUTOINC|CS8427_REG_CORU_DATABUF; > ~ ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ >
> BecauseCS8427_REG_AUTOINCis defined as 128, it is too big for a > char field.
> So change data from char to unsigned char, that it can hold the value. >
> This patch does not change the generated code.
>
> Signed-off-by: Philipp Klocke <[email protected]>Applied, thanks.
Quoted 7 lines
But at the next time, please put the relevant subsystem MLs to Cc,
Oh sorry I forgot that. Just used the get maintainer script.
and use the proper subject prefix (depending on the subsystem).
What would have been the correct prefix in this case?
In this particular case, I modified the subject to
ALSA: i2c/cs8427: Fix int to char conversion
The subject prefix usage is case-by-case. Better to look at the commits of the relevant file and just follow the convention in general.
thanks,
Takashi