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@linux.com 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