All of lore.kernel.org
 help / color / mirror / Atom feed
* [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do
@ 2008-11-11  1:01 ` Darrick J. Wong
  0 siblings, 0 replies; 32+ messages in thread
From: Darrick J. Wong @ 2008-11-11  1:01 UTC (permalink / raw)
  To: Darrick J. Wong, Jean Delvare; +Cc: Andrew Morton, linux-kernel, lm-sensors


Create a helper macro to divide two numbers and round the result to the
nearest whole number.  This is a helper macro for hwmon drivers that
want to convert incoming sysfs values per standard hwmon practice, though
the macro itself can be used by anyone.

Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
---

 include/linux/kernel.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index fba141d..fb02266 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -48,6 +48,12 @@ extern const char linux_proc_banner[];
 #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))
 #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
 #define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
+#define DIV_ROUND_CLOSEST(x, divisor)(			\
+{							\
+	typeof(divisor) __divisor = divisor;		\
+	(((x) + ((__divisor) / 2)) / (__divisor));	\
+}							\
+)
 
 #define _RET_IP_		(unsigned long)__builtin_return_address(0)
 #define _THIS_IP_  ({ __label__ __here; __here: (unsigned long)&&__here; })


_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

^ permalink raw reply related	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2009-08-03 12:27 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-11  1:01 [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Darrick J. Wong
2008-11-11  1:01 ` [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Darrick J. Wong
2008-11-11  1:01 ` [lm-sensors] [PATCH 2/2] adt74{62, 70, Darrick J. Wong
2008-11-11  1:01   ` [PATCH 2/2] adt74{62, 70, 73}: Use DIV_ROUND_CLOSEST for rounded division Darrick J. Wong
2008-11-11 10:04 ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Jean Delvare
2008-11-11 10:04   ` [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Jean Delvare
2008-11-11 17:07   ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Andrew Morton
2008-11-11 17:07     ` [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Andrew Morton
2008-11-11 17:11     ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Jean Delvare
2008-11-11 17:11       ` [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Jean Delvare
2008-11-11 18:51     ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Joe Perches
2008-11-11 18:51       ` [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Joe Perches
2008-11-11 23:05 ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Trent Piepho
2008-11-11 23:05   ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Trent Piepho
2008-11-11 23:20   ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Andrew Morton
2008-11-11 23:20     ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Andrew Morton
2008-11-11 23:42     ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Trent Piepho
2008-11-11 23:42       ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Trent Piepho
2008-11-12  0:08       ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Andrew Morton
2008-11-12  0:08         ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Andrew Morton
2008-11-14 21:46         ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Trent Piepho
2008-11-14 21:46           ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Trent Piepho
2008-11-14 22:24           ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Andrew Morton
2008-11-14 22:24             ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Andrew Morton
2008-11-11 23:50     ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Jochen Voß
2008-11-11 23:50       ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Jochen Voß
2009-08-03 11:57 ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Peter Zijlstra
2009-08-03 11:57   ` [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Peter Zijlstra
2009-08-03 12:21   ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Jean Delvare
2009-08-03 12:21     ` [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Jean Delvare
2009-08-03 12:27     ` [lm-sensors] [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do Peter Zijlstra
2009-08-03 12:27       ` [PATCH 1/2] Create a DIV_ROUND_CLOSEST macro to do division with rounding Peter Zijlstra

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.