Lines Matching defs: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 int 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");
336 struct mxc4005_data *data = iio_priv(indio_dev);
339 mutex_lock(&data->mutex);
341 ret = regmap_write(data->regmap, MXC4005_REG_INT_MASK1,
344 ret = regmap_write(data->regmap, MXC4005_REG_INT_MASK1,
349 mutex_unlock(&data->mutex);
350 dev_err(data->dev, "failed to update reg_int_mask1");
354 data->trigger_enabled = state;
355 mutex_unlock(&data->mutex);
363 struct mxc4005_data *data = iio_priv(indio_dev);
365 if (!data->dready_trig)
368 return mxc4005_clr_intr(data);
376 static int mxc4005_chip_init(struct mxc4005_data *data)
381 ret = regmap_read(data->regmap, MXC4005_REG_DEVICE_ID, &reg);
383 dev_err(data->dev, "failed to read chip id\n");
387 dev_dbg(data->dev, "MXC4005 chip id %02x\n", reg);
395 struct mxc4005_data *data;
400 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
410 data = iio_priv(indio_dev);
412 data->dev = &client->dev;
413 data->regmap = regmap;
415 ret = mxc4005_chip_init(data);
421 mutex_init(&data->mutex);
441 data->dready_trig = devm_iio_trigger_alloc(&client->dev,
445 if (!data->dready_trig)
454 data->dready_trig);
461 data->dready_trig->dev.parent = &client->dev;
462 data->dready_trig->ops = &mxc4005_trigger_ops;
463 iio_trigger_set_drvdata(data->dready_trig, indio_dev);
465 data->dready_trig);
472 indio_dev->trig = iio_trigger_get(data->dready_trig);