Lines Matching defs:data
130 static int jsa1212_als_enable(struct jsa1212_data *data, u8 status)
134 ret = regmap_update_bits(data->regmap, JSA1212_CONF_REG,
140 data->als_en = !!status;
146 static int jsa1212_pxs_enable(struct jsa1212_data *data, u8 status)
150 ret = regmap_update_bits(data->regmap, JSA1212_CONF_REG,
156 data->pxs_en = !!status;
161 static int jsa1212_read_als_data(struct jsa1212_data *data,
167 ret = jsa1212_als_enable(data, JSA1212_CONF_ALS_ENABLE);
171 /* Delay for data output */
174 /* Read 12 bit data */
175 ret = regmap_bulk_read(data->regmap, JSA1212_ALS_DT1_REG, &als_data, 2);
177 dev_err(&data->client->dev, "als data read err\n");
184 return jsa1212_als_enable(data, JSA1212_CONF_ALS_DISABLE);
187 static int jsa1212_read_pxs_data(struct jsa1212_data *data,
193 ret = jsa1212_pxs_enable(data, JSA1212_CONF_PXS_ENABLE);
197 /* Delay for data output */
200 /* Read out all data */
201 ret = regmap_read(data->regmap, JSA1212_PXS_DATA_REG, &pxs_data);
203 dev_err(&data->client->dev, "pxs data read err\n");
210 return jsa1212_pxs_enable(data, JSA1212_CONF_PXS_DISABLE);
218 struct jsa1212_data *data = iio_priv(indio_dev);
222 mutex_lock(&data->lock);
225 ret = jsa1212_read_als_data(data, val);
228 ret = jsa1212_read_pxs_data(data, val);
234 mutex_unlock(&data->lock);
239 *val = jsa1212_als_range_val[data->als_rng_idx];
269 static int jsa1212_chip_init(struct jsa1212_data *data)
273 ret = regmap_write(data->regmap, JSA1212_CONF_REG,
279 ret = regmap_write(data->regmap, JSA1212_INT_REG,
284 data->als_rng_idx = JSA1212_ALS_RNG_0_2048;
313 struct jsa1212_data *data;
318 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
328 data = iio_priv(indio_dev);
331 data->client = client;
332 data->regmap = regmap;
334 mutex_init(&data->lock);
336 ret = jsa1212_chip_init(data);
355 static int jsa1212_power_off(struct jsa1212_data *data)
359 mutex_lock(&data->lock);
361 ret = regmap_update_bits(data->regmap, JSA1212_CONF_REG,
368 dev_err(&data->client->dev, "power off cmd failed\n");
370 mutex_unlock(&data->lock);
378 struct jsa1212_data *data = iio_priv(indio_dev);
382 jsa1212_power_off(data);
387 struct jsa1212_data *data;
389 data = iio_priv(i2c_get_clientdata(to_i2c_client(dev)));
391 return jsa1212_power_off(data);
397 struct jsa1212_data *data;
399 data = iio_priv(i2c_get_clientdata(to_i2c_client(dev)));
401 mutex_lock(&data->lock);
403 if (data->als_en) {
404 ret = jsa1212_als_enable(data, JSA1212_CONF_ALS_ENABLE);
411 if (data->pxs_en) {
412 ret = jsa1212_pxs_enable(data, JSA1212_CONF_PXS_ENABLE);
418 mutex_unlock(&data->lock);