diff mbox

[BUG,FIX] PM / cpu_domains: Check for NULL callbacks

Message ID 1455816573-43849-1-git-send-email-lina.iyer@linaro.org
State Superseded
Headers show

Commit Message

Lina Iyer Feb. 18, 2016, 5:29 p.m. UTC
Check for NULL platform callback before calling.

Signed-off-by: Lina Iyer <lina.iyer@linaro.org>

---
 drivers/base/power/cpu_domains.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Lina Iyer Feb. 18, 2016, 10:51 p.m. UTC | #1
On Thu, Feb 18 2016 at 10:46 -0700, Rafael J. Wysocki wrote:
>On Thu, Feb 18, 2016 at 6:29 PM, Lina Iyer <lina.iyer@linaro.org> wrote:

>> Check for NULL platform callback before calling.

>>

>> Signed-off-by: Lina Iyer <lina.iyer@linaro.org>

>> ---

>>  drivers/base/power/cpu_domains.c | 10 ++++++++--

>>  1 file changed, 8 insertions(+), 2 deletions(-)

>>

>> diff --git a/drivers/base/power/cpu_domains.c b/drivers/base/power/cpu_domains.c

>> index 7069411..bcaa474 100644

>> --- a/drivers/base/power/cpu_domains.c

>> +++ b/drivers/base/power/cpu_domains.c

>> @@ -157,16 +157,22 @@ static int cpu_pd_power_on(struct generic_pm_domain *genpd)

>>  {

>>         struct cpu_pm_domain *pd = to_cpu_pd(genpd);

>>

>> -       return pd->ops.power_on();

>> +       if (pd->ops.power_on)

>> +               return pd->ops.power_on();

>> +

>> +       return 0;

>>  }

>

>I usually write things like that as

>

>return pd->ops.power_on ? pd->ops.power_on() : 0;

>

>That gets the job done in just one line of code instead of 4 and in

>one statement instead of 3.

>

Sure. Thanks. Will roll this in with the next submission.

Thanks,
Lina
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/base/power/cpu_domains.c b/drivers/base/power/cpu_domains.c
index 7069411..bcaa474 100644
--- a/drivers/base/power/cpu_domains.c
+++ b/drivers/base/power/cpu_domains.c
@@ -157,16 +157,22 @@  static int cpu_pd_power_on(struct generic_pm_domain *genpd)
 {
 	struct cpu_pm_domain *pd = to_cpu_pd(genpd);
 
-	return pd->ops.power_on();
+	if (pd->ops.power_on)
+		return pd->ops.power_on();
+
+	return 0;
 }
 
 static int cpu_pd_power_off(struct generic_pm_domain *genpd)
 {
 	struct cpu_pm_domain *pd = to_cpu_pd(genpd);
 
-	return pd->ops.power_off(genpd->state_idx,
+	if (pd->ops.power_off)
+		return pd->ops.power_off(genpd->state_idx,
 			genpd->states[genpd->state_idx].param,
 			pd->cpus);
+
+	return 0;
 }
 
 /**