static ssize_t set_in_min(struct device *dev, struct device_attribute *devattr, const char *buf, size_t count) { struct f71805f_data *data = dev_get_drvdata(dev); struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); int nr = attr->index; long val = simple_strtol(buf, NULL, 10); down(&data->update_lock); data->in_low[nr] = in_to_reg(val); f71805f_write8(data, F71805F_REG_IN_LOW(nr), data->in_low[nr]); up(&data->update_lock); return count; }
static ssize_t set_in_min(struct device *dev, struct device_attribute *devattr, const char *buf, size_t count) { struct f71805f_data *data = dev_get_drvdata(dev); struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); int nr = attr->index; long val; int err; err = kstrtol(buf, 10, &val); if (err) return err; mutex_lock(&data->update_lock); data->in_low[nr] = in_to_reg(val); f71805f_write8(data, F71805F_REG_IN_LOW(nr), data->in_low[nr]); mutex_unlock(&data->update_lock); return count; }
static ssize_t store_in_max(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { struct imanager_hwmon_data *data = imanager_hwmon_update_device(dev); int index = to_sensor_dev_attr(attr)->index; struct hwm_voltage *adc = &data->hwm.volt[index]; unsigned long val; int err; err = kstrtoul(buf, 10, &val); if (err < 0) return err; mutex_lock(&data->ec->lock); adc->max = in_to_reg(val); mutex_unlock(&data->ec->lock); return count; }