* [PATCH] PTR_ALIGN
@ 2007-08-23 11:47 Matthew Wilcox
2007-09-10 8:03 ` Andrew Morton
0 siblings, 1 reply; 2+ messages in thread
From: Matthew Wilcox @ 2007-08-23 11:47 UTC (permalink / raw)
To: linux-kernel
The AdvanSys driver wants to align some pointers, and the ALIGN macro
doesn't work for pointers. Rather than try to make it work, add a new
PTR_ALIGN macro which is typesafe.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index f592df7..47160fe 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -34,6 +34,7 @@ extern const char linux_proc_banner[];
#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
+#define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a)))
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
--
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] PTR_ALIGN
2007-08-23 11:47 [PATCH] PTR_ALIGN Matthew Wilcox
@ 2007-09-10 8:03 ` Andrew Morton
0 siblings, 0 replies; 2+ messages in thread
From: Andrew Morton @ 2007-09-10 8:03 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-kernel
On Thu, 23 Aug 2007 05:47:03 -0600 Matthew Wilcox <matthew@wil.cx> wrote:
>
> The AdvanSys driver wants to align some pointers, and the ALIGN macro
> doesn't work for pointers. Rather than try to make it work, add a new
> PTR_ALIGN macro which is typesafe.
>
> Signed-off-by: Matthew Wilcox <matthew@wil.cx>
>
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index f592df7..47160fe 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -34,6 +34,7 @@ extern const char linux_proc_banner[];
>
> #define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
> #define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
> +#define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a)))
>
> #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
>
I'll plan on getting this thing of beauty into mainline in the next week or
so, so you can get those advansys changes into James's tree.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-09-10 8:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-23 11:47 [PATCH] PTR_ALIGN Matthew Wilcox
2007-09-10 8:03 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox