Symbol: ltc2309
drivers/iio/adc/ltc2309.c
142
static int ltc2309_read_raw_channel(struct ltc2309 *ltc2309,
drivers/iio/adc/ltc2309.c
153
ret = i2c_smbus_write_byte(ltc2309->client, din);
drivers/iio/adc/ltc2309.c
155
dev_err(ltc2309->dev, "i2c command failed: %pe\n",
drivers/iio/adc/ltc2309.c
160
if (ltc2309->read_delay_us)
drivers/iio/adc/ltc2309.c
161
fsleep(ltc2309->read_delay_us);
drivers/iio/adc/ltc2309.c
163
ret = i2c_master_recv(ltc2309->client, (char *)&buf, 2);
drivers/iio/adc/ltc2309.c
165
dev_err(ltc2309->dev, "i2c read failed: %pe\n", ERR_PTR(ret));
drivers/iio/adc/ltc2309.c
178
struct ltc2309 *ltc2309 = iio_priv(indio_dev);
drivers/iio/adc/ltc2309.c
183
mutex_lock(&ltc2309->lock);
drivers/iio/adc/ltc2309.c
184
ret = ltc2309_read_raw_channel(ltc2309, chan->address, val);
drivers/iio/adc/ltc2309.c
185
mutex_unlock(&ltc2309->lock);
drivers/iio/adc/ltc2309.c
190
*val = ltc2309->vref_mv;
drivers/iio/adc/ltc2309.c
206
struct ltc2309 *ltc2309;
drivers/iio/adc/ltc2309.c
209
indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*ltc2309));
drivers/iio/adc/ltc2309.c
213
ltc2309 = iio_priv(indio_dev);
drivers/iio/adc/ltc2309.c
216
ltc2309->dev = &indio_dev->dev;
drivers/iio/adc/ltc2309.c
217
ltc2309->client = client;
drivers/iio/adc/ltc2309.c
218
ltc2309->read_delay_us = chip_info->read_delay_us;
drivers/iio/adc/ltc2309.c
228
return dev_err_probe(ltc2309->dev, ret,
drivers/iio/adc/ltc2309.c
231
ltc2309->vref_mv = ret == -ENODEV ? LTC2309_INTERNAL_REF_MV : ret / 1000;
drivers/iio/adc/ltc2309.c
233
mutex_init(&ltc2309->lock);