Lines Matching defs:data
54 struct vl53l0x_data *data = iio_priv(indio_dev);
56 complete(&data->completion);
65 struct vl53l0x_data *data = iio_priv(indio_dev);
78 ret = i2c_smbus_write_byte_data(data->client,
87 static void vl53l0x_clear_irq(struct vl53l0x_data *data)
89 struct device *dev = &data->client->dev;
92 ret = i2c_smbus_write_byte_data(data->client,
97 ret = i2c_smbus_write_byte_data(data->client,
102 ret = i2c_smbus_read_byte_data(data->client, VL_REG_RESULT_INT_STATUS);
107 static int vl53l0x_read_proximity(struct vl53l0x_data *data,
111 struct i2c_client *client = data->client;
121 if (data->client->irq) {
122 reinit_completion(&data->completion);
124 time_left = wait_for_completion_timeout(&data->completion, HZ/10);
128 vl53l0x_clear_irq(data);
170 struct vl53l0x_data *data = iio_priv(indio_dev);
178 ret = vl53l0x_read_proximity(data, chan, val);
199 struct vl53l0x_data *data = _data;
201 gpiod_set_value_cansleep(data->reset_gpio, 1);
203 regulator_disable(data->vdd_supply);
206 static int vl53l0x_power_on(struct vl53l0x_data *data)
210 ret = regulator_enable(data->vdd_supply);
214 gpiod_set_value_cansleep(data->reset_gpio, 0);
223 struct vl53l0x_data *data;
227 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
231 data = iio_priv(indio_dev);
232 data->client = client;
240 data->vdd_supply = devm_regulator_get(&client->dev, "vdd");
241 if (IS_ERR(data->vdd_supply))
242 return dev_err_probe(&client->dev, PTR_ERR(data->vdd_supply),
245 data->reset_gpio = devm_gpiod_get_optional(&client->dev, "reset", GPIOD_OUT_HIGH);
246 if (IS_ERR(data->reset_gpio))
247 return dev_err_probe(&client->dev, PTR_ERR(data->reset_gpio),
250 error = vl53l0x_power_on(data);
255 error = devm_add_action_or_reset(&client->dev, vl53l0x_power_off, data);
270 init_completion(&data->completion);