OSDN Git Service

ALSA: via82xx: Fix endianness annotations
authorTakashi Iwai <tiwai@suse.de>
Thu, 6 Feb 2020 16:31:50 +0000 (17:31 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 10 Feb 2020 07:25:07 +0000 (08:25 +0100)
The internal page tables are in little endian, hence they should be
__le32 type.  This fixes the relevant sparse warnings:
  sound/pci/via82xx.c:454:60: warning: incorrect type in assignment (different base types)
  sound/pci/via82xx.c:454:60:    expected unsigned int [usertype]
  sound/pci/via82xx.c:454:60:    got restricted __le32 [usertype]
  ....

No functional changes, just sparse warning fixes.

Link: https://lore.kernel.org/r/20200206163152.6073-2-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/via82xx.c
sound/pci/via82xx_modem.c

index 799789c..8b03e2d 100644 (file)
@@ -414,6 +414,7 @@ static int build_via_table(struct viadev *dev, struct snd_pcm_substream *substre
 {
        unsigned int i, idx, ofs, rest;
        struct via82xx *chip = snd_pcm_substream_chip(substream);
+       __le32 *pgtbl;
 
        if (dev->table.area == NULL) {
                /* the start of each lists must be aligned to 8 bytes,
@@ -435,6 +436,7 @@ static int build_via_table(struct viadev *dev, struct snd_pcm_substream *substre
        /* fill the entries */
        idx = 0;
        ofs = 0;
+       pgtbl = (__le32 *)dev->table.area;
        for (i = 0; i < periods; i++) {
                rest = fragsize;
                /* fill descriptors for a period.
@@ -451,7 +453,7 @@ static int build_via_table(struct viadev *dev, struct snd_pcm_substream *substre
                                return -EINVAL;
                        }
                        addr = snd_pcm_sgbuf_get_addr(substream, ofs);
-                       ((u32 *)dev->table.area)[idx << 1] = cpu_to_le32(addr);
+                       pgtbl[idx << 1] = cpu_to_le32(addr);
                        r = snd_pcm_sgbuf_get_chunk_size(substream, ofs, rest);
                        rest -= r;
                        if (! rest) {
@@ -466,7 +468,7 @@ static int build_via_table(struct viadev *dev, struct snd_pcm_substream *substre
                                "tbl %d: at %d  size %d (rest %d)\n",
                                idx, ofs, r, rest);
                        */
-                       ((u32 *)dev->table.area)[(idx<<1) + 1] = cpu_to_le32(r | flag);
+                       pgtbl[(idx<<1) + 1] = cpu_to_le32(r | flag);
                        dev->idx_table[idx].offset = ofs;
                        dev->idx_table[idx].size = r;
                        ofs += r;
index 84e5898..607b710 100644 (file)
@@ -267,6 +267,7 @@ static int build_via_table(struct viadev *dev, struct snd_pcm_substream *substre
 {
        unsigned int i, idx, ofs, rest;
        struct via82xx_modem *chip = snd_pcm_substream_chip(substream);
+       __le32 *pgtbl;
 
        if (dev->table.area == NULL) {
                /* the start of each lists must be aligned to 8 bytes,
@@ -288,6 +289,7 @@ static int build_via_table(struct viadev *dev, struct snd_pcm_substream *substre
        /* fill the entries */
        idx = 0;
        ofs = 0;
+       pgtbl = (__le32 *)dev->table.area;
        for (i = 0; i < periods; i++) {
                rest = fragsize;
                /* fill descriptors for a period.
@@ -304,7 +306,7 @@ static int build_via_table(struct viadev *dev, struct snd_pcm_substream *substre
                                return -EINVAL;
                        }
                        addr = snd_pcm_sgbuf_get_addr(substream, ofs);
-                       ((u32 *)dev->table.area)[idx << 1] = cpu_to_le32(addr);
+                       pgtbl[idx << 1] = cpu_to_le32(addr);
                        r = PAGE_SIZE - (ofs % PAGE_SIZE);
                        if (rest < r)
                                r = rest;
@@ -321,7 +323,7 @@ static int build_via_table(struct viadev *dev, struct snd_pcm_substream *substre
                                "tbl %d: at %d  size %d (rest %d)\n",
                                idx, ofs, r, rest);
                        */
-                       ((u32 *)dev->table.area)[(idx<<1) + 1] = cpu_to_le32(r | flag);
+                       pgtbl[(idx<<1) + 1] = cpu_to_le32(r | flag);
                        dev->idx_table[idx].offset = ofs;
                        dev->idx_table[idx].size = r;
                        ofs += r;