Lines Matching refs:dw9807_dev
158 static void dw9807_subdev_cleanup(struct dw9807_device *dw9807_dev)
160 v4l2_async_unregister_subdev(&dw9807_dev->sd);
161 v4l2_ctrl_handler_free(&dw9807_dev->ctrls_vcm);
162 media_entity_cleanup(&dw9807_dev->sd.entity);
188 struct dw9807_device *dw9807_dev;
191 dw9807_dev = devm_kzalloc(&client->dev, sizeof(*dw9807_dev),
193 if (dw9807_dev == NULL)
196 v4l2_i2c_subdev_init(&dw9807_dev->sd, client, &dw9807_ops);
197 dw9807_dev->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
198 dw9807_dev->sd.internal_ops = &dw9807_int_ops;
200 rval = dw9807_init_controls(dw9807_dev);
204 rval = media_entity_pads_init(&dw9807_dev->sd.entity, 0, NULL);
208 dw9807_dev->sd.entity.function = MEDIA_ENT_F_LENS;
210 rval = v4l2_async_register_subdev(&dw9807_dev->sd);
221 v4l2_ctrl_handler_free(&dw9807_dev->ctrls_vcm);
222 media_entity_cleanup(&dw9807_dev->sd.entity);
230 struct dw9807_device *dw9807_dev = sd_to_dw9807_vcm(sd);
234 dw9807_subdev_cleanup(dw9807_dev);
248 struct dw9807_device *dw9807_dev = sd_to_dw9807_vcm(sd);
252 for (val = dw9807_dev->current_val & ~(DW9807_CTRL_STEPS - 1);
280 struct dw9807_device *dw9807_dev = sd_to_dw9807_vcm(sd);
291 for (val = dw9807_dev->current_val % DW9807_CTRL_STEPS;
292 val < dw9807_dev->current_val + DW9807_CTRL_STEPS - 1;