Lines Matching full:max34408

5 …* Datasheet: https://www.analog.com/media/en/technical-documentation/data-sheets/MAX34408-MAX34409…
66 * struct max34408_data - max34408/max34409 specific data.
68 * @dev: max34408 device.
116 static int max34408_read_adc_avg(struct max34408_data *max34408, in max34408_read_adc_avg() argument
122 guard(mutex)(&max34408->lock); in max34408_read_adc_avg()
123 rc = regmap_read(max34408->regmap, MAX34408_CONTROL_REG, (u32 *)&ctrl); in max34408_read_adc_avg()
128 rc = regmap_write(max34408->regmap, MAX34408_CONTROL_REG, in max34408_read_adc_avg()
131 dev_err(max34408->dev, in max34408_read_adc_avg()
136 rc = regmap_read(max34408->regmap, chan->address, val); in max34408_read_adc_avg()
141 rc = regmap_write(max34408->regmap, MAX34408_CONTROL_REG, ctrl); in max34408_read_adc_avg()
143 dev_err(max34408->dev, in max34408_read_adc_avg()
153 struct max34408_data *max34408 = iio_priv(indio_dev); in max34408_read_raw() local
158 rc = max34408_read_adc_avg(max34408, chan, val); in max34408_read_raw()
169 *val = 10000 / max34408->input_rsense[chan->channel]; in max34408_read_raw()
182 .model_name = "max34408",
197 struct max34408_data *max34408; in max34408_probe() local
214 indio_dev = devm_iio_device_alloc(dev, sizeof(*max34408)); in max34408_probe()
218 max34408 = iio_priv(indio_dev); in max34408_probe()
219 max34408->regmap = regmap; in max34408_probe()
220 max34408->dev = dev; in max34408_probe()
221 mutex_init(&max34408->lock); in max34408_probe()
225 &max34408->input_rsense[i]); in max34408_probe()
230 rc = regmap_write(max34408->regmap, MAX34408_CONTROL_REG, 0x0); in max34408_probe()
246 .compatible = "maxim,max34408",
258 { "max34408", (kernel_ulong_t)&max34408_model_data },
266 .name = "max34408",
275 MODULE_DESCRIPTION("Maxim MAX34408/34409 ADC driver");