Message ID | 1454957594-30601-2-git-send-email-drjones@redhat.com |
---|---|
State | Superseded |
Headers | show |
On 08.02.2016 19:53, Andrew Jones wrote: > Signed-off-by: Andrew Jones <drjones@redhat.com> > --- > lib/asm-generic/io.h | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/lib/asm-generic/io.h b/lib/asm-generic/io.h > index a9939d3a5921f..abd245676e97a 100644 > --- a/lib/asm-generic/io.h > +++ b/lib/asm-generic/io.h > @@ -104,27 +104,27 @@ static inline u64 __bswap64(u64 x) > #endif > > #define le16_to_cpu(x) \ > - ({ u16 __r = __cpu_is_be() ? __bswap16(x) : (x); __r; }) > + ({ u16 __r = __cpu_is_be() ? __bswap16((u16)x) : ((u16)x); __r; }) > #define cpu_to_le16 le16_to_cpu > > #define le32_to_cpu(x) \ > - ({ u32 __r = __cpu_is_be() ? __bswap32(x) : (x); __r; }) > + ({ u32 __r = __cpu_is_be() ? __bswap32((u32)x) : ((u32)x); __r; }) > #define cpu_to_le32 le32_to_cpu > > #define le64_to_cpu(x) \ > - ({ u64 __r = __cpu_is_be() ? __bswap64(x) : (x); __r; }) > + ({ u64 __r = __cpu_is_be() ? __bswap64((u64)x) : ((u64)x); __r; }) > #define cpu_to_le64 le64_to_cpu > > #define be16_to_cpu(x) \ > - ({ u16 __r = !__cpu_is_be() ? __bswap16(x) : (x); __r; }) > + ({ u16 __r = !__cpu_is_be() ? __bswap16((u16)x) : ((u16)x); __r; }) > #define cpu_to_be16 be16_to_cpu > > #define be32_to_cpu(x) \ > - ({ u32 __r = !__cpu_is_be() ? __bswap32(x) : (x); __r; }) > + ({ u32 __r = !__cpu_is_be() ? __bswap32((u32)x) : ((u32)x); __r; }) > #define cpu_to_be32 be32_to_cpu > > #define be64_to_cpu(x) \ > - ({ u64 __r = !__cpu_is_be() ? __bswap64(x) : (x); __r; }) > + ({ u64 __r = !__cpu_is_be() ? __bswap64((u64)x) : ((u64)x); __r; }) > #define cpu_to_be64 be64_to_cpu The typecasts for the __bswapXX() macros certainly do not hurt here, but I think you also do not need them - typecasting should be done automatically through __bswapXX(), shouldn't it? So IMHO it should be enough to typecase the values after the colons. Thomas -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Feb 12, 2016 at 01:05:26PM +0100, Thomas Huth wrote: > On 08.02.2016 19:53, Andrew Jones wrote: > > Signed-off-by: Andrew Jones <drjones@redhat.com> > > --- > > lib/asm-generic/io.h | 12 ++++++------ > > 1 file changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/lib/asm-generic/io.h b/lib/asm-generic/io.h > > index a9939d3a5921f..abd245676e97a 100644 > > --- a/lib/asm-generic/io.h > > +++ b/lib/asm-generic/io.h > > @@ -104,27 +104,27 @@ static inline u64 __bswap64(u64 x) > > #endif > > > > #define le16_to_cpu(x) \ > > - ({ u16 __r = __cpu_is_be() ? __bswap16(x) : (x); __r; }) > > + ({ u16 __r = __cpu_is_be() ? __bswap16((u16)x) : ((u16)x); __r; }) > > #define cpu_to_le16 le16_to_cpu > > > > #define le32_to_cpu(x) \ > > - ({ u32 __r = __cpu_is_be() ? __bswap32(x) : (x); __r; }) > > + ({ u32 __r = __cpu_is_be() ? __bswap32((u32)x) : ((u32)x); __r; }) > > #define cpu_to_le32 le32_to_cpu > > > > #define le64_to_cpu(x) \ > > - ({ u64 __r = __cpu_is_be() ? __bswap64(x) : (x); __r; }) > > + ({ u64 __r = __cpu_is_be() ? __bswap64((u64)x) : ((u64)x); __r; }) > > #define cpu_to_le64 le64_to_cpu > > > > #define be16_to_cpu(x) \ > > - ({ u16 __r = !__cpu_is_be() ? __bswap16(x) : (x); __r; }) > > + ({ u16 __r = !__cpu_is_be() ? __bswap16((u16)x) : ((u16)x); __r; }) > > #define cpu_to_be16 be16_to_cpu > > > > #define be32_to_cpu(x) \ > > - ({ u32 __r = !__cpu_is_be() ? __bswap32(x) : (x); __r; }) > > + ({ u32 __r = !__cpu_is_be() ? __bswap32((u32)x) : ((u32)x); __r; }) > > #define cpu_to_be32 be32_to_cpu > > > > #define be64_to_cpu(x) \ > > - ({ u64 __r = !__cpu_is_be() ? __bswap64(x) : (x); __r; }) > > + ({ u64 __r = !__cpu_is_be() ? __bswap64((u64)x) : ((u64)x); __r; }) > > #define cpu_to_be64 be64_to_cpu > > The typecasts for the __bswapXX() macros certainly do not hurt here, but > I think you also do not need them - typecasting should be done Agreed, those are pointless and ugly. I'll remove them. > automatically through __bswapXX(), shouldn't it? > So IMHO it should be enough to typecase the values after the colons. Yup, I'll change for v3. Thanks, drew -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/lib/asm-generic/io.h b/lib/asm-generic/io.h index a9939d3a5921f..abd245676e97a 100644 --- a/lib/asm-generic/io.h +++ b/lib/asm-generic/io.h @@ -104,27 +104,27 @@ static inline u64 __bswap64(u64 x) #endif #define le16_to_cpu(x) \ - ({ u16 __r = __cpu_is_be() ? __bswap16(x) : (x); __r; }) + ({ u16 __r = __cpu_is_be() ? __bswap16((u16)x) : ((u16)x); __r; }) #define cpu_to_le16 le16_to_cpu #define le32_to_cpu(x) \ - ({ u32 __r = __cpu_is_be() ? __bswap32(x) : (x); __r; }) + ({ u32 __r = __cpu_is_be() ? __bswap32((u32)x) : ((u32)x); __r; }) #define cpu_to_le32 le32_to_cpu #define le64_to_cpu(x) \ - ({ u64 __r = __cpu_is_be() ? __bswap64(x) : (x); __r; }) + ({ u64 __r = __cpu_is_be() ? __bswap64((u64)x) : ((u64)x); __r; }) #define cpu_to_le64 le64_to_cpu #define be16_to_cpu(x) \ - ({ u16 __r = !__cpu_is_be() ? __bswap16(x) : (x); __r; }) + ({ u16 __r = !__cpu_is_be() ? __bswap16((u16)x) : ((u16)x); __r; }) #define cpu_to_be16 be16_to_cpu #define be32_to_cpu(x) \ - ({ u32 __r = !__cpu_is_be() ? __bswap32(x) : (x); __r; }) + ({ u32 __r = !__cpu_is_be() ? __bswap32((u32)x) : ((u32)x); __r; }) #define cpu_to_be32 be32_to_cpu #define be64_to_cpu(x) \ - ({ u64 __r = !__cpu_is_be() ? __bswap64(x) : (x); __r; }) + ({ u64 __r = !__cpu_is_be() ? __bswap64((u64)x) : ((u64)x); __r; }) #define cpu_to_be64 be64_to_cpu #ifndef rmb
Signed-off-by: Andrew Jones <drjones@redhat.com> --- lib/asm-generic/io.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)