Messages in this thread | | | From | Linus Walleij <> | Date | Fri, 30 Nov 2018 10:07:42 +0100 | Subject | Re: [PATCH 08/10] regulator: max77686: Let core handle GPIO descriptor |
| |
On Wed, Nov 28, 2018 at 4:24 PM Charles Keepax <ckeepax@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
| |