Em Tue, 27 Mar 2018 14:02:55 +0300 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> escreveu: > On Mon, 2018-03-26 at 17:10 -0400, Mauro Carvalho Chehab wrote: > > There are lots of be-related warnings there, as it doesn't properly > > mark what data uses bigendian. > > > @@ -107,7 +107,7 @@ mt9m114_write_reg(struct i2c_client *client, u16 > > data_length, u16 reg, u32 val) > > int num_msg; > > struct i2c_msg msg; > > unsigned char data[6] = {0}; > > - u16 *wreg; > > + __be16 *wreg; > > > > > + u16 *wdata = (void *)&data[2]; > > + > > + *wdata = be16_to_cpu(*(__be16 *)&data[2]); > > > + u32 *wdata = (void *)&data[2]; > > + > > + *wdata = be32_to_cpu(*(__be32 *)&data[2]); > > For x86 it is okay, though in general it should use get_unaligned(). > Yeah, it makes sense to change those to use get_unaligned_be16()/get_unaligned_be32(), but still the endianness issue remains, as it will still require the usage of __be casts. The main goal here in this patch series is to get rid of hundreds of smatch/sparce warnings, as it makes very hard to identify new warnings, due to all polution inside atomisp. A change to get_unaligned_foo() is meant to do a different thing: to make those i2c drivers more arch-independent. So, feel free to submit a separate patch doing that, on the top of it. Thanks, Mauro _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel