Lines Matching refs:mad
65 static int mt6360_adc_read_channel(struct mt6360_adc_data *mad, int channel, int *val) in mt6360_adc_read_channel() argument
73 mutex_lock(&mad->adc_lock); in mt6360_adc_read_channel()
76 ret = regmap_update_bits(mad->regmap, MT6360_REG_PMUADCRPT1, MT6360_PREFERCH_MASK, in mt6360_adc_read_channel()
82 ret = regmap_raw_write(mad->regmap, MT6360_REG_PMUADCCFG, &adc_enable, sizeof(adc_enable)); in mt6360_adc_read_channel()
86 predict_end_t = ktime_add_ms(mad->last_off_timestamps[channel], 2 * ADC_WAIT_TIME_MS); in mt6360_adc_read_channel()
100 ret = regmap_raw_read(mad->regmap, MT6360_REG_PMUADCRPT1, rpt, sizeof(rpt)); in mt6360_adc_read_channel()
132 regmap_raw_write(mad->regmap, MT6360_REG_PMUADCCFG, &adc_enable, sizeof(adc_enable)); in mt6360_adc_read_channel()
133 mad->last_off_timestamps[channel] = ktime_get(); in mt6360_adc_read_channel()
135 regmap_update_bits(mad->regmap, MT6360_REG_PMUADCRPT1, MT6360_PREFERCH_MASK, in mt6360_adc_read_channel()
138 mutex_unlock(&mad->adc_lock); in mt6360_adc_read_channel()
143 static int mt6360_adc_read_scale(struct mt6360_adc_data *mad, int channel, int *val, int *val2) in mt6360_adc_read_scale() argument
168 ret = regmap_read(mad->regmap, MT6360_REG_PMUCHGCTRL3, ®val); in mt6360_adc_read_scale()
187 static int mt6360_adc_read_offset(struct mt6360_adc_data *mad, int channel, int *val) in mt6360_adc_read_offset() argument
196 struct mt6360_adc_data *mad = iio_priv(iio_dev); in mt6360_adc_read_raw() local
200 return mt6360_adc_read_channel(mad, chan->channel, val); in mt6360_adc_read_raw()
202 return mt6360_adc_read_scale(mad, chan->channel, val, val2); in mt6360_adc_read_raw()
204 return mt6360_adc_read_offset(mad, chan->channel, val); in mt6360_adc_read_raw()
262 struct mt6360_adc_data *mad = iio_priv(indio_dev); in mt6360_adc_trigger_handler() local
271 ret = mt6360_adc_read_channel(mad, bit, &val); in mt6360_adc_trigger_handler()
313 struct mt6360_adc_data *mad; in mt6360_adc_probe() local
324 indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*mad)); in mt6360_adc_probe()
328 mad = iio_priv(indio_dev); in mt6360_adc_probe()
329 mad->dev = &pdev->dev; in mt6360_adc_probe()
330 mad->regmap = regmap; in mt6360_adc_probe()
331 mutex_init(&mad->adc_lock); in mt6360_adc_probe()
333 ret = mt6360_adc_reset(mad); in mt6360_adc_probe()