Lines Matching refs:adc
95 static int mcp3422_update_config(struct mcp3422 *adc, u8 newconfig)
99 ret = i2c_master_send(adc->i2c, &newconfig, 1);
101 adc->config = newconfig;
108 static int mcp3422_read(struct mcp3422 *adc, int *value, u8 *config)
111 u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config);
116 ret = i2c_master_recv(adc->i2c, buf, 4);
120 ret = i2c_master_recv(adc->i2c, buf, 3);
130 static int mcp3422_read_channel(struct mcp3422 *adc,
137 mutex_lock(&adc->lock);
139 if (req_channel != MCP3422_CHANNEL(adc->config)) {
140 config = adc->config;
144 config |= MCP3422_PGA_VALUE(adc->pga[req_channel]);
145 ret = mcp3422_update_config(adc, config);
147 mutex_unlock(&adc->lock);
150 msleep(mcp3422_read_times[MCP3422_SAMPLE_RATE(adc->config)]);
153 ret = mcp3422_read(adc, value, &config);
155 mutex_unlock(&adc->lock);
164 struct mcp3422 *adc = iio_priv(iio);
167 u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config);
168 u8 pga = MCP3422_PGA(adc->config);
172 err = mcp3422_read_channel(adc, channel, val1);
184 *val1 = mcp3422_sample_rates[MCP3422_SAMPLE_RATE(adc->config)];
198 struct mcp3422 *adc = iio_priv(iio);
200 u8 config = adc->config;
212 adc->pga[req_channel] = i;
217 config |= MCP3422_PGA_VALUE(adc->pga[req_channel]);
219 return mcp3422_update_config(adc, config);
236 if (adc->id > 4)
249 return mcp3422_update_config(adc, config);
274 struct mcp3422 *adc = iio_priv(dev_to_iio_dev(dev));
276 if (adc->id > 4)
285 struct mcp3422 *adc = iio_priv(dev_to_iio_dev(dev));
286 u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config);
337 struct mcp3422 *adc;
344 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*adc));
348 adc = iio_priv(indio_dev);
349 adc->i2c = client;
350 adc->id = (u8)(id->driver_data);
352 mutex_init(&adc->lock);
358 switch (adc->id) {
383 err = mcp3422_update_config(adc, config);