]> 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>
Sun, 14 Aug 2011 11:35:02 +0000 (13:35 +0200)
commit9600dd2a24d12e77e776ded5fa872cc6dd4c9765
tree1f1fd50d3010cb0924de42cd9347e72f290a733f
parent17f2ae7f677f023997e02fd2ebabd90ea2a0390d
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