[PATCH] PM: runtime: Simplify __rpm_get_callback()

From: Bjorn Helgaas
Date: Thu Dec 15 2022 - 13:19:17 EST


From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>

Simplify __rpm_get_callback() slightly by returning as soon as the return
value is known. No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
---
drivers/base/power/runtime.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index 50e726b6c2cf..7171ed0668f3 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -20,8 +20,7 @@ typedef int (*pm_callback_t)(struct device *);

static pm_callback_t __rpm_get_callback(struct device *dev, size_t cb_offset)
{
- pm_callback_t cb;
- const struct dev_pm_ops *ops;
+ const struct dev_pm_ops *ops = NULL;

if (dev->pm_domain)
ops = &dev->pm_domain->ops;
@@ -31,18 +30,14 @@ static pm_callback_t __rpm_get_callback(struct device *dev, size_t cb_offset)
ops = dev->class->pm;
else if (dev->bus && dev->bus->pm)
ops = dev->bus->pm;
- else
- ops = NULL;

if (ops)
- cb = *(pm_callback_t *)((void *)ops + cb_offset);
- else
- cb = NULL;
+ return *(pm_callback_t *)((void *)ops + cb_offset);

- if (!cb && dev->driver && dev->driver->pm)
- cb = *(pm_callback_t *)((void *)dev->driver->pm + cb_offset);
+ if (dev->driver && dev->driver->pm)
+ return *(pm_callback_t *)((void *)dev->driver->pm + cb_offset);

- return cb;
+ return NULL;
}

#define RPM_GET_CALLBACK(dev, callback) \
--
2.25.1