Lines Matching refs:adc

97 static int mcp3422_update_config(struct mcp3422 *adc, u8 newconfig)  in mcp3422_update_config()  argument
101 mutex_lock(&adc->lock); in mcp3422_update_config()
103 ret = i2c_master_send(adc->i2c, &newconfig, 1); in mcp3422_update_config()
105 adc->config = newconfig; in mcp3422_update_config()
109 mutex_unlock(&adc->lock); in mcp3422_update_config()
114 static int mcp3422_read(struct mcp3422 *adc, int *value, u8 *config) in mcp3422_read() argument
117 u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config); in mcp3422_read()
122 ret = i2c_master_recv(adc->i2c, buf, 4); in mcp3422_read()
126 ret = i2c_master_recv(adc->i2c, buf, 3); in mcp3422_read()
136 static int mcp3422_read_channel(struct mcp3422 *adc, in mcp3422_read_channel() argument
143 if (req_channel != MCP3422_CHANNEL(adc->config)) { in mcp3422_read_channel()
144 config = adc->config; in mcp3422_read_channel()
148 config |= MCP3422_PGA_VALUE(adc->pga[req_channel]); in mcp3422_read_channel()
149 ret = mcp3422_update_config(adc, config); in mcp3422_read_channel()
152 msleep(mcp3422_read_times[MCP3422_SAMPLE_RATE(adc->config)]); in mcp3422_read_channel()
155 return mcp3422_read(adc, value, &config); in mcp3422_read_channel()
162 struct mcp3422 *adc = iio_priv(iio); in mcp3422_read_raw() local
165 u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config); in mcp3422_read_raw()
166 u8 pga = MCP3422_PGA(adc->config); in mcp3422_read_raw()
170 err = mcp3422_read_channel(adc, channel, val1); in mcp3422_read_raw()
182 *val1 = mcp3422_sample_rates[MCP3422_SAMPLE_RATE(adc->config)]; in mcp3422_read_raw()
196 struct mcp3422 *adc = iio_priv(iio); in mcp3422_write_raw() local
198 u8 config = adc->config; in mcp3422_write_raw()
210 adc->pga[req_channel] = i; in mcp3422_write_raw()
215 config |= MCP3422_PGA_VALUE(adc->pga[req_channel]); in mcp3422_write_raw()
217 return mcp3422_update_config(adc, config); in mcp3422_write_raw()
234 if (adc->id > 4) in mcp3422_write_raw()
247 return mcp3422_update_config(adc, config); in mcp3422_write_raw()
272 struct mcp3422 *adc = iio_priv(dev_to_iio_dev(dev)); in mcp3422_show_samp_freqs() local
274 if (adc->id > 4) in mcp3422_show_samp_freqs()
283 struct mcp3422 *adc = iio_priv(dev_to_iio_dev(dev)); in mcp3422_show_scales() local
284 u8 sample_rate = MCP3422_SAMPLE_RATE(adc->config); in mcp3422_show_scales()
332 struct mcp3422 *adc; in mcp3422_probe() local
339 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*adc)); in mcp3422_probe()
343 adc = iio_priv(indio_dev); in mcp3422_probe()
344 adc->i2c = client; in mcp3422_probe()
345 adc->id = (u8)(id->driver_data); in mcp3422_probe()
347 mutex_init(&adc->lock); in mcp3422_probe()
354 switch (adc->id) { in mcp3422_probe()
374 mcp3422_update_config(adc, config); in mcp3422_probe()