[prev in list] [next in list] [prev in thread] [next in thread]
List: lm-sensors
Subject: Re: [lm-sensors] [PATCH v2 3/4] hwmon: (lm92) Drop function macros
From: Guenter Roeck <linux () roeck-us ! net>
Date: 2014-04-23 23:43:04
Message-ID: 53585008.5030502 () roeck-us ! net
[Download RAW message or body]
On 04/23/2014 09:30 AM, Jean Delvare wrote:
> Hi Guenter,
>
> On Sun, 20 Apr 2014 20:43:51 -0700, Guenter Roeck wrote:
>> Function macros obfuscate code and increase code size, so drop them.
>>
>> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
>> ---
>> v2: Drop comma after t_num_regs
>> Declare register array as const and with explicit size
>>
>> drivers/hwmon/lm92.c | 165 +++++++++++++++++++++++++-------------------------
>> 1 file changed, 82 insertions(+), 83 deletions(-)
>> (...)
>> +static ssize_t set_temp(struct device *dev, struct device_attribute *devattr,
>> + const char *buf, size_t count)
>> {
>> - struct lm92_data *data = lm92_update_device(dev);
>> - return sprintf(buf, "%d\n", TEMP_FROM_REG(data->temp1_crit)
>> - - TEMP_FROM_REG(data->temp1_hyst));
>> + struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
>> + struct i2c_client *client = to_i2c_client(dev);
>> + struct lm92_data *data = i2c_get_clientdata(client);
>> + int nr = attr->index;
>> + long val;
>> + int err = kstrtol(buf, 10, &val);
>
> I would separate variable declaration from actual code here, that would
> be easier to read and would be consistent with the code in
> set_temp_hyst().
>
>> + if (err)
>> + return err;
>> +
>> + mutex_lock(&data->update_lock);
>> + data->temp[nr] = TEMP_TO_REG(val);
>> + i2c_smbus_write_word_swapped(client, regs[nr], data->temp[nr]);
>> + mutex_unlock(&data->update_lock);
>> + return count;
>> }
>
> Other than this it looks good to me, although I can't test. Do you
> happen to have a register dump from an LM92, MAX6635 or any compatible
> chip?
>
Here you are, for LM92:
0,8 1,9 2,a 3,b 4,c 5,d 6,e 7,f
00: 380c b800 0001 0028 0005 0020 0020 0180
08: 380c b800 0001 0028 0005 0020 0020 0180
10: 380c b800 0001 0028 0005 0020 0020 0180
18: 380c b800 0001 0028 0005 0020 0020 0180
20: 380c b800 0001 0028 0005 0020 0020 0180
28: 380c b800 0001 0028 0005 0020 0020 0180
30: 380c b800 0001 0028 0005 0020 0020 0180
38: 380c b800 0001 0028 0005 0020 0020 0180
40: 380c b800 0001 0028 0005 0020 0020 0180
48: 380c b800 0001 0028 0005 0020 0020 0180
50: 380c b800 0001 0028 0005 0020 0020 0180
58: 380c b800 0001 0028 0005 0020 0020 0180
60: 380c b800 0001 0028 0005 0020 0020 0180
68: 380c b800 0001 0028 0005 0020 0020 0180
70: 380c b800 0001 0028 0005 0020 0020 0180
78: 380c b800 0001 0028 0005 0020 0020 0180
80: 380c b800 0001 0028 0005 0020 0020 0180
88: 380c b800 0001 0028 0005 0020 0020 0180
90: 380c b800 0001 0028 0005 0020 0020 0180
98: 380c b800 0001 0028 0005 0020 0020 0180
a0: 380c b800 0001 0028 0005 0020 0020 0180
a8: 380c b800 0001 0028 0005 0020 0020 0180
b0: 380c b800 0001 0028 0005 0020 0020 0180
b8: 380c b800 0001 0028 0005 0020 0020 0180
c0: 380c b800 0001 0028 0005 0020 0020 0180
c8: 380c b800 0001 0028 0005 0020 0020 0180
d0: 380c b800 0001 0028 0005 0020 0020 0180
d8: 380c b800 0001 0028 0005 0020 0020 0180
e0: 380c b800 0001 0028 0005 0020 0020 0180
e8: 380c b800 0001 0028 0005 0020 0020 0180
f0: 380c b800 0001 0028 0005 0020 0020 0180
f8: 380c b800 0001 0028 0005 0020 0020 0180
Matching output from sensors command:
lm92-i2c-9-48
Adapter: i2c-diolan-u2c at bus 003 device 013
temp1: +24.1°C (low = +10.0°C)
(high = +64.0°C, hyst = +62.0°C)
(crit = +80.0°C, hyst = +78.0°C)
Guenter
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic