Re: [kbuild-all] [linuxtv-media:master 499/499] drivers/media/i2c/s5k5baf.c:362:3: warning: format '%d' expects argument of type 'int', but argument 3 has type 'size_t'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/08/2014 01:21 PM, Mauro Carvalho Chehab wrote:
> Em Wed, 8 Jan 2014 11:37:37 +0300
> Dan Carpenter <dan.carpenter@xxxxxxxxxx> escreveu:
>
>> The other thing that concerned me with this was the sparse warning:
>>
>> drivers/media/i2c/s5k5baf.c:481:26: error: bad constant expression
> Hmm...
> 	static void s5k5baf_write_arr_seq(struct s5k5baf *state, u16 addr,
> 	                                  u16 count, const u16 *seq)
> 	{
> 	        struct i2c_client *c = v4l2_get_subdevdata(&state->sd);
> 	        __be16 buf[count + 1];
> 	        int ret, n;
>
> Yeah, allocating data like that at stack is not nice.
>
> I would simply replace the static allocation here by a dynamic one.
Sequences are very short (usually few words) and their length is known
in compile time.
The only exception are sequences provided by firmware file and for them
I can add check in s5k5baf_write_nseq to make it safe.

Replacing it with dynamic allocation seems to me unnecessary in this
particular case, it would result in memory allocation/free for every
single access to
the device. What do you think?

Regards
Andrzej

>  
>> It was hard to verify that this couldn't go over 512.  I guess 512 is
>> what we would consider an error in this context.  This seems like it
>> could be determined by the firmware?
>>
>> regards,
>> dan carpenter
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-media" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux