On Wed, Nov 11, 2020 at 5:02 PM Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > > On Tue, Nov 10, 2020 at 11:42 AM Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > > > > From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx> > > > > If all we want to manage is a single pointer, there's no need to > > manually allocate and add a new devres. We can simply use > > devm_add_action_or_reset() and shrink the code by a good bit. > > Yes, it is possible to convert all one-function-based devm_*() > wrappers to use this approach. > > The problem is, it will call the release() function on error which is > new (and probably undesired) behaviour. > I suppose you meant devm_add_action() here. Ah, now it seems I got it. You need to release the chip in case if devm_add_action() fail. Dunno if devm_add_action() can somehow change the logic to be clearer here... -- With Best Regards, Andy Shevchenko