Lines Matching refs:data
145 static int stk8ba50_read_accel(struct stk8ba50_data *data, u8 reg) in stk8ba50_read_accel() argument
148 struct i2c_client *client = data->client; in stk8ba50_read_accel()
163 struct stk8ba50_data *data = iio_priv(indio_dev); in stk8ba50_data_rdy_trigger_set_state() local
167 ret = i2c_smbus_write_byte_data(data->client, in stk8ba50_data_rdy_trigger_set_state()
170 ret = i2c_smbus_write_byte_data(data->client, in stk8ba50_data_rdy_trigger_set_state()
174 dev_err(&data->client->dev, "failed to set trigger state\n"); in stk8ba50_data_rdy_trigger_set_state()
176 data->dready_trigger_on = state; in stk8ba50_data_rdy_trigger_set_state()
186 static int stk8ba50_set_power(struct stk8ba50_data *data, bool mode) in stk8ba50_set_power() argument
190 struct i2c_client *client = data->client; in stk8ba50_set_power()
217 struct stk8ba50_data *data = iio_priv(indio_dev); in stk8ba50_read_raw() local
224 mutex_lock(&data->lock); in stk8ba50_read_raw()
225 ret = stk8ba50_set_power(data, STK8BA50_MODE_NORMAL); in stk8ba50_read_raw()
227 mutex_unlock(&data->lock); in stk8ba50_read_raw()
230 ret = stk8ba50_read_accel(data, chan->address); in stk8ba50_read_raw()
232 stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND); in stk8ba50_read_raw()
233 mutex_unlock(&data->lock); in stk8ba50_read_raw()
237 stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND); in stk8ba50_read_raw()
238 mutex_unlock(&data->lock); in stk8ba50_read_raw()
242 *val2 = stk8ba50_scale_table[data->range].scale_val; in stk8ba50_read_raw()
246 [data->sample_rate_idx].samp_freq; in stk8ba50_read_raw()
261 struct stk8ba50_data *data = iio_priv(indio_dev); in stk8ba50_write_raw() local
276 ret = i2c_smbus_write_byte_data(data->client, in stk8ba50_write_raw()
280 dev_err(&data->client->dev, in stk8ba50_write_raw()
283 data->range = index; in stk8ba50_write_raw()
295 ret = i2c_smbus_write_byte_data(data->client, in stk8ba50_write_raw()
299 dev_err(&data->client->dev, in stk8ba50_write_raw()
302 data->sample_rate_idx = index; in stk8ba50_write_raw()
321 struct stk8ba50_data *data = iio_priv(indio_dev); in stk8ba50_trigger_handler() local
324 mutex_lock(&data->lock); in stk8ba50_trigger_handler()
330 ret = i2c_smbus_read_i2c_block_data(data->client, in stk8ba50_trigger_handler()
333 (u8 *)data->buffer); in stk8ba50_trigger_handler()
335 dev_err(&data->client->dev, "register read failed\n"); in stk8ba50_trigger_handler()
341 ret = stk8ba50_read_accel(data, in stk8ba50_trigger_handler()
346 data->buffer[i++] = ret; in stk8ba50_trigger_handler()
349 iio_push_to_buffers_with_timestamp(indio_dev, data->buffer, in stk8ba50_trigger_handler()
352 mutex_unlock(&data->lock); in stk8ba50_trigger_handler()
361 struct stk8ba50_data *data = iio_priv(indio_dev); in stk8ba50_data_rdy_trig_poll() local
363 if (data->dready_trigger_on) in stk8ba50_data_rdy_trig_poll()
364 iio_trigger_poll(data->dready_trig); in stk8ba50_data_rdy_trig_poll()
371 struct stk8ba50_data *data = iio_priv(indio_dev); in stk8ba50_buffer_preenable() local
373 return stk8ba50_set_power(data, STK8BA50_MODE_NORMAL); in stk8ba50_buffer_preenable()
378 struct stk8ba50_data *data = iio_priv(indio_dev); in stk8ba50_buffer_postdisable() local
380 return stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND); in stk8ba50_buffer_postdisable()
395 struct stk8ba50_data *data; in stk8ba50_probe() local
397 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data)); in stk8ba50_probe()
403 data = iio_priv(indio_dev); in stk8ba50_probe()
404 data->client = client; in stk8ba50_probe()
406 mutex_init(&data->lock); in stk8ba50_probe()
424 data->range = 0; in stk8ba50_probe()
427 data->sample_rate_idx = STK8BA50_SR_1792HZ_IDX; in stk8ba50_probe()
457 data->dready_trig = devm_iio_trigger_alloc(&client->dev, in stk8ba50_probe()
461 if (!data->dready_trig) { in stk8ba50_probe()
466 data->dready_trig->dev.parent = &client->dev; in stk8ba50_probe()
467 data->dready_trig->ops = &stk8ba50_trigger_ops; in stk8ba50_probe()
468 iio_trigger_set_drvdata(data->dready_trig, indio_dev); in stk8ba50_probe()
469 ret = iio_trigger_register(data->dready_trig); in stk8ba50_probe()
496 if (data->dready_trig) in stk8ba50_probe()
497 iio_trigger_unregister(data->dready_trig); in stk8ba50_probe()
499 stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND); in stk8ba50_probe()
506 struct stk8ba50_data *data = iio_priv(indio_dev); in stk8ba50_remove() local
511 if (data->dready_trig) in stk8ba50_remove()
512 iio_trigger_unregister(data->dready_trig); in stk8ba50_remove()
514 return stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND); in stk8ba50_remove()
520 struct stk8ba50_data *data; in stk8ba50_suspend() local
522 data = iio_priv(i2c_get_clientdata(to_i2c_client(dev))); in stk8ba50_suspend()
524 return stk8ba50_set_power(data, STK8BA50_MODE_SUSPEND); in stk8ba50_suspend()
529 struct stk8ba50_data *data; in stk8ba50_resume() local
531 data = iio_priv(i2c_get_clientdata(to_i2c_client(dev))); in stk8ba50_resume()
533 return stk8ba50_set_power(data, STK8BA50_MODE_NORMAL); in stk8ba50_resume()