OSDN Git Service

media: i2c: st-vgxy61: Move 'detect' call to 'power_on'
authorBenjamin Mugnier <benjamin.mugnier@foss.st.com>
Wed, 1 Feb 2023 14:04:15 +0000 (15:04 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sun, 19 Mar 2023 23:36:05 +0000 (00:36 +0100)
Previously the device detection was performed after patching.
Move it right after the reset to make sure we have the correct sensor
before trying to patch it.

Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/i2c/st-vgxy61.c

index 9c0284f..60f7974 100644 (file)
@@ -1734,6 +1734,12 @@ static int vgxy61_power_on(struct device *dev)
                }
        }
 
+       ret = vgxy61_detect(sensor);
+       if (ret) {
+               dev_err(&client->dev, "sensor detect failed %d\n", ret);
+               goto disable_clock;
+       }
+
        ret = vgxy61_patch(sensor);
        if (ret) {
                dev_err(&client->dev, "sensor patch failed %d\n", ret);
@@ -1860,12 +1866,6 @@ static int vgxy61_probe(struct i2c_client *client)
        if (ret)
                return ret;
 
-       ret = vgxy61_detect(sensor);
-       if (ret) {
-               dev_err(&client->dev, "sensor detect failed %d\n", ret);
-               return ret;
-       }
-
        vgxy61_fill_sensor_param(sensor);
        vgxy61_fill_framefmt(sensor, sensor->current_mode, &sensor->fmt,
                             VGXY61_MEDIA_BUS_FMT_DEF);