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,
447 struct tcs3472_data *data;
451 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
455 data = iio_priv(indio_dev);
457 data->client = client;
458 mutex_init(&data->lock);
466 ret = i2c_smbus_read_byte_data(data->client, TCS3472_ID);
477 ret = i2c_smbus_read_byte_data(data->client, TCS3472_CONTROL);
480 data->control = ret;
482 ret = i2c_smbus_read_byte_data(data->client, TCS3472_ATIME);
485 data->atime = ret;
487 ret = i2c_smbus_read_word_data(data->client, TCS3472_AILT);
490 data->low_thresh = ret;
492 ret = i2c_smbus_read_word_data(data->client, TCS3472_AIHT);
495 data->high_thresh = ret;
497 data->apers = 1;
498 ret = i2c_smbus_write_byte_data(data->client, TCS3472_PERS,
499 data->apers);
503 ret = i2c_smbus_read_byte_data(data->client, TCS3472_ENABLE);
508 data->enable = ret | TCS3472_ENABLE_PON | TCS3472_ENABLE_AEN;
509 data->enable &= ~TCS3472_ENABLE_AIEN;
510 ret = i2c_smbus_write_byte_data(data->client, TCS3472_ENABLE,
511 data->enable);
544 static int tcs3472_powerdown(struct tcs3472_data *data)
549 mutex_lock(&data->lock);
551 ret = i2c_smbus_write_byte_data(data->client, TCS3472_ENABLE,
552 data->enable & ~enable_mask);
554 data->enable &= ~enable_mask;
556 mutex_unlock(&data->lock);
574 struct tcs3472_data *data = iio_priv(i2c_get_clientdata(
576 return tcs3472_powerdown(data);
581 struct tcs3472_data *data = iio_priv(i2c_get_clientdata(
586 mutex_lock(&data->lock);
588 ret = i2c_smbus_write_byte_data(data->client, TCS3472_ENABLE,
589 data->enable | enable_mask);
591 data->enable |= enable_mask;
593 mutex_unlock(&data->lock);