Lines Matching refs:data

155 static int us5182d_get_als(struct us5182d_data *data)  in us5182d_get_als()  argument
160 ret = i2c_smbus_read_word_data(data->client, in us5182d_get_als()
165 result = ret * data->ga / US5182D_GA_RESOLUTION; in us5182d_get_als()
172 static int us5182d_set_opmode(struct us5182d_data *data, u8 mode) in us5182d_set_opmode() argument
176 ret = i2c_smbus_read_byte_data(data->client, US5182D_REG_CFG0); in us5182d_set_opmode()
195 ret = i2c_smbus_write_byte_data(data->client, US5182D_REG_CFG0, ret); in us5182d_set_opmode()
199 if (mode == data->opmode) in us5182d_set_opmode()
202 ret = i2c_smbus_write_byte_data(data->client, US5182D_REG_MODE_STORE, in us5182d_set_opmode()
207 data->opmode = mode; in us5182d_set_opmode()
217 struct us5182d_data *data = iio_priv(indio_dev); in us5182d_read_raw() local
224 mutex_lock(&data->lock); in us5182d_read_raw()
225 ret = us5182d_set_opmode(data, US5182D_OPMODE_ALS); in us5182d_read_raw()
229 ret = us5182d_get_als(data); in us5182d_read_raw()
232 mutex_unlock(&data->lock); in us5182d_read_raw()
236 mutex_lock(&data->lock); in us5182d_read_raw()
237 ret = us5182d_set_opmode(data, US5182D_OPMODE_PX); in us5182d_read_raw()
241 ret = i2c_smbus_read_word_data(data->client, in us5182d_read_raw()
245 mutex_unlock(&data->lock); in us5182d_read_raw()
253 ret = i2c_smbus_read_byte_data(data->client, US5182D_REG_CFG1); in us5182d_read_raw()
267 mutex_unlock(&data->lock); in us5182d_read_raw()
280 static int us5182d_update_dark_th(struct us5182d_data *data, int index) in us5182d_update_dark_th() argument
282 __be16 dark_th = cpu_to_be16(data->us5182d_dark_ths[index]); in us5182d_update_dark_th()
285 ret = i2c_smbus_write_byte_data(data->client, US5182D_REG_UDARK_TH, in us5182d_update_dark_th()
290 return i2c_smbus_write_byte_data(data->client, US5182D_REG_UDARK_TH + 1, in us5182d_update_dark_th()
302 static int us5182d_apply_scale(struct us5182d_data *data, int index) in us5182d_apply_scale() argument
306 ret = i2c_smbus_read_byte_data(data->client, US5182D_REG_CFG1); in us5182d_apply_scale()
313 ret = i2c_smbus_write_byte_data(data->client, US5182D_REG_CFG1, ret); in us5182d_apply_scale()
317 return us5182d_update_dark_th(data, index); in us5182d_apply_scale()
324 struct us5182d_data *data = iio_priv(indio_dev); in us5182d_write_raw() local
333 mutex_lock(&data->lock); in us5182d_write_raw()
334 ret = us5182d_apply_scale(data, i); in us5182d_write_raw()
335 mutex_unlock(&data->lock); in us5182d_write_raw()
355 struct us5182d_data *data = iio_priv(indio_dev); in us5182d_reset() local
357 return i2c_smbus_write_byte_data(data->client, US5182D_REG_CFG3, in us5182d_reset()
363 struct us5182d_data *data = iio_priv(indio_dev); in us5182d_init() local
370 data->opmode = 0; in us5182d_init()
372 ret = i2c_smbus_write_byte_data(data->client, in us5182d_init()
384 struct us5182d_data *data = iio_priv(indio_dev); in us5182d_get_platform_data() local
386 if (device_property_read_u32(&data->client->dev, "upisemi,glass-coef", in us5182d_get_platform_data()
387 &data->ga)) in us5182d_get_platform_data()
388 data->ga = US5182D_GA_RESOLUTION; in us5182d_get_platform_data()
389 if (device_property_read_u16_array(&data->client->dev, in us5182d_get_platform_data()
391 data->us5182d_dark_ths, in us5182d_get_platform_data()
393 data->us5182d_dark_ths = us5182d_dark_ths_vals; in us5182d_get_platform_data()
394 if (device_property_read_u8(&data->client->dev, in us5182d_get_platform_data()
396 &data->upper_dark_gain)) in us5182d_get_platform_data()
397 data->upper_dark_gain = US5182D_REG_AUTO_HDARK_GAIN_DEFAULT; in us5182d_get_platform_data()
398 if (device_property_read_u8(&data->client->dev, in us5182d_get_platform_data()
400 &data->lower_dark_gain)) in us5182d_get_platform_data()
401 data->lower_dark_gain = US5182D_REG_AUTO_LDARK_GAIN_DEFAULT; in us5182d_get_platform_data()
406 struct us5182d_data *data = iio_priv(indio_dev); in us5182d_dark_gain_config() local
409 ret = us5182d_update_dark_th(data, US5182D_CFG1_AGAIN_DEFAULT); in us5182d_dark_gain_config()
413 ret = i2c_smbus_write_byte_data(data->client, in us5182d_dark_gain_config()
415 data->lower_dark_gain); in us5182d_dark_gain_config()
419 ret = i2c_smbus_write_byte_data(data->client, in us5182d_dark_gain_config()
421 data->upper_dark_gain); in us5182d_dark_gain_config()
425 return i2c_smbus_write_byte_data(data->client, US5182D_REG_DARK_AUTO_EN, in us5182d_dark_gain_config()
432 struct us5182d_data *data; in us5182d_probe() local
436 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data)); in us5182d_probe()
440 data = iio_priv(indio_dev); in us5182d_probe()
442 data->client = client; in us5182d_probe()
444 mutex_init(&data->lock); in us5182d_probe()
453 ret = i2c_smbus_read_byte_data(data->client, US5182D_REG_CHIPID); in us5182d_probe()
455 dev_err(&data->client->dev, in us5182d_probe()