Message ID | 1403163631-26215-6-git-send-email-lars@metafoo.de (mailing list archive) |
---|---|
State | Accepted |
Commit | 9f98cd69c1517e05aa00ab843f054457cc3488c1 |
Headers | show |
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 >
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 --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 {
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(-)