summaryrefslogtreecommitdiff
path: root/include/linux/kernel.h
diff options
context:
space:
mode:
authorJames Simmons <jsimmons@infradead.org>2012-11-14 18:15:32 +0000
committerJames Simmons <jsimmons@infradead.org>2012-11-14 18:15:32 +0000
commitb44959f2817032bc4668434bbe1cf9ab28b8cb21 (patch)
treede3bd861b36c836ac9b7b6e8dc179ca1985b6593 /include/linux/kernel.h
parente22956a2faa9cf34cec4a471131d50c6be75b0c2 (diff)
parent2216c9e74fb3baac3cb73952158dbe38b703997e (diff)
Merge branch 'drm-core-next'HEADmaster
Conflicts: drivers/gpu/drm/tdfx/tdfx_drv.c
Diffstat (limited to 'include/linux/kernel.h')
-rw-r--r--include/linux/kernel.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index e07f5e0c5df..2451f1f7a1d 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -82,10 +82,18 @@
__x - (__x % (y)); \
} \
)
+
+/*
+ * Divide positive or negative dividend by positive divisor and round
+ * to closest integer. Result is undefined for negative divisors.
+ */
#define DIV_ROUND_CLOSEST(x, divisor)( \
{ \
- typeof(divisor) __divisor = divisor; \
- (((x) + ((__divisor) / 2)) / (__divisor)); \
+ typeof(x) __x = x; \
+ typeof(divisor) __d = divisor; \
+ (((typeof(x))-1) > 0 || (__x) > 0) ? \
+ (((__x) + ((__d) / 2)) / (__d)) : \
+ (((__x) - ((__d) / 2)) / (__d)); \
} \
)
@@ -377,7 +385,6 @@ extern enum system_states {
SYSTEM_HALT,
SYSTEM_POWER_OFF,
SYSTEM_RESTART,
- SYSTEM_SUSPEND_DISK,
} system_state;
#define TAINT_PROPRIETARY_MODULE 0