From: Guenter Roeck Date: Thu, 8 Aug 2019 21:30:23 +0000 (-0700) Subject: hwmon: (lm75) Move updating the sample interval to its own function X-Git-Tag: v5.4-rc1~199^2~12 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=040b106ff8d6dcef5704f96ea84edfe28addb4a0;p=platform%2Fkernel%2Flinux-rpi.git hwmon: (lm75) Move updating the sample interval to its own function We'll need per-chip handling for updating the sample interval. To prepare for it, separate the code implementing it into its own function. Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index 6474b8f..644da26 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c @@ -388,27 +388,32 @@ static int lm75_write_temp(struct device *dev, u32 attr, long temp) return regmap_write(data->regmap, reg, (u16)temp); } -static int lm75_write_chip(struct device *dev, u32 attr, long val) +static int lm75_update_interval(struct device *dev, long val) { struct lm75_data *data = dev_get_drvdata(dev); u8 index; s32 err; - switch (attr) { - case hwmon_chip_update_interval: - index = find_closest(val, data->params->sample_times, - (int)data->params->num_sample_times); + index = find_closest(val, data->params->sample_times, + (int)data->params->num_sample_times); - err = lm75_write_config(data, - lm75_sample_set_masks[index], - LM75_SAMPLE_CLEAR_MASK); - if (err) - return err; - data->sample_time = data->params->sample_times[index]; + err = lm75_write_config(data, lm75_sample_set_masks[index], + LM75_SAMPLE_CLEAR_MASK); + if (err) + return err; - if (data->params->resolutions) - data->resolution = data->params->resolutions[index]; - break; + data->sample_time = data->params->sample_times[index]; + if (data->params->resolutions) + data->resolution = data->params->resolutions[index]; + + return 0; +} + +static int lm75_write_chip(struct device *dev, u32 attr, long val) +{ + switch (attr) { + case hwmon_chip_update_interval: + return lm75_update_interval(dev, val); default: return -EINVAL; }