... > > Hi everyone! > > So if you check also the conversations that we had here [1] and in the > previous versions, indeed the idea behind the offset is to use it as an > self-explanatory index to a char buffer that holds in fact s32 variables. > > The data->buf here holds the values that have just been read from the > sensor. If you check on the channel specification of this sensor, > you will see ".realbits = 24" in both values that the sensor returns so > hence the value 3. > So you are using 3 = 24 bits, but s32 not as 4 bytes? the whole thing would have turned into sensor_data[0], sensor_data[4], and no variables implied, correct? But I am discussing too much for something that in the end is more or less the same, I am fine with this proposal. > I am not sure if it makes sense to use a macro here for each one of the > 3's that are going to be used only one time each and in order to be more > "consistent". But I might have a wrong view on this one so feel free to > correct me! > > For the initialization of the offset indeed, it was already mentioned > here [2] this morning, but on a different patch!!! I couldn't get this > error though with gcc... > > Cheers, > Vasilis > At least for the things I do in the kernel, clang catches more issues than gcc. Sometimes even gcc will not complain, and clang will fail to compile (e.g. a goto before a cleanup attribute). And if you run smatch before sending the series, you might discover a couple of extra "surprises". Best regards, Javier Carrasco