Lines Matching refs:data

120 static int tcs3472_req_data(struct tcs3472_data *data)
126 ret = i2c_smbus_read_byte_data(data->client, TCS3472_STATUS);
135 dev_err(&data->client->dev, "data not ready\n");
146 struct tcs3472_data *data = iio_priv(indio_dev);
154 ret = tcs3472_req_data(data);
159 ret = i2c_smbus_read_word_data(data->client, chan->address);
166 *val = tcs3472_agains[data->control &
171 *val2 = (256 - data->atime) * 2400;
181 struct tcs3472_data *data = iio_priv(indio_dev);
190 data->control &= ~TCS3472_CONTROL_AGAIN_MASK;
191 data->control |= i;
193 data->client, TCS3472_CONTROL,
194 data->control);
203 data->atime = i;
205 data->client, TCS3472_ATIME,
206 data->atime);
228 struct tcs3472_data *data = iio_priv(indio_dev);
232 mutex_lock(&data->lock);
237 data->high_thresh : data->low_thresh;
241 period = (256 - data->atime) * 2400 *
242 tcs3472_intr_pers[data->apers];
252 mutex_unlock(&data->lock);
262 struct tcs3472_data *data = iio_priv(indio_dev);
268 mutex_lock(&data->lock);
282 ret = i2c_smbus_write_word_data(data->client, command, val);
287 data->high_thresh = val;
289 data->low_thresh = val;
294 if (period <= (256 - data->atime) * 2400 *
298 ret = i2c_smbus_write_byte_data(data->client, TCS3472_PERS, i);
302 data->apers = i;
309 mutex_unlock(&data->lock);
318 struct tcs3472_data *data = iio_priv(indio_dev);
321 mutex_lock(&data->lock);
322 ret = !!(data->enable & TCS3472_ENABLE_AIEN);
323 mutex_unlock(&data->lock);
332 struct tcs3472_data *data = iio_priv(indio_dev);
336 mutex_lock(&data->lock);
338 enable_old = data->enable;
341 data->enable |= TCS3472_ENABLE_AIEN;
343 data->enable &= ~TCS3472_ENABLE_AIEN;
345 if (enable_old != data->enable) {
346 ret = i2c_smbus_write_byte_data(data->client, TCS3472_ENABLE,
347 data->enable);
349 data->enable = enable_old;
351 mutex_unlock(&data->lock);
359 struct tcs3472_data *data = iio_priv(indio_dev);
362 ret = i2c_smbus_read_byte_data(data->client, TCS3472_STATUS);
369 i2c_smbus_read_byte_data(data->client, TCS3472_INTR_CLEAR);
379 struct tcs3472_data *data = iio_priv(indio_dev);
382 int ret = tcs3472_req_data(data);
388 ret = i2c_smbus_read_word_data(data->client,
393 data->scan.chans[j++] = ret;
396 iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
448 struct tcs3472_data *data;
452 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
456 data = iio_priv(indio_dev);
458 data->client = client;
459 mutex_init(&data->lock);
467 ret = i2c_smbus_read_byte_data(data->client, TCS3472_ID);
478 ret = i2c_smbus_read_byte_data(data->client, TCS3472_CONTROL);
481 data->control = ret;
483 ret = i2c_smbus_read_byte_data(data->client, TCS3472_ATIME);
486 data->atime = ret;
488 ret = i2c_smbus_read_word_data(data->client, TCS3472_AILT);
491 data->low_thresh = ret;
493 ret = i2c_smbus_read_word_data(data->client, TCS3472_AIHT);
496 data->high_thresh = ret;
498 data->apers = 1;
499 ret = i2c_smbus_write_byte_data(data->client, TCS3472_PERS,
500 data->apers);
504 ret = i2c_smbus_read_byte_data(data->client, TCS3472_ENABLE);
509 data->enable = ret | TCS3472_ENABLE_PON | TCS3472_ENABLE_AEN;
510 data->enable &= ~TCS3472_ENABLE_AIEN;
511 ret = i2c_smbus_write_byte_data(data->client, TCS3472_ENABLE,
512 data->enable);
545 static int tcs3472_powerdown(struct tcs3472_data *data)
550 mutex_lock(&data->lock);
552 ret = i2c_smbus_write_byte_data(data->client, TCS3472_ENABLE,
553 data->enable & ~enable_mask);
555 data->enable &= ~enable_mask;
557 mutex_unlock(&data->lock);
578 struct tcs3472_data *data = iio_priv(i2c_get_clientdata(
580 return tcs3472_powerdown(data);
585 struct tcs3472_data *data = iio_priv(i2c_get_clientdata(
590 mutex_lock(&data->lock);
592 ret = i2c_smbus_write_byte_data(data->client, TCS3472_ENABLE,
593 data->enable | enable_mask);
595 data->enable |= enable_mask;
597 mutex_unlock(&data->lock);