Lines Matching refs:data

137 static int mxc4005_read_xyz(struct mxc4005_data *data)
141 ret = regmap_bulk_read(data->regmap, MXC4005_REG_XOUT_UPPER,
142 data->scan.chans, sizeof(data->scan.chans));
144 dev_err(data->dev, "failed to read axes\n");
151 static int mxc4005_read_axis(struct mxc4005_data *data,
157 ret = regmap_bulk_read(data->regmap, addr, &reg, sizeof(reg));
159 dev_err(data->dev, "failed to read reg %02x\n", addr);
166 static int mxc4005_read_scale(struct mxc4005_data *data)
172 ret = regmap_read(data->regmap, MXC4005_REG_CONTROL, &reg);
174 dev_err(data->dev, "failed to read reg_control\n");
186 static int mxc4005_set_scale(struct mxc4005_data *data, int val)
195 ret = regmap_update_bits(data->regmap,
200 dev_err(data->dev,
213 struct mxc4005_data *data = iio_priv(indio_dev);
223 ret = mxc4005_read_axis(data, chan->address);
233 ret = mxc4005_read_scale(data);
249 struct mxc4005_data *data = iio_priv(indio_dev);
256 return mxc4005_set_scale(data, val2);
301 struct mxc4005_data *data = iio_priv(indio_dev);
304 ret = mxc4005_read_xyz(data);
308 iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
317 static void mxc4005_clr_intr(struct mxc4005_data *data)
322 ret = regmap_write(data->regmap, MXC4005_REG_INT_CLR1,
325 dev_err(data->dev, "failed to write to reg_int_clr1\n");
332 struct mxc4005_data *data = iio_priv(indio_dev);
335 mutex_lock(&data->mutex);
337 ret = regmap_write(data->regmap, MXC4005_REG_INT_MASK1,
340 ret = regmap_write(data->regmap, MXC4005_REG_INT_MASK1,
345 mutex_unlock(&data->mutex);
346 dev_err(data->dev, "failed to update reg_int_mask1");
350 data->trigger_enabled = state;
351 mutex_unlock(&data->mutex);
359 struct mxc4005_data *data = iio_priv(indio_dev);
361 if (!data->dready_trig)
364 mxc4005_clr_intr(data);
372 static int mxc4005_chip_init(struct mxc4005_data *data)
377 ret = regmap_read(data->regmap, MXC4005_REG_DEVICE_ID, &reg);
379 dev_err(data->dev, "failed to read chip id\n");
383 dev_dbg(data->dev, "MXC4005 chip id %02x\n", reg);
390 struct mxc4005_data *data;
395 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
405 data = iio_priv(indio_dev);
407 data->dev = &client->dev;
408 data->regmap = regmap;
410 ret = mxc4005_chip_init(data);
416 mutex_init(&data->mutex);
436 data->dready_trig = devm_iio_trigger_alloc(&client->dev,
440 if (!data->dready_trig)
449 data->dready_trig);
456 data->dready_trig->ops = &mxc4005_trigger_ops;
457 iio_trigger_set_drvdata(data->dready_trig, indio_dev);
459 data->dready_trig);
466 indio_dev->trig = iio_trigger_get(data->dready_trig);