Lines Matching defs:data

90 static int apds9300_get_adc_val(struct apds9300_data *data, int adc_number)
95 if (!data->power_state)
98 /* Select ADC0 or ADC1 data register */
101 ret = i2c_smbus_read_word_data(data->client, flags);
103 dev_err(&data->client->dev,
109 static int apds9300_set_thresh_low(struct apds9300_data *data, int value)
113 if (!data->power_state)
119 ret = i2c_smbus_write_word_data(data->client, APDS9300_THRESHLOWLOW
122 dev_err(&data->client->dev, "failed to set thresh_low\n");
125 data->thresh_low = value;
130 static int apds9300_set_thresh_hi(struct apds9300_data *data, int value)
134 if (!data->power_state)
140 ret = i2c_smbus_write_word_data(data->client, APDS9300_THRESHHIGHLOW
143 dev_err(&data->client->dev, "failed to set thresh_hi\n");
146 data->thresh_hi = value;
151 static int apds9300_set_intr_state(struct apds9300_data *data, int state)
156 if (!data->power_state)
160 ret = i2c_smbus_write_byte_data(data->client,
163 dev_err(&data->client->dev,
167 data->intr_en = state;
172 static int apds9300_set_power_state(struct apds9300_data *data, int state)
178 ret = i2c_smbus_write_byte_data(data->client,
181 dev_err(&data->client->dev,
185 data->power_state = state;
190 static void apds9300_clear_intr(struct apds9300_data *data)
194 ret = i2c_smbus_write_byte(data->client, APDS9300_CLEAR | APDS9300_CMD);
196 dev_err(&data->client->dev, "failed to clear interrupt\n");
199 static int apds9300_chip_init(struct apds9300_data *data)
204 ret = apds9300_set_power_state(data, 0);
211 ret = apds9300_set_power_state(data, 1);
214 ret = i2c_smbus_read_byte_data(data->client,
224 ret = apds9300_set_intr_state(data, 0);
231 dev_err(&data->client->dev, "failed to init the chip\n");
240 struct apds9300_data *data = iio_priv(indio_dev);
242 mutex_lock(&data->mutex);
245 ch0 = apds9300_get_adc_val(data, 0);
250 ch1 = apds9300_get_adc_val(data, 1);
259 ret = apds9300_get_adc_val(data, chan->channel);
268 mutex_unlock(&data->mutex);
278 struct apds9300_data *data = iio_priv(indio_dev);
282 *val = data->thresh_hi;
285 *val = data->thresh_low;
299 struct apds9300_data *data = iio_priv(indio_dev);
302 mutex_lock(&data->mutex);
304 ret = apds9300_set_thresh_hi(data, val);
306 ret = apds9300_set_thresh_low(data, val);
307 mutex_unlock(&data->mutex);
317 struct apds9300_data *data = iio_priv(indio_dev);
319 return data->intr_en;
326 struct apds9300_data *data = iio_priv(indio_dev);
329 mutex_lock(&data->mutex);
330 ret = apds9300_set_intr_state(data, state);
331 mutex_unlock(&data->mutex);
388 struct apds9300_data *data = iio_priv(dev_info);
396 apds9300_clear_intr(data);
403 struct apds9300_data *data;
407 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
411 data = iio_priv(indio_dev);
413 data->client = client;
415 ret = apds9300_chip_init(data);
419 mutex_init(&data->mutex);
450 apds9300_set_power_state(data, 0);
457 struct apds9300_data *data = iio_priv(indio_dev);
462 apds9300_set_intr_state(data, 0);
463 apds9300_set_power_state(data, 0);
469 struct apds9300_data *data = iio_priv(indio_dev);
472 mutex_lock(&data->mutex);
473 ret = apds9300_set_power_state(data, 0);
474 mutex_unlock(&data->mutex);
482 struct apds9300_data *data = iio_priv(indio_dev);
485 mutex_lock(&data->mutex);
486 ret = apds9300_set_power_state(data, 1);
487 mutex_unlock(&data->mutex);