Lines Matching refs:data

169 static int max44000_read_alstim(struct max44000_data *data)
174 ret = regmap_read(data->regmap, MAX44000_REG_CFG_RX, &val);
180 static int max44000_write_alstim(struct max44000_data *data, int val)
182 return regmap_write_bits(data->regmap, MAX44000_REG_CFG_RX,
187 static int max44000_read_alspga(struct max44000_data *data)
192 ret = regmap_read(data->regmap, MAX44000_REG_CFG_RX, &val);
198 static int max44000_write_alspga(struct max44000_data *data, int val)
200 return regmap_write_bits(data->regmap, MAX44000_REG_CFG_RX,
205 static int max44000_read_alsval(struct max44000_data *data)
211 ret = regmap_bulk_read(data->regmap, MAX44000_REG_ALS_DATA_HI,
215 alstim = ret = max44000_read_alstim(data);
236 static int max44000_write_led_current_raw(struct max44000_data *data, int val)
243 return regmap_write_bits(data->regmap, MAX44000_REG_CFG_TX,
247 static int max44000_read_led_current_raw(struct max44000_data *data)
252 ret = regmap_read(data->regmap, MAX44000_REG_CFG_TX, &regval);
265 struct max44000_data *data = iio_priv(indio_dev);
274 mutex_lock(&data->lock);
275 ret = max44000_read_alsval(data);
276 mutex_unlock(&data->lock);
283 mutex_lock(&data->lock);
284 ret = regmap_read(data->regmap, MAX44000_REG_PRX_DATA, &regval);
285 mutex_unlock(&data->lock);
292 mutex_lock(&data->lock);
293 ret = max44000_read_led_current_raw(data);
294 mutex_unlock(&data->lock);
312 mutex_lock(&data->lock);
313 alspga = ret = max44000_read_alspga(data);
314 mutex_unlock(&data->lock);
330 mutex_lock(&data->lock);
331 alstim = ret = max44000_read_alstim(data);
332 mutex_unlock(&data->lock);
349 struct max44000_data *data = iio_priv(indio_dev);
353 mutex_lock(&data->lock);
354 ret = max44000_write_led_current_raw(data, val);
355 mutex_unlock(&data->lock);
362 mutex_lock(&data->lock);
363 ret = max44000_write_alstim(data, alstim);
364 mutex_unlock(&data->lock);
371 mutex_lock(&data->lock);
372 ret = max44000_write_alspga(data, alspga);
373 mutex_unlock(&data->lock);
495 struct max44000_data *data = iio_priv(indio_dev);
500 mutex_lock(&data->lock);
502 ret = max44000_read_alsval(data);
505 data->scan.channels[index++] = ret;
508 ret = regmap_read(data->regmap, MAX44000_REG_PRX_DATA, &regval);
511 data->scan.channels[index] = regval;
513 mutex_unlock(&data->lock);
515 iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
521 mutex_unlock(&data->lock);
528 struct max44000_data *data;
532 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
535 data = iio_priv(indio_dev);
536 data->regmap = devm_regmap_init_i2c(client, &max44000_regmap_config);
537 if (IS_ERR(data->regmap)) {
539 return PTR_ERR(data->regmap);
542 mutex_init(&data->lock);
557 ret = regmap_write(data->regmap, MAX44000_REG_CFG_RX,
567 * Set a middle value so that we get some sort of valid data by default.
569 ret = max44000_write_led_current_raw(data, MAX44000_LED_CURRENT_DEFAULT);
577 ret = regmap_write(data->regmap, MAX44000_REG_CFG_MAIN, reg);
584 ret = regmap_read(data->regmap, MAX44000_REG_STATUS, &reg);