diff mbox

[kvm-unit-tests,v2,01/14] lib: asm-generic: add missing casts

Message ID 1454957594-30601-2-git-send-email-drjones@redhat.com
State Superseded
Headers show

Commit Message

Andrew Jones Feb. 8, 2016, 6:53 p.m. UTC
Signed-off-by: Andrew Jones <drjones@redhat.com>
---
 lib/asm-generic/io.h | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Thomas Huth Feb. 12, 2016, 12:05 p.m. UTC | #1
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
Andrew Jones Feb. 12, 2016, 1:58 p.m. UTC | #2
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 mbox

Patch

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