]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PM / Domains: Implement subdomain counters as atomic fields
authorRafael J. Wysocki <rjw@sisk.pl>
Mon, 8 Aug 2011 21:43:04 +0000 (23:43 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Mon, 8 Aug 2011 21:43:04 +0000 (23:43 +0200)
commit0f27ecf3392f93c31b38fd5a28fd3ceafa61a102
treece1d44bd1b2d291b8f7871de26fde5172e109794
parent2f84dd70916ccadd25e94d28363182a978f569b6
PM / Domains: Implement subdomain counters as atomic fields

Currently, pm_genpd_poweron() and pm_genpd_poweroff() need to take
the parent PM domain's lock in order to modify the parent's counter
of active subdomains in a nonracy way.  This causes the locking to be
considerably complex and in fact is not necessary, because the
subdomain counters may be implemented as atomic fields and they
won't have to be modified under a lock.

Replace the unsigned in sd_count field in struct generic_pm_domain
by an atomic_t one and modify the code in drivers/base/power/domain.c
to take this change into account.

This patch doesn't change the locking yet, that is going to be done
in a separate subsequent patch.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
drivers/base/power/domain.c
include/linux/pm_domain.h