add upper-32-bits macro
authorAndrew Morton <akpm@linux-foundation.org>
Thu, 10 May 2007 10:15:18 +0000 (03:15 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 10 May 2007 16:26:52 +0000 (09:26 -0700)
commit218e180e7ea5334e1f94121940ba82cd1f0f4e58
tree5b7aa47a2439c40b8b68a3bfd9e2f72bf07cf385
parent894b8788d7f265eb7c6f75a9a77cedeb48f51586
add upper-32-bits macro

We keep on getting "right shift count >= width of type" warnings when doing
things like

sector_t s;

x = s >> 56;

because with CONFIG_LBD=n, s is only 32-bit.  Similar problems can occur with
dma_addr_t's.

So add a simple wrapper function which code can use to avoid this warning.
The above example would become

x = upper_32_bits(s) >> 24;

The first user is in fact AFS.

Cc: James Bottomley <James.Bottomley@SteelEye.com>
Cc: "Cameron, Steve" <Steve.Cameron@hp.com>
Cc: "Miller, Mike (OS Dev)" <Mike.Miller@hp.com>
Cc: Hisashi Hifumi <hifumi.hisashi@oss.ntt.co.jp>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/kernel.h