Lines Matching refs:adc
28 static int adc128_adc_conversion(struct adc128 *adc, u8 channel) in adc128_adc_conversion() argument
32 mutex_lock(&adc->lock); in adc128_adc_conversion()
34 adc->buffer[0] = channel << 3; in adc128_adc_conversion()
35 adc->buffer[1] = 0; in adc128_adc_conversion()
37 ret = spi_write(adc->spi, &adc->buffer, 2); in adc128_adc_conversion()
39 mutex_unlock(&adc->lock); in adc128_adc_conversion()
43 ret = spi_read(adc->spi, &adc->buffer, 2); in adc128_adc_conversion()
45 mutex_unlock(&adc->lock); in adc128_adc_conversion()
50 return ((adc->buffer[0] << 8 | adc->buffer[1]) & 0xFFF); in adc128_adc_conversion()
57 struct adc128 *adc = iio_priv(indio_dev); in adc128_read_raw() local
63 ret = adc128_adc_conversion(adc, channel->channel); in adc128_read_raw()
72 ret = regulator_get_voltage(adc->reg); in adc128_read_raw()
114 struct adc128 *adc; in adc128_probe() local
117 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adc)); in adc128_probe()
121 adc = iio_priv(indio_dev); in adc128_probe()
122 adc->spi = spi; in adc128_probe()
134 adc->reg = devm_regulator_get(&spi->dev, "vref"); in adc128_probe()
135 if (IS_ERR(adc->reg)) in adc128_probe()
136 return PTR_ERR(adc->reg); in adc128_probe()
138 ret = regulator_enable(adc->reg); in adc128_probe()
142 mutex_init(&adc->lock); in adc128_probe()
152 struct adc128 *adc = iio_priv(indio_dev); in adc128_remove() local
155 regulator_disable(adc->reg); in adc128_remove()