Lines Matching refs:data
44 /* Each client has this additional data */
60 static int max31730_write_config(struct max31730_data *data, u8 set_mask,
66 value = data->current_conf & ~clr_mask;
69 if (data->current_conf != value) {
72 err = i2c_smbus_write_byte_data(data->client, MAX31730_REG_CONF,
76 data->current_conf = value;
101 static int max31730_set_offset_enable(struct max31730_data *data, int channel,
104 return max31730_set_enable(data->client, MAX31730_REG_OFFSET_ENABLE,
105 &data->offset_enable, channel, enable);
108 static int max31730_set_channel_enable(struct max31730_data *data, int channel,
111 return max31730_set_enable(data->client, MAX31730_REG_CHANNEL_ENABLE,
112 &data->channel_enable, channel, enable);
118 struct max31730_data *data = dev_get_drvdata(dev);
126 if (!(data->channel_enable & BIT(channel)))
137 *val = !!(data->channel_enable & BIT(channel));
142 if (!(data->offset_enable & BIT(channel))) {
146 offset = i2c_smbus_read_byte_data(data->client,
153 regval = i2c_smbus_read_byte_data(data->client,
160 regval = i2c_smbus_read_byte_data(data->client,
167 regval = i2c_smbus_read_byte_data(data->client,
176 regval = i2c_smbus_read_word_swapped(data->client, reg);
188 struct max31730_data *data = dev_get_drvdata(dev);
204 return max31730_set_channel_enable(data, channel, val);
208 err = max31730_set_offset_enable(data, channel,
212 return i2c_smbus_write_byte_data(data->client,
221 return i2c_smbus_write_word_swapped(data->client, reg, (u16)val);
224 static umode_t max31730_is_visible(const void *data,
284 static void max31730_remove(void *data)
286 struct max31730_data *max31730 = data;
298 struct max31730_data *data;
305 data = devm_kzalloc(dev, sizeof(struct max31730_data), GFP_KERNEL);
306 if (!data)
309 data->client = client;
315 data->channel_enable = status;
320 data->offset_enable = status;
325 data->orig_conf = status;
326 data->current_conf = status;
328 err = max31730_write_config(data,
329 data->channel_enable ? 0 : MAX31730_STOP,
330 data->channel_enable ? MAX31730_STOP : 0);
334 dev_set_drvdata(dev, data);
336 err = devm_add_action_or_reset(dev, max31730_remove, data);
341 data,
408 struct max31730_data *data = dev_get_drvdata(dev);
410 return max31730_write_config(data, MAX31730_STOP, 0);
415 struct max31730_data *data = dev_get_drvdata(dev);
417 return max31730_write_config(data, 0, MAX31730_STOP);