From 8334ade61726f3d6677d08cea2fb76dab679559d Mon Sep 17 00:00:00 2001 From: Yiqing Zeng Date: Wed, 23 Nov 2022 17:29:54 +0800 Subject: [PATCH] media: i2c: sc3336 reset/pwd gpio should set low output by default for normal case Signed-off-by: Yiqing Zeng Change-Id: I026cc9b6026d3641df861d60111d08369097fd59 --- drivers/media/i2c/sc3336.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/sc3336.c b/drivers/media/i2c/sc3336.c index dfa19cf941ea..95003092601e 100644 --- a/drivers/media/i2c/sc3336.c +++ b/drivers/media/i2c/sc3336.c @@ -1582,11 +1582,17 @@ static int sc3336_probe(struct i2c_client *client, return -EINVAL; } - sc3336->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_ASIS); + if (!sc3336->is_thunderboot) + sc3336->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); + else + sc3336->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_ASIS); if (IS_ERR(sc3336->reset_gpio)) dev_warn(dev, "Failed to get reset-gpios\n"); - sc3336->pwdn_gpio = devm_gpiod_get(dev, "pwdn", GPIOD_ASIS); + if (!sc3336->is_thunderboot) + sc3336->pwdn_gpio = devm_gpiod_get(dev, "pwdn", GPIOD_OUT_LOW); + else + sc3336->pwdn_gpio = devm_gpiod_get(dev, "pwdn", GPIOD_ASIS); if (IS_ERR(sc3336->pwdn_gpio)) dev_warn(dev, "Failed to get pwdn-gpios\n");