Re: [PATCHv4 04/11] PM: Use *_dec_not_zero instead of *_add_unless
From: Pavel Machek <hidden>
Date: 2011-07-27 20:36:11
Also in:
lkml
Hi!
quoted
atomic_dec_not_zero is defined for each architecture through <linux/atomic.h> to provide the functionality of atomic_add_unless(x, -1, 0). Signed-off-by: Sven Eckelmann <sven@narfation.org> Cc: Len Brown <redacted> Cc: Pavel Machek <redacted> Cc: Rafael J. Wysocki <redacted> Cc: linux-pm@lists.linux-foundation.orgAcked-by: Rafael J. Wysocki <redacted>quoted
--- drivers/base/power/runtime.c | 4 ++-- include/linux/pm_runtime.h | 2 +- kernel/power/hibernate.c | 4 ++-- kernel/power/user.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-)diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c index 8dc247c..bda10d9 100644 --- a/drivers/base/power/runtime.c +++ b/drivers/base/power/runtime.c@@ -401,7 +401,7 @@ static int rpm_suspend(struct device *dev, int rpmflags) if (dev->parent) { parent = dev->parent; - atomic_add_unless(&parent->power.child_count, -1, 0); + atomic_dec_not_zero(&parent->power.child_count);
I'd like to understand... Why not atomic_dec in the first place? Count should be exact, anyway, or we run into problems, right? -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html