diff mbox

[5/5] ASoC: sh/fsi: Make one-bit bitfields unsigned

Message ID 1403163631-26215-6-git-send-email-lars@metafoo.de (mailing list archive)
State Accepted
Commit 9f98cd69c1517e05aa00ab843f054457cc3488c1
Headers show

Commit Message

Lars-Peter Clausen June 19, 2014, 7:40 a.m. UTC
One-bit signed bitfields have two possible values: 0 and -1. This sometimes
leads to unexpected results (e.g. foo.bar = 1; foo.bar == 1 => false) which is
why it is recommended to make one-bit bitfields unsigned.

This fixes the following sparse warnings:
	sound/soc/sh/fsi.c:267:25: error: dubious one-bit signed bitfield
	sound/soc/sh/fsi.c:268:22: error: dubious one-bit signed bitfield
	sound/soc/sh/fsi.c:269:20: error: dubious one-bit signed bitfield
	sound/soc/sh/fsi.c:270:28: error: dubious one-bit signed bitfield
	sound/soc/sh/fsi.c:271:26: error: dubious one-bit signed bitfield
	sound/soc/sh/fsi.c:272:25: error: dubious one-bit signed bitfield

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
 sound/soc/sh/fsi.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

Kuninori Morimoto June 19, 2014, 9:12 a.m. UTC | #1
Hi

> One-bit signed bitfields have two possible values: 0 and -1. This sometimes
> leads to unexpected results (e.g. foo.bar = 1; foo.bar == 1 => false) which is
> why it is recommended to make one-bit bitfields unsigned.
> 
> This fixes the following sparse warnings:
> 	sound/soc/sh/fsi.c:267:25: error: dubious one-bit signed bitfield
> 	sound/soc/sh/fsi.c:268:22: error: dubious one-bit signed bitfield
> 	sound/soc/sh/fsi.c:269:20: error: dubious one-bit signed bitfield
> 	sound/soc/sh/fsi.c:270:28: error: dubious one-bit signed bitfield
> 	sound/soc/sh/fsi.c:271:26: error: dubious one-bit signed bitfield
> 	sound/soc/sh/fsi.c:272:25: error: dubious one-bit signed bitfield
> 
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> ---

Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

>  sound/soc/sh/fsi.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
> index 710a079..2c95d85 100644
> --- a/sound/soc/sh/fsi.c
> +++ b/sound/soc/sh/fsi.c
> @@ -264,12 +264,12 @@ struct fsi_priv {
>  	u32 fmt;
>  
>  	int chan_num:16;
> -	int clk_master:1;
> -	int clk_cpg:1;
> -	int spdif:1;
> -	int enable_stream:1;
> -	int bit_clk_inv:1;
> -	int lr_clk_inv:1;
> +	unsigned int clk_master:1;
> +	unsigned int clk_cpg:1;
> +	unsigned int spdif:1;
> +	unsigned int enable_stream:1;
> +	unsigned int bit_clk_inv:1;
> +	unsigned int lr_clk_inv:1;
>  };
>  
>  struct fsi_stream_handler {
> -- 
> 1.8.0
>
Mark Brown June 21, 2014, 8:02 p.m. UTC | #2
On Thu, Jun 19, 2014 at 09:40:31AM +0200, Lars-Peter Clausen wrote:
> One-bit signed bitfields have two possible values: 0 and -1. This sometimes
> leads to unexpected results (e.g. foo.bar = 1; foo.bar == 1 => false) which is
> why it is recommended to make one-bit bitfields unsigned.

Applied, thanks.
diff mbox

Patch

diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c
index 710a079..2c95d85 100644
--- a/sound/soc/sh/fsi.c
+++ b/sound/soc/sh/fsi.c
@@ -264,12 +264,12 @@  struct fsi_priv {
 	u32 fmt;
 
 	int chan_num:16;
-	int clk_master:1;
-	int clk_cpg:1;
-	int spdif:1;
-	int enable_stream:1;
-	int bit_clk_inv:1;
-	int lr_clk_inv:1;
+	unsigned int clk_master:1;
+	unsigned int clk_cpg:1;
+	unsigned int spdif:1;
+	unsigned int enable_stream:1;
+	unsigned int bit_clk_inv:1;
+	unsigned int lr_clk_inv:1;
 };
 
 struct fsi_stream_handler {