]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: i2c: ov5640: Check for devm_gpiod_get_optional() error
authorFabio Estevam <festevam@gmail.com>
Fri, 28 Jun 2019 11:00:34 +0000 (07:00 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 25 Jul 2019 10:36:53 +0000 (06:36 -0400)
The power down and reset GPIO are optional, but the return value
from devm_gpiod_get_optional() needs to be checked and propagated
in the case of error, so that probe deferral can work.

Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/i2c/ov5640.c

index 759d60c6d6304b9e894c84839925efad7b3d56fc..afe7920557a8fad5b4c4b3d8beeeae460099417d 100644 (file)
@@ -3022,9 +3022,14 @@ static int ov5640_probe(struct i2c_client *client,
        /* request optional power down pin */
        sensor->pwdn_gpio = devm_gpiod_get_optional(dev, "powerdown",
                                                    GPIOD_OUT_HIGH);
+       if (IS_ERR(sensor->pwdn_gpio))
+               return PTR_ERR(sensor->pwdn_gpio);
+
        /* request optional reset pin */
        sensor->reset_gpio = devm_gpiod_get_optional(dev, "reset",
                                                     GPIOD_OUT_HIGH);
+       if (IS_ERR(sensor->reset_gpio))
+               return PTR_ERR(sensor->reset_gpio);
 
        v4l2_i2c_subdev_init(&sensor->sd, client, &ov5640_subdev_ops);