summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorFabio Estevam <festevam@gmail.com>2019-06-28 07:00:34 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-10-05 12:47:46 +0200
commitb2f78ea25ee04a856b7d4112d3735ac30c746551 (patch)
treecf15097c8edcc2eb87a4b6529f4f0b4b93ecf5ad /drivers/media
parent9fa3e0882a65d4685e4e13bfca2fe9e33cb657e9 (diff)
media: i2c: ov5640: Check for devm_gpiod_get_optional() error
[ Upstream commit 8791a102ce579346cea9d2f911afef1c1985213c ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/i2c/ov5640.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c
index acf5c8a55bbd..69f564b0837a 100644
--- a/drivers/media/i2c/ov5640.c
+++ b/drivers/media/i2c/ov5640.c
@@ -2261,9 +2261,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);