2007-08-26 14:08:47

by Jiri Slaby

[permalink] [raw]
Subject: [PATCH 1/1] remove BITS_TO_TYPE macro

remove BITS_TO_TYPE macro

I realized, that it is actually the same as DIV_ROUND_UP, use it instead.

Signed-off-by: Jiri Slaby <[email protected]>

---
commit c1b003cd9e5befbc3d915a9e37f46585127f9d1f
tree d800859baebde3f7fcb001801d32c528c4240250
parent 5a28a23f3c53993aaf6e7ef6c392e5f4c20d4a3b
author Jiri Slaby <[email protected]> Sun, 26 Aug 2007 15:50:39 +0200
committer Jiri Slaby <[email protected]> Sun, 26 Aug 2007 15:50:39 +0200

include/linux/bitops.h | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index a57b81f..8b5ecf8 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -6,8 +6,7 @@
#define BIT(nr) (1UL << (nr))
#define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
#define BIT_WORD(nr) ((nr) / BITS_PER_LONG)
-#define BITS_TO_TYPE(nr, t) (((nr)+(t)-1)/(t))
-#define BITS_TO_LONGS(nr) BITS_TO_TYPE(nr, BITS_PER_LONG)
+#define BITS_TO_LONGS(nr) DIV_ROUND_UP(nr, BITS_PER_LONG)
#define BITS_PER_BYTE 8
#endif


2007-08-26 16:05:36

by Robert P. J. Day

[permalink] [raw]
Subject: Re: [PATCH 1/1] remove BITS_TO_TYPE macro

On Sun, 26 Aug 2007, Jiri Slaby wrote:

> remove BITS_TO_TYPE macro
>
> I realized, that it is actually the same as DIV_ROUND_UP, use it instead.

unless there are some patches in the queue, the whole area of rounding
up and aligning is still sort of messy.

kernel.h defines the following:

...
#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
...
#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
...

yet there is no corresponding DIV_ROUND_DOWN() or rounddown(), just
for the sake of consistency. (maybe there's simply no need?)

would someone like to propose a single, consistent standard for those
things? or is it not worth it?

rday
--
========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry
Waterloo, Ontario, CANADA

http://crashcourse.ca
========================================================================