Lines Matching refs:data

35 static int mpl115_request(struct mpl115_data *data)
37 int ret = data->ops->write(data->dev, MPL115_CONVERT, 0);
47 static int mpl115_comp_pressure(struct mpl115_data *data, int *val, int *val2)
54 mutex_lock(&data->lock);
55 ret = mpl115_request(data);
59 ret = data->ops->read(data->dev, MPL115_PADC);
64 ret = data->ops->read(data->dev, MPL115_TADC);
70 a1 = data->b1 + ((data->c12 * tadc) >> 11);
71 y1 = (data->a0 << 10) + a1 * padc;
74 pcomp = (y1 + ((data->b2 * (int) tadc) >> 1)) >> 9;
80 mutex_unlock(&data->lock);
84 static int mpl115_read_temp(struct mpl115_data *data)
88 mutex_lock(&data->lock);
89 ret = mpl115_request(data);
92 ret = data->ops->read(data->dev, MPL115_TADC);
94 mutex_unlock(&data->lock);
102 struct mpl115_data *data = iio_priv(indio_dev);
107 pm_runtime_get_sync(data->dev);
108 ret = mpl115_comp_pressure(data, val, val2);
111 pm_runtime_mark_last_busy(data->dev);
112 pm_runtime_put_autosuspend(data->dev);
116 pm_runtime_get_sync(data->dev);
118 ret = mpl115_read_temp(data);
121 pm_runtime_mark_last_busy(data->dev);
122 pm_runtime_put_autosuspend(data->dev);
158 struct mpl115_data *data;
162 indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
166 data = iio_priv(indio_dev);
167 data->dev = dev;
168 data->ops = ops;
169 mutex_init(&data->lock);
177 ret = data->ops->init(data->dev);
183 ret = data->ops->read(data->dev, MPL115_A0);
186 data->a0 = ret;
187 ret = data->ops->read(data->dev, MPL115_B1);
190 data->b1 = ret;
191 ret = data->ops->read(data->dev, MPL115_B2);
194 data->b2 = ret;
195 ret = data->ops->read(data->dev, MPL115_C12);
198 data->c12 = ret;
200 data->shutdown = devm_gpiod_get_optional(dev, "shutdown",
202 if (IS_ERR(data->shutdown))
203 return dev_err_probe(dev, PTR_ERR(data->shutdown),
206 if (data->shutdown) {
232 struct mpl115_data *data = iio_priv(dev_get_drvdata(dev));
234 gpiod_set_value(data->shutdown, 1);
241 struct mpl115_data *data = iio_priv(dev_get_drvdata(dev));
243 gpiod_set_value(data->shutdown, 0);