On Wed, Nov 28, 2018 at 4:24 PM Charles Keepax <ckee...@opensource.cirrus.com> wrote: > On Wed, Nov 28, 2018 at 11:43:48AM +0100, Linus Walleij wrote:
> > @@ -255,8 +255,7 @@ static int max77686_of_parse_cb(struct device_node *np, (...) > > + config->ena_gpiod = gpiod_get_from_of_node(np, > > As this is inside the of_parse_cb, it probably needs some thought > on where the GPIO would need to be freed on which error paths, I > am not sure it is immediately obvious to me but I suspect it will > need to be freed in some cases. I looked it over and came up with a patch making sure that if the regulator_of_get_init_data() assigns config->ena_gpiod it gets freed unless handled over to the regulator core. Thanks for pointing this out, it was a tricky corner case! Yours, Linus Walleij