Lines Matching refs:data

140 static int stk8ba50_read_accel(struct stk8ba50_data *data, u8 reg)
143 struct i2c_client *client = data->client;
158 struct stk8ba50_data *data = iio_priv(indio_dev);
162 ret = i2c_smbus_write_byte_data(data->client,
165 ret = i2c_smbus_write_byte_data(data->client,
169 dev_err(&data->client->dev, "failed to set trigger state\n");
171 data->dready_trigger_on = state;
180 static int stk8ba50_set_power(struct stk8ba50_data *data, bool mode)
184 struct i2c_client *client = data->client;
211 struct stk8ba50_data *data = iio_priv(indio_dev);
218 mutex_lock(&data->lock);
219 ret = stk8ba50_set_power(data, STK8BA50_MODE_NORMAL);
221 mutex_unlock(&data->lock);
224 ret = stk8ba50_read_accel(data, chan->address);
226 stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND);
227 mutex_unlock(&data->lock);
232 stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND);
233 mutex_unlock(&data->lock);
237 *val2 = stk8ba50_scale_table[data->range].scale_val;
241 [data->sample_rate_idx].samp_freq;
256 struct stk8ba50_data *data = iio_priv(indio_dev);
271 ret = i2c_smbus_write_byte_data(data->client,
275 dev_err(&data->client->dev,
278 data->range = index;
290 ret = i2c_smbus_write_byte_data(data->client,
294 dev_err(&data->client->dev,
297 data->sample_rate_idx = index;
315 struct stk8ba50_data *data = iio_priv(indio_dev);
318 mutex_lock(&data->lock);
324 ret = i2c_smbus_read_i2c_block_data(data->client,
327 (u8 *)data->scan.chans);
329 dev_err(&data->client->dev, "register read failed\n");
335 ret = stk8ba50_read_accel(data,
340 data->scan.chans[i++] = ret;
343 iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
346 mutex_unlock(&data->lock);
355 struct stk8ba50_data *data = iio_priv(indio_dev);
357 if (data->dready_trigger_on)
358 iio_trigger_poll(data->dready_trig);
365 struct stk8ba50_data *data = iio_priv(indio_dev);
367 return stk8ba50_set_power(data, STK8BA50_MODE_NORMAL);
372 struct stk8ba50_data *data = iio_priv(indio_dev);
374 return stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND);
386 struct stk8ba50_data *data;
388 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
394 data = iio_priv(indio_dev);
395 data->client = client;
397 mutex_init(&data->lock);
414 data->range = 0;
417 data->sample_rate_idx = STK8BA50_SR_1792HZ_IDX;
447 data->dready_trig = devm_iio_trigger_alloc(&client->dev,
451 if (!data->dready_trig) {
456 data->dready_trig->ops = &stk8ba50_trigger_ops;
457 iio_trigger_set_drvdata(data->dready_trig, indio_dev);
458 ret = iio_trigger_register(data->dready_trig);
485 if (data->dready_trig)
486 iio_trigger_unregister(data->dready_trig);
488 stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND);
495 struct stk8ba50_data *data = iio_priv(indio_dev);
500 if (data->dready_trig)
501 iio_trigger_unregister(data->dready_trig);
503 stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND);
508 struct stk8ba50_data *data;
510 data = iio_priv(i2c_get_clientdata(to_i2c_client(dev)));
512 return stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND);
517 struct stk8ba50_data *data;
519 data = iio_priv(i2c_get_clientdata(to_i2c_client(dev)));
521 return stk8ba50_set_power(data, STK8BA50_MODE_NORMAL);