Lines Matching refs:mad
66 static int mt6360_adc_read_channel(struct mt6360_adc_data *mad, int channel, int *val) in mt6360_adc_read_channel() argument
74 mutex_lock(&mad->adc_lock); in mt6360_adc_read_channel()
77 ret = regmap_update_bits(mad->regmap, MT6360_REG_PMUADCRPT1, MT6360_PREFERCH_MASK, in mt6360_adc_read_channel()
83 ret = regmap_raw_write(mad->regmap, MT6360_REG_PMUADCCFG, &adc_enable, sizeof(adc_enable)); in mt6360_adc_read_channel()
87 predict_end_t = ktime_add_ms(mad->last_off_timestamps[channel], 2 * ADC_WAIT_TIME_MS); in mt6360_adc_read_channel()
101 ret = regmap_raw_read(mad->regmap, MT6360_REG_PMUADCRPT1, rpt, sizeof(rpt)); in mt6360_adc_read_channel()
133 regmap_raw_write(mad->regmap, MT6360_REG_PMUADCCFG, &adc_enable, sizeof(adc_enable)); in mt6360_adc_read_channel()
134 mad->last_off_timestamps[channel] = ktime_get(); in mt6360_adc_read_channel()
136 regmap_update_bits(mad->regmap, MT6360_REG_PMUADCRPT1, MT6360_PREFERCH_MASK, in mt6360_adc_read_channel()
139 mutex_unlock(&mad->adc_lock); in mt6360_adc_read_channel()
144 static int mt6360_adc_read_scale(struct mt6360_adc_data *mad, int channel, int *val, int *val2) in mt6360_adc_read_scale() argument
169 ret = regmap_read(mad->regmap, MT6360_REG_PMUCHGCTRL3, ®val); in mt6360_adc_read_scale()
188 static int mt6360_adc_read_offset(struct mt6360_adc_data *mad, int channel, int *val) in mt6360_adc_read_offset() argument
197 struct mt6360_adc_data *mad = iio_priv(iio_dev); in mt6360_adc_read_raw() local
201 return mt6360_adc_read_channel(mad, chan->channel, val); in mt6360_adc_read_raw()
203 return mt6360_adc_read_scale(mad, chan->channel, val, val2); in mt6360_adc_read_raw()
205 return mt6360_adc_read_offset(mad, chan->channel, val); in mt6360_adc_read_raw()
263 struct mt6360_adc_data *mad = iio_priv(indio_dev); in mt6360_adc_trigger_handler() local
272 ret = mt6360_adc_read_channel(mad, bit, &val); in mt6360_adc_trigger_handler()
314 struct mt6360_adc_data *mad; in mt6360_adc_probe() local
325 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*mad)); in mt6360_adc_probe()
329 mad = iio_priv(indio_dev); in mt6360_adc_probe()
330 mad->dev = &pdev->dev; in mt6360_adc_probe()
331 mad->regmap = regmap; in mt6360_adc_probe()
332 mutex_init(&mad->adc_lock); in mt6360_adc_probe()
334 ret = mt6360_adc_reset(mad); in mt6360_adc_probe()