On Wed, 11 Sep 2019 13:48:36 -0500 Dan Murphy <dmurphy@xxxxxx> wrote: > >> @@ -535,6 +538,13 @@ static int lm3630a_probe(struct i2c_client *client, > >> } > >> pchip->pdata = pdata; > >> > >> + pchip->enable_gpio = devm_gpiod_get_optional(&client->dev, "enable", > >> + GPIOD_OUT_HIGH); > >> + if (IS_ERR(pchip->enable_gpio)) { > >> + rval = PTR_ERR(pchip->enable_gpio); > >> + return rval; > > the enable gpio is optional so if it fails you log the error and move on > well, if the gpio is not there, then it returns NULL. It might return e.g. -EDEFER. So I need to check for errors here. > Also on driver removal did you want to set the GPIO to low to disable > the device to save power? > page 5 of the datasheet says: Ishdn = Typ. 1µA max. 4µA. For HWEN=Vin, I2c shutdown (I guess this means outputs powered off) ond for HWEN=GND. So are we really saving something here? Regards, Andreas