[alsa-devel] [PATCH] ASoC: soc-core: Fix sparse warning in be32_to_cpup() call
Signed-off-by: Jyri Sarha jsarha@ti.com --- sound/soc/soc-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index 1929f0e..614b831 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -3301,7 +3301,7 @@ static int snd_soc_of_get_slot_mask(struct device_node *np, return 0; val /= sizeof(u32); for (i = 0; i < val; i++) - if (be32_to_cpup(&of_slot_mask[i])) + if (be32_to_cpup((__be32 *)&of_slot_mask[i])) *mask |= (1 << i);
return val;
On Thu, Sep 17, 2015 at 11:02:57AM +0300, Jyri Sarha wrote:
val /= sizeof(u32); for (i = 0; i < val; i++)
if (be32_to_cpup(&of_slot_mask[i]))
if (be32_to_cpup((__be32 *)&of_slot_mask[i])) *mask |= (1 << i);
There was no changelog and this is setting off alarm bells since the cast just smashes warnings - are you sure we're not missing some other annotations and that a cast is the best thing here?
On 09/17/15 12:22, Mark Brown wrote:
On Thu, Sep 17, 2015 at 11:02:57AM +0300, Jyri Sarha wrote:
val /= sizeof(u32); for (i = 0; i < val; i++)
if (be32_to_cpup(&of_slot_mask[i]))
if (be32_to_cpup((__be32 *)&of_slot_mask[i])) *mask |= (1 << i);
There was no changelog and this is setting off alarm bells since the cast just smashes warnings - are you sure we're not missing some other annotations and that a cast is the best thing here?
You are right, I was a bit hasty. It is better to declare of_slot_mask to const __be32 * in the first place, instead of just const u32 * and then casting it to something else.
I'll send a new patch shortly.
BR, Jyri
participants (2)
-
Jyri Sarha
-
Mark Brown