static ssize_t show_amb_max(struct device *dev, struct device_attribute *devattr, char *buf) { struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); struct i5k_amb_data *data = dev_get_drvdata(dev); return sprintf(buf, "%d\n", 500 * amb_read_byte(data, amb_reg_temp_max(attr->index))); }
static ssize_t store_amb_max(struct device *dev, struct device_attribute *devattr, const char *buf, size_t count) { struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr); struct i5k_amb_data *data = dev_get_drvdata(dev); unsigned long temp = simple_strtoul(buf, NULL, 10) / 500; if (temp > 255) temp = 255; amb_write_byte(data, amb_reg_temp_max(attr->index), temp); return count; }