Hi Hans, On Mon, Jan 30, 2017 at 03:06:16PM +0100, Hans Verkuil wrote: > @@ -1549,6 +1551,29 @@ static const struct ov7670_devtype ov7670_devdata[] = { > }, > }; > > +static int ov7670_init_gpio(struct i2c_client *client, struct ov7670_info *info) > +{ > + /* Request the power down GPIO asserted */ You're setting both GPIOs to low state. How about just removing the comments? I think they're just confusing. > + info->pwdn_gpio = devm_gpiod_get_optional(&client->dev, "pwdn", > + GPIOD_OUT_LOW); > + if (IS_ERR(info->pwdn_gpio)) { > + dev_info(&client->dev, "can't get %s GPIO\n", "pwdn"); > + return PTR_ERR(info->pwdn_gpio); > + } > + > + /* Request the reset GPIO deasserted */ > + info->resetb_gpio = devm_gpiod_get_optional(&client->dev, "resetb", > + GPIOD_OUT_LOW); > + if (IS_ERR(info->resetb_gpio)) { > + dev_info(&client->dev, "can't get %s GPIO\n", "resetb"); > + return PTR_ERR(info->resetb_gpio); > + } > + > + usleep_range(3000, 5000); > + > + return 0; > +} > + > static int ov7670_probe(struct i2c_client *client, > const struct i2c_device_id *id) > { -- Regards, Sakari Ailus e-mail: sakari.ailus@xxxxxx XMPP: sailus@xxxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html