On Tue, May 26, 2020 at 05:19:07PM +0200, Rafael J. Wysocki wrote: > On Tue, May 26, 2020 at 5:07 PM Krzysztof Wilczyński <kw@xxxxxxxxx> wrote: > > > > Hello Greg, > > > > [...] > > > It's "interesting" how using your new helper doesn't actually make the > > > code smaller. Perhaps it isn't a good helper function? > > > > The idea for the helper was inspired by the comment Dan made to Bjorn > > about Bjorn's change, as per: > > > > https://lore.kernel.org/driverdev-devel/20191016135002.GA24678@kadam/ > > > > It looked like a good idea to try to reduce the following: > > > > dev->driver && dev->driver->pm && dev->driver->pm->prepare > > > > Into something more succinct. Albeit, given the feedback from yourself > > and Rafael, I gather that this helper is not really a good addition. > > IMO it could be used for reducing code duplication like you did in the > PCI code, but not necessarily in the other places where the code in > question is not exactly duplicated. The code could be a little more succinct, although it wouldn't fit every usage. For example, #define pm_do_callback(dev, method) \ (dev->driver && dev->driver->pm && dev->driver->pm->callback ? \ dev->driver->pm->callback(dev) : 0) Then the usage is something like: ret = pm_do_callback(dev, prepare); Would this be an overall improvement? Alan Stern