Lines Matching defs:adc
52 struct adcxx *adc = spi_get_drvdata(spi);
58 if (mutex_lock_interruptible(&adc->lock))
61 if (adc->channels == 1) {
77 value = value * adc->reference >> 12;
80 mutex_unlock(&adc->lock);
95 struct adcxx *adc = spi_get_drvdata(spi);
98 if (mutex_lock_interruptible(&adc->lock))
101 reference = adc->reference;
103 mutex_unlock(&adc->lock);
113 struct adcxx *adc = spi_get_drvdata(spi);
119 if (mutex_lock_interruptible(&adc->lock))
122 adc->reference = value;
124 mutex_unlock(&adc->lock);
154 struct adcxx *adc;
158 adc = devm_kzalloc(&spi->dev, sizeof(*adc), GFP_KERNEL);
159 if (!adc)
163 adc->reference = 3300;
164 adc->channels = channels;
165 mutex_init(&adc->lock);
167 mutex_lock(&adc->lock);
169 spi_set_drvdata(spi, adc);
171 for (i = 0; i < 3 + adc->channels; i++) {
179 adc->hwmon_dev = hwmon_device_register(&spi->dev);
180 if (IS_ERR(adc->hwmon_dev)) {
182 status = PTR_ERR(adc->hwmon_dev);
186 mutex_unlock(&adc->lock);
193 mutex_unlock(&adc->lock);
199 struct adcxx *adc = spi_get_drvdata(spi);
202 mutex_lock(&adc->lock);
203 hwmon_device_unregister(adc->hwmon_dev);
204 for (i = 0; i < 3 + adc->channels; i++)
207 mutex_unlock(&adc->lock);