Re: [PATCH 28/31] iio: gyro: use parity32 in adxrs450.c
From: Lars-Peter Clausen
Date: Mon Mar 28 2016 - 05:22:36 EST
On 03/28/2016 10:35 AM, Jonathan Cameron wrote:
> On 27/03/16 08:42, zhaoxiu.zeng wrote:
>> From: Zeng Zhaoxiu <zhaoxiu.zeng@xxxxxxxxx>
>>
>> Signed-off-by: Zeng Zhaoxiu <zhaoxiu.zeng@xxxxxxxxx>
> Interesting. Whilst obviously correct I wonder if this obscures the
> intent of the code a little. Lars, what do you think?
The parity function is newly introduced in this series and can be more
efficient that just hw_weight() & 1 on certain architectures. Since the
result is the same using it is certainly an improvement. But ...
[...]
>> - if (!(hweight32(tx) & 1))
>> - tx |= ADXRS450_P;
>> + tx |= !parity32(tx) * ADXRS450_P;
... this should still be
if (!parity32(tx))
tx |= ADXRS450_P;
Otherwise it's a bit too much obfuscated for my taste. Just leave it to the
compiler to optimize it as it sees it fit.