]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: ops: fix pointer types to be big-endian
authorBen Dooks <ben.dooks@codethink.co.uk>
Tue, 6 Jan 2026 22:58:46 +0000 (22:58 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 7 Jan 2026 11:51:46 +0000 (11:51 +0000)
If manipulating big-endian data, make the pointers be big-endian
instead of host-endian. This should stop the following sparse
warnigns about endian-conversion:

sound/soc/soc-ops.c:547:33: warning: invalid assignment: &=
sound/soc/soc-ops.c:547:33:    left side has type unsigned short
sound/soc/soc-ops.c:547:33:    right side has type restricted __be16
sound/soc/soc-ops.c:551:33: warning: invalid assignment: &=
sound/soc/soc-ops.c:551:33:    left side has type unsigned int
sound/soc/soc-ops.c:551:33:    right side has type restricted __be32

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Link: https://patch.msgid.link/20260106225846.83580-1-ben.dooks@codethink.co.uk
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-ops.c

index 624e9269fc25b4b0c65bc896652ac1182d710496..ba42939d5f013c64231a109075592498b22fea0b 100644 (file)
@@ -543,11 +543,11 @@ int snd_soc_bytes_get(struct snd_kcontrol *kcontrol,
                        ucontrol->value.bytes.data[0] &= ~params->mask;
                        break;
                case 2:
-                       ((u16 *)(&ucontrol->value.bytes.data))[0]
+                       ((__be16 *)(&ucontrol->value.bytes.data))[0]
                                &= cpu_to_be16(~params->mask);
                        break;
                case 4:
-                       ((u32 *)(&ucontrol->value.bytes.data))[0]
+                       ((__be32 *)(&ucontrol->value.bytes.data))[0]
                                &= cpu_to_be32(~params->mask);
                        break;
                default: