Lines Matching refs:ov5647
36 #define SENSOR_NAME "ov5647"
80 struct ov5647 {
91 static inline struct ov5647 *to_state(struct v4l2_subdev *sd)
93 return container_of(sd, struct ov5647, sd);
350 struct ov5647 *ov5647 = to_state(sd);
353 mutex_lock(&ov5647->lock);
355 if (on && !ov5647->power_count) {
358 ret = clk_prepare_enable(ov5647->xclk);
367 clk_disable_unprepare(ov5647->xclk);
375 clk_disable_unprepare(ov5647->xclk);
380 } else if (!on && ov5647->power_count == 1) {
394 clk_disable_unprepare(ov5647->xclk);
398 ov5647->power_count += on ? 1 : -1;
399 WARN_ON(ov5647->power_count < 0);
402 mutex_unlock(&ov5647->lock);
553 struct ov5647 *sensor;
617 struct ov5647 *ov5647 = to_state(sd);
619 v4l2_async_unregister_subdev(&ov5647->sd);
620 media_entity_cleanup(&ov5647->sd.entity);
622 mutex_destroy(&ov5647->lock);
628 { "ov5647", 0 },
635 { .compatible = "ovti,ov5647" },
654 MODULE_DESCRIPTION("A low-level driver for OmniVision ov5647 sensors");