• Rafael J. Wysocki's avatar
    PM / Domains: Implement subdomain counters as atomic fields · c4bb3160
    Rafael J. Wysocki authored
    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: default avatarRafael J. Wysocki <rjw@sisk.pl>
    c4bb3160
domain.c 31.4 KB