Skip to content

Commit

Permalink
PM: domains: Fix build error for genpd notifiers
Browse files Browse the repository at this point in the history
The __raw_notifier_call_chain() was recently removed and replaced with
raw_notifier_call_chain_robust(). Recent changes to genpd didn't take that
into account, which causes a build error. Let's fix this by converting to
the raw_notifier_call_chain_robust() in genpd.

Reported-by: kernel test robot <[email protected]>
Reported-by: Lina Iyer <[email protected]>
Signed-off-by: Ulf Hansson <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
  • Loading branch information
storulf authored and rafaeljw committed Oct 20, 2020
1 parent c6a113b commit 330e393
Showing 1 changed file with 11 additions and 14 deletions.
25 changes: 11 additions & 14 deletions drivers/base/power/domain.c
Original file line number Diff line number Diff line change
Expand Up @@ -413,15 +413,15 @@ static int _genpd_power_on(struct generic_pm_domain *genpd, bool timed)
unsigned int state_idx = genpd->state_idx;
ktime_t time_start;
s64 elapsed_ns;
int ret, nr_calls = 0;
int ret;

/* Notify consumers that we are about to power on. */
ret = __raw_notifier_call_chain(&genpd->power_notifiers,
GENPD_NOTIFY_PRE_ON, NULL, -1,
&nr_calls);
ret = raw_notifier_call_chain_robust(&genpd->power_notifiers,
GENPD_NOTIFY_PRE_ON,
GENPD_NOTIFY_OFF, NULL);
ret = notifier_to_errno(ret);
if (ret)
goto err;
return ret;

if (!genpd->power_on)
goto out;
Expand Down Expand Up @@ -462,15 +462,15 @@ static int _genpd_power_off(struct generic_pm_domain *genpd, bool timed)
unsigned int state_idx = genpd->state_idx;
ktime_t time_start;
s64 elapsed_ns;
int ret, nr_calls = 0;
int ret;

/* Notify consumers that we are about to power off. */
ret = __raw_notifier_call_chain(&genpd->power_notifiers,
GENPD_NOTIFY_PRE_OFF, NULL, -1,
&nr_calls);
ret = raw_notifier_call_chain_robust(&genpd->power_notifiers,
GENPD_NOTIFY_PRE_OFF,
GENPD_NOTIFY_ON, NULL);
ret = notifier_to_errno(ret);
if (ret)
goto busy;
return ret;

if (!genpd->power_off)
goto out;
Expand Down Expand Up @@ -502,10 +502,7 @@ static int _genpd_power_off(struct generic_pm_domain *genpd, bool timed)
NULL);
return 0;
busy:
if (nr_calls)
__raw_notifier_call_chain(&genpd->power_notifiers,
GENPD_NOTIFY_ON, NULL, nr_calls - 1,
NULL);
raw_notifier_call_chain(&genpd->power_notifiers, GENPD_NOTIFY_ON, NULL);
return ret;
}

Expand Down

0 comments on commit 330e393

Please sign in to comment.