From: "H. Peter Anvin" <hpa@zytor.com>

The changes are demoting the functions that take a pointer for input 
only to __attribute_pure__ and to mark the pointer as const.

the gcc manual states:

      Note that a function that has pointer arguments and examines the
      data pointed to must _not_ be declared `const'.  Likewise, a
      function that calls a non-`const' function usually must not be
      `const'.  It does not make sense for a `const' function to return
      `void'.


 25-akpm/include/asm-s390/byteorder.h |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff -puN include/asm-s390/byteorder.h~s390-const-fixes include/asm-s390/byteorder.h
--- 25/include/asm-s390/byteorder.h~s390-const-fixes	Mon Dec 22 12:23:19 2003
+++ 25-akpm/include/asm-s390/byteorder.h	Mon Dec 22 12:23:19 2003
@@ -15,7 +15,7 @@
 #ifdef __GNUC__
 
 #ifdef __s390x__
-static __inline__ __attribute_const__ __u64 ___arch__swab64p(__u64 *x)
+static __inline__ __attribute_pure__ __u64 ___arch__swab64p(__const__ __u64 *x)
 {
 	__u64 result;
 
@@ -41,7 +41,7 @@ static __inline__ void ___arch__swab64s(
 }
 #endif /* __s390x__ */
 
-static __inline__ __attribute_const__ __u32 ___arch__swab32p(__u32 *x)
+static __inline__ __attribute_pure__ __u32 ___arch__swab32p(__const__ __u32 *x)
 {
 	__u32 result;
 	
@@ -78,7 +78,7 @@ static __inline__ void ___arch__swab32s(
 	*x = ___arch__swab32p(x);
 }
 
-static __inline__ __attribute_const__ __u16 ___arch__swab16p(__u16 *x)
+static __inline__ __attribute_pure__ __u16 ___arch__swab16p(__const__ __u16 *x)
 {
 	__u16 result;
 	

_