Re: [PATCH 3/6] hwmon: jc42: use bitops' sign_extend16

From: Martin Kepplinger
Date: Tue Dec 16 2014 - 02:17:41 EST


Am 2014-12-15 um 22:29 schrieb Guenter Roeck:
> On Mon, Dec 15, 2014 at 05:18:34PM +0100, Martin Kepplinger wrote:
>> ---
>
> Some description would be nice. Also, please consider adding
> relevant subsystem mailing lists and maintainers to your patches.
>

I shouldn't have added the Signed-off-by line to some of them. Sorry.

The driver-patches are meant to be examples of what can be changed if
the sign_extend functions are added. I don't know if they are taken and
planned to post the driver patches (probably more) thereafter, and of
course to the relevant people.

>> drivers/hwmon/jc42.c | 5 ++---
>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/hwmon/jc42.c b/drivers/hwmon/jc42.c
>> index 388f8bc..335a2de 100644
>> --- a/drivers/hwmon/jc42.c
>> +++ b/drivers/hwmon/jc42.c
>> @@ -31,6 +31,7 @@
>> #include <linux/hwmon-sysfs.h>
>> #include <linux/err.h>
>> #include <linux/mutex.h>
>> +#include <linux/bitops.h>
>>
>> /* Addresses to scan */
>> static const unsigned short normal_i2c[] = {
>> @@ -215,9 +216,7 @@ static int jc42_temp_from_reg(s16 reg)
>> {
>> reg &= 0x1fff;
>>
> If I understand the code in sign_extend16 correctly, the above mask
> should no longer be necessary.

exactly. The mask would then be shifting. Thanks!

>
> Thanks,
> Guenter
>
>> - /* sign extend register */
>> - if (reg & 0x1000)
>> - reg |= 0xf000;
>> + reg = sign_extend16(reg, 12);
>>
>> /* convert from 0.0625 to 0.001 resolution */
>> return reg * 125 / 2;
>> --
>> 2.1.3
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
>>
>>

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