Beispiel #1
0
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;
}
Beispiel #2
0
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;
}