Message ID | 20221025000313.546261-1-Jason@zx2c4.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 50895a55bcfde8ac6f22a37c6bc8cff506b3c7c6 |
Headers | show |
Series | [v2] ALSA: rme9652: use explicitly signed char | expand |
On Tue, 25 Oct 2022 02:03:13 +0200, Jason A. Donenfeld wrote: > > With char becoming unsigned by default, and with `char` alone being > ambiguous and based on architecture, signed chars need to be marked > explicitly as such. This fixes warnings like: > > sound/pci/rme9652/hdsp.c:3953 hdsp_channel_buffer_location() warn: 'hdsp->channel_map[channel]' is unsigned > sound/pci/rme9652/hdsp.c:4153 snd_hdsp_channel_info() warn: impossible condition '(hdsp->channel_map[channel] < 0) => (0-255 < 0)' > sound/pci/rme9652/rme9652.c:1833 rme9652_channel_buffer_location() warn: 'rme9652->channel_map[channel]' is unsigned > > Cc: Jaroslav Kysela <perex@perex.cz> > Cc: Takashi Iwai <tiwai@suse.com> > Cc: alsa-devel@alsa-project.org > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Applied now. Thanks! Takashi
On Tue, Oct 25, 2022 at 08:21:55AM +0200, Takashi Iwai wrote: > On Tue, 25 Oct 2022 02:03:13 +0200, > Jason A. Donenfeld wrote: > > > > With char becoming unsigned by default, and with `char` alone being > > ambiguous and based on architecture, signed chars need to be marked > > explicitly as such. This fixes warnings like: > > > > sound/pci/rme9652/hdsp.c:3953 hdsp_channel_buffer_location() warn: 'hdsp->channel_map[channel]' is unsigned > > sound/pci/rme9652/hdsp.c:4153 snd_hdsp_channel_info() warn: impossible condition '(hdsp->channel_map[channel] < 0) => (0-255 < 0)' > > sound/pci/rme9652/rme9652.c:1833 rme9652_channel_buffer_location() warn: 'rme9652->channel_map[channel]' is unsigned > > > > Cc: Jaroslav Kysela <perex@perex.cz> > > Cc: Takashi Iwai <tiwai@suse.com> > > Cc: alsa-devel@alsa-project.org > > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > > Applied now. Thanks! Thanks. For this and the other patch, applied for 6.1 or 6.2? Jason
On Tue, 25 Oct 2022 14:08:29 +0200, Jason A. Donenfeld wrote: > > On Tue, Oct 25, 2022 at 08:21:55AM +0200, Takashi Iwai wrote: > > On Tue, 25 Oct 2022 02:03:13 +0200, > > Jason A. Donenfeld wrote: > > > > > > With char becoming unsigned by default, and with `char` alone being > > > ambiguous and based on architecture, signed chars need to be marked > > > explicitly as such. This fixes warnings like: > > > > > > sound/pci/rme9652/hdsp.c:3953 hdsp_channel_buffer_location() warn: 'hdsp->channel_map[channel]' is unsigned > > > sound/pci/rme9652/hdsp.c:4153 snd_hdsp_channel_info() warn: impossible condition '(hdsp->channel_map[channel] < 0) => (0-255 < 0)' > > > sound/pci/rme9652/rme9652.c:1833 rme9652_channel_buffer_location() warn: 'rme9652->channel_map[channel]' is unsigned > > > > > > Cc: Jaroslav Kysela <perex@perex.cz> > > > Cc: Takashi Iwai <tiwai@suse.com> > > > Cc: alsa-devel@alsa-project.org > > > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > > > > Applied now. Thanks! > > Thanks. For this and the other patch, applied for 6.1 or 6.2? I applied for 6.2. Was it an action that has to be fixed for 6.1? If so, I still can shuffle. thanks, Takashi
On Tue, Oct 25, 2022 at 2:48 PM Takashi Iwai <tiwai@suse.de> wrote: > > On Tue, 25 Oct 2022 14:08:29 +0200, > Jason A. Donenfeld wrote: > > > > On Tue, Oct 25, 2022 at 08:21:55AM +0200, Takashi Iwai wrote: > > > On Tue, 25 Oct 2022 02:03:13 +0200, > > > Jason A. Donenfeld wrote: > > > > > > > > With char becoming unsigned by default, and with `char` alone being > > > > ambiguous and based on architecture, signed chars need to be marked > > > > explicitly as such. This fixes warnings like: > > > > > > > > sound/pci/rme9652/hdsp.c:3953 hdsp_channel_buffer_location() warn: 'hdsp->channel_map[channel]' is unsigned > > > > sound/pci/rme9652/hdsp.c:4153 snd_hdsp_channel_info() warn: impossible condition '(hdsp->channel_map[channel] < 0) => (0-255 < 0)' > > > > sound/pci/rme9652/rme9652.c:1833 rme9652_channel_buffer_location() warn: 'rme9652->channel_map[channel]' is unsigned > > > > > > > > Cc: Jaroslav Kysela <perex@perex.cz> > > > > Cc: Takashi Iwai <tiwai@suse.com> > > > > Cc: alsa-devel@alsa-project.org > > > > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > > > > > > Applied now. Thanks! > > > > Thanks. For this and the other patch, applied for 6.1 or 6.2? > > I applied for 6.2. Was it an action that has to be fixed for 6.1? > If so, I still can shuffle. Well, this is code that's broken currently on ARM platforms, for example, where char is already unsigned. So it's arguably a fix for 6.1. (And if you're in fact not going to take it for 6.1, I'm supposed to take it through my unsigned-char tree for 6.2.) Jason
On Tue, 25 Oct 2022 14:54:54 +0200, Jason A. Donenfeld wrote: > > On Tue, Oct 25, 2022 at 2:48 PM Takashi Iwai <tiwai@suse.de> wrote: > > > > On Tue, 25 Oct 2022 14:08:29 +0200, > > Jason A. Donenfeld wrote: > > > > > > On Tue, Oct 25, 2022 at 08:21:55AM +0200, Takashi Iwai wrote: > > > > On Tue, 25 Oct 2022 02:03:13 +0200, > > > > Jason A. Donenfeld wrote: > > > > > > > > > > With char becoming unsigned by default, and with `char` alone being > > > > > ambiguous and based on architecture, signed chars need to be marked > > > > > explicitly as such. This fixes warnings like: > > > > > > > > > > sound/pci/rme9652/hdsp.c:3953 hdsp_channel_buffer_location() warn: 'hdsp->channel_map[channel]' is unsigned > > > > > sound/pci/rme9652/hdsp.c:4153 snd_hdsp_channel_info() warn: impossible condition '(hdsp->channel_map[channel] < 0) => (0-255 < 0)' > > > > > sound/pci/rme9652/rme9652.c:1833 rme9652_channel_buffer_location() warn: 'rme9652->channel_map[channel]' is unsigned > > > > > > > > > > Cc: Jaroslav Kysela <perex@perex.cz> > > > > > Cc: Takashi Iwai <tiwai@suse.com> > > > > > Cc: alsa-devel@alsa-project.org > > > > > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > > > > > > > > Applied now. Thanks! > > > > > > Thanks. For this and the other patch, applied for 6.1 or 6.2? > > > > I applied for 6.2. Was it an action that has to be fixed for 6.1? > > If so, I still can shuffle. > > Well, this is code that's broken currently on ARM platforms, for > example, where char is already unsigned. So it's arguably a fix for > 6.1. Fair enough, I'll apply for 6.1, then. Takashi
On Tue, 25 Oct 2022 15:11:39 +0200, Takashi Iwai wrote: > > On Tue, 25 Oct 2022 14:54:54 +0200, > Jason A. Donenfeld wrote: > > > > On Tue, Oct 25, 2022 at 2:48 PM Takashi Iwai <tiwai@suse.de> wrote: > > > > > > On Tue, 25 Oct 2022 14:08:29 +0200, > > > Jason A. Donenfeld wrote: > > > > > > > > On Tue, Oct 25, 2022 at 08:21:55AM +0200, Takashi Iwai wrote: > > > > > On Tue, 25 Oct 2022 02:03:13 +0200, > > > > > Jason A. Donenfeld wrote: > > > > > > > > > > > > With char becoming unsigned by default, and with `char` alone being > > > > > > ambiguous and based on architecture, signed chars need to be marked > > > > > > explicitly as such. This fixes warnings like: > > > > > > > > > > > > sound/pci/rme9652/hdsp.c:3953 hdsp_channel_buffer_location() warn: 'hdsp->channel_map[channel]' is unsigned > > > > > > sound/pci/rme9652/hdsp.c:4153 snd_hdsp_channel_info() warn: impossible condition '(hdsp->channel_map[channel] < 0) => (0-255 < 0)' > > > > > > sound/pci/rme9652/rme9652.c:1833 rme9652_channel_buffer_location() warn: 'rme9652->channel_map[channel]' is unsigned > > > > > > > > > > > > Cc: Jaroslav Kysela <perex@perex.cz> > > > > > > Cc: Takashi Iwai <tiwai@suse.com> > > > > > > Cc: alsa-devel@alsa-project.org > > > > > > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > > > > > > > > > > Applied now. Thanks! > > > > > > > > Thanks. For this and the other patch, applied for 6.1 or 6.2? > > > > > > I applied for 6.2. Was it an action that has to be fixed for 6.1? > > > If so, I still can shuffle. > > > > Well, this is code that's broken currently on ARM platforms, for > > example, where char is already unsigned. So it's arguably a fix for > > 6.1. > > Fair enough, I'll apply for 6.1, then. ... and in that case, it deserves for Cc-to-stable, IMO, as it's a fix to be done for older kernels, too. Then it'd be clearly a 6.1 material. Takashi
On Tue, Oct 25, 2022 at 3:14 PM Takashi Iwai <tiwai@suse.de> wrote: > > On Tue, 25 Oct 2022 15:11:39 +0200, > Takashi Iwai wrote: > > > > On Tue, 25 Oct 2022 14:54:54 +0200, > > Jason A. Donenfeld wrote: > > > > > > On Tue, Oct 25, 2022 at 2:48 PM Takashi Iwai <tiwai@suse.de> wrote: > > > > > > > > On Tue, 25 Oct 2022 14:08:29 +0200, > > > > Jason A. Donenfeld wrote: > > > > > > > > > > On Tue, Oct 25, 2022 at 08:21:55AM +0200, Takashi Iwai wrote: > > > > > > On Tue, 25 Oct 2022 02:03:13 +0200, > > > > > > Jason A. Donenfeld wrote: > > > > > > > > > > > > > > With char becoming unsigned by default, and with `char` alone being > > > > > > > ambiguous and based on architecture, signed chars need to be marked > > > > > > > explicitly as such. This fixes warnings like: > > > > > > > > > > > > > > sound/pci/rme9652/hdsp.c:3953 hdsp_channel_buffer_location() warn: 'hdsp->channel_map[channel]' is unsigned > > > > > > > sound/pci/rme9652/hdsp.c:4153 snd_hdsp_channel_info() warn: impossible condition '(hdsp->channel_map[channel] < 0) => (0-255 < 0)' > > > > > > > sound/pci/rme9652/rme9652.c:1833 rme9652_channel_buffer_location() warn: 'rme9652->channel_map[channel]' is unsigned > > > > > > > > > > > > > > Cc: Jaroslav Kysela <perex@perex.cz> > > > > > > > Cc: Takashi Iwai <tiwai@suse.com> > > > > > > > Cc: alsa-devel@alsa-project.org > > > > > > > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > > > > > > > > > > > > Applied now. Thanks! > > > > > > > > > > Thanks. For this and the other patch, applied for 6.1 or 6.2? > > > > > > > > I applied for 6.2. Was it an action that has to be fixed for 6.1? > > > > If so, I still can shuffle. > > > > > > Well, this is code that's broken currently on ARM platforms, for > > > example, where char is already unsigned. So it's arguably a fix for > > > 6.1. > > > > Fair enough, I'll apply for 6.1, then. > > ... and in that case, it deserves for Cc-to-stable, IMO, as it's a fix > to be done for older kernels, too. Then it'd be clearly a 6.1 > material. Fine by me if you want to add that (for this and the other patch).
On Tue, 25 Oct 2022 15:14:54 +0200, Jason A. Donenfeld wrote: > > On Tue, Oct 25, 2022 at 3:14 PM Takashi Iwai <tiwai@suse.de> wrote: > > > > On Tue, 25 Oct 2022 15:11:39 +0200, > > Takashi Iwai wrote: > > > > > > On Tue, 25 Oct 2022 14:54:54 +0200, > > > Jason A. Donenfeld wrote: > > > > > > > > On Tue, Oct 25, 2022 at 2:48 PM Takashi Iwai <tiwai@suse.de> wrote: > > > > > > > > > > On Tue, 25 Oct 2022 14:08:29 +0200, > > > > > Jason A. Donenfeld wrote: > > > > > > > > > > > > On Tue, Oct 25, 2022 at 08:21:55AM +0200, Takashi Iwai wrote: > > > > > > > On Tue, 25 Oct 2022 02:03:13 +0200, > > > > > > > Jason A. Donenfeld wrote: > > > > > > > > > > > > > > > > With char becoming unsigned by default, and with `char` alone being > > > > > > > > ambiguous and based on architecture, signed chars need to be marked > > > > > > > > explicitly as such. This fixes warnings like: > > > > > > > > > > > > > > > > sound/pci/rme9652/hdsp.c:3953 hdsp_channel_buffer_location() warn: 'hdsp->channel_map[channel]' is unsigned > > > > > > > > sound/pci/rme9652/hdsp.c:4153 snd_hdsp_channel_info() warn: impossible condition '(hdsp->channel_map[channel] < 0) => (0-255 < 0)' > > > > > > > > sound/pci/rme9652/rme9652.c:1833 rme9652_channel_buffer_location() warn: 'rme9652->channel_map[channel]' is unsigned > > > > > > > > > > > > > > > > Cc: Jaroslav Kysela <perex@perex.cz> > > > > > > > > Cc: Takashi Iwai <tiwai@suse.com> > > > > > > > > Cc: alsa-devel@alsa-project.org > > > > > > > > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > > > > > > > > > > > > > > Applied now. Thanks! > > > > > > > > > > > > Thanks. For this and the other patch, applied for 6.1 or 6.2? > > > > > > > > > > I applied for 6.2. Was it an action that has to be fixed for 6.1? > > > > > If so, I still can shuffle. > > > > > > > > Well, this is code that's broken currently on ARM platforms, for > > > > example, where char is already unsigned. So it's arguably a fix for > > > > 6.1. > > > > > > Fair enough, I'll apply for 6.1, then. > > > > ... and in that case, it deserves for Cc-to-stable, IMO, as it's a fix > > to be done for older kernels, too. Then it'd be clearly a 6.1 > > material. > > Fine by me if you want to add that (for this and the other patch). OK, done. Takashi
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index dcc43a81ae0e..65add92c88aa 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c @@ -433,7 +433,7 @@ struct hdsp_midi { struct snd_rawmidi *rmidi; struct snd_rawmidi_substream *input; struct snd_rawmidi_substream *output; - char istimer; /* timer in use */ + signed char istimer; /* timer in use */ struct timer_list timer; spinlock_t lock; int pending; @@ -480,7 +480,7 @@ struct hdsp { pid_t playback_pid; int running; int system_sample_rate; - const char *channel_map; + const signed char *channel_map; int dev; int irq; unsigned long port; @@ -502,7 +502,7 @@ struct hdsp { where the data for that channel can be read/written from/to. */ -static const char channel_map_df_ss[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_df_ss[HDSP_MAX_CHANNELS] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }; @@ -517,7 +517,7 @@ static const char channel_map_mf_ss[HDSP_MAX_CHANNELS] = { /* Multiface */ -1, -1, -1, -1, -1, -1, -1, -1 }; -static const char channel_map_ds[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_ds[HDSP_MAX_CHANNELS] = { /* ADAT channels are remapped */ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, /* channels 12 and 13 are S/PDIF */ @@ -526,7 +526,7 @@ static const char channel_map_ds[HDSP_MAX_CHANNELS] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; -static const char channel_map_H9632_ss[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_H9632_ss[HDSP_MAX_CHANNELS] = { /* ADAT channels */ 0, 1, 2, 3, 4, 5, 6, 7, /* SPDIF */ @@ -540,7 +540,7 @@ static const char channel_map_H9632_ss[HDSP_MAX_CHANNELS] = { -1, -1 }; -static const char channel_map_H9632_ds[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_H9632_ds[HDSP_MAX_CHANNELS] = { /* ADAT */ 1, 3, 5, 7, /* SPDIF */ @@ -554,7 +554,7 @@ static const char channel_map_H9632_ds[HDSP_MAX_CHANNELS] = { -1, -1, -1, -1, -1, -1 }; -static const char channel_map_H9632_qs[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_H9632_qs[HDSP_MAX_CHANNELS] = { /* ADAT is disabled in this mode */ /* SPDIF */ 8, 9, @@ -3939,7 +3939,7 @@ static snd_pcm_uframes_t snd_hdsp_hw_pointer(struct snd_pcm_substream *substream return hdsp_hw_pointer(hdsp); } -static char *hdsp_channel_buffer_location(struct hdsp *hdsp, +static signed char *hdsp_channel_buffer_location(struct hdsp *hdsp, int stream, int channel) @@ -3964,7 +3964,7 @@ static int snd_hdsp_playback_copy(struct snd_pcm_substream *substream, void __user *src, unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; if (snd_BUG_ON(pos + count > HDSP_CHANNEL_BUFFER_BYTES)) return -EINVAL; @@ -3982,7 +3982,7 @@ static int snd_hdsp_playback_copy_kernel(struct snd_pcm_substream *substream, void *src, unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = hdsp_channel_buffer_location(hdsp, substream->pstr->stream, channel); if (snd_BUG_ON(!channel_buf)) @@ -3996,7 +3996,7 @@ static int snd_hdsp_capture_copy(struct snd_pcm_substream *substream, void __user *dst, unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; if (snd_BUG_ON(pos + count > HDSP_CHANNEL_BUFFER_BYTES)) return -EINVAL; @@ -4014,7 +4014,7 @@ static int snd_hdsp_capture_copy_kernel(struct snd_pcm_substream *substream, void *dst, unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = hdsp_channel_buffer_location(hdsp, substream->pstr->stream, channel); if (snd_BUG_ON(!channel_buf)) @@ -4028,7 +4028,7 @@ static int snd_hdsp_hw_silence(struct snd_pcm_substream *substream, unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = hdsp_channel_buffer_location (hdsp, substream->pstr->stream, channel); if (snd_BUG_ON(!channel_buf)) diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c index 1d614fe89a6a..e7c320afefe8 100644 --- a/sound/pci/rme9652/rme9652.c +++ b/sound/pci/rme9652/rme9652.c @@ -230,7 +230,7 @@ struct snd_rme9652 { int last_spdif_sample_rate; /* so that we can catch externally ... */ int last_adat_sample_rate; /* ... induced rate changes */ - const char *channel_map; + const signed char *channel_map; struct snd_card *card; struct snd_pcm *pcm; @@ -247,12 +247,12 @@ struct snd_rme9652 { where the data for that channel can be read/written from/to. */ -static const char channel_map_9652_ss[26] = { +static const signed char channel_map_9652_ss[26] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }; -static const char channel_map_9636_ss[26] = { +static const signed char channel_map_9636_ss[26] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, /* channels 16 and 17 are S/PDIF */ 24, 25, @@ -260,7 +260,7 @@ static const char channel_map_9636_ss[26] = { -1, -1, -1, -1, -1, -1, -1, -1 }; -static const char channel_map_9652_ds[26] = { +static const signed char channel_map_9652_ds[26] = { /* ADAT channels are remapped */ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, /* channels 12 and 13 are S/PDIF */ @@ -269,7 +269,7 @@ static const char channel_map_9652_ds[26] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; -static const char channel_map_9636_ds[26] = { +static const signed char channel_map_9636_ds[26] = { /* ADAT channels are remapped */ 1, 3, 5, 7, 9, 11, 13, 15, /* channels 8 and 9 are S/PDIF */ @@ -1819,7 +1819,7 @@ static snd_pcm_uframes_t snd_rme9652_hw_pointer(struct snd_pcm_substream *substr return rme9652_hw_pointer(rme9652); } -static char *rme9652_channel_buffer_location(struct snd_rme9652 *rme9652, +static signed char *rme9652_channel_buffer_location(struct snd_rme9652 *rme9652, int stream, int channel) @@ -1847,7 +1847,7 @@ static int snd_rme9652_playback_copy(struct snd_pcm_substream *substream, void __user *src, unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; if (snd_BUG_ON(pos + count > RME9652_CHANNEL_BUFFER_BYTES)) return -EINVAL; @@ -1867,7 +1867,7 @@ static int snd_rme9652_playback_copy_kernel(struct snd_pcm_substream *substream, void *src, unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = rme9652_channel_buffer_location(rme9652, substream->pstr->stream, @@ -1883,7 +1883,7 @@ static int snd_rme9652_capture_copy(struct snd_pcm_substream *substream, void __user *dst, unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; if (snd_BUG_ON(pos + count > RME9652_CHANNEL_BUFFER_BYTES)) return -EINVAL; @@ -1903,7 +1903,7 @@ static int snd_rme9652_capture_copy_kernel(struct snd_pcm_substream *substream, void *dst, unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = rme9652_channel_buffer_location(rme9652, substream->pstr->stream, @@ -1919,7 +1919,7 @@ static int snd_rme9652_hw_silence(struct snd_pcm_substream *substream, unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = rme9652_channel_buffer_location (rme9652, substream->pstr->stream,
With char becoming unsigned by default, and with `char` alone being ambiguous and based on architecture, signed chars need to be marked explicitly as such. This fixes warnings like: sound/pci/rme9652/hdsp.c:3953 hdsp_channel_buffer_location() warn: 'hdsp->channel_map[channel]' is unsigned sound/pci/rme9652/hdsp.c:4153 snd_hdsp_channel_info() warn: impossible condition '(hdsp->channel_map[channel] < 0) => (0-255 < 0)' sound/pci/rme9652/rme9652.c:1833 rme9652_channel_buffer_location() warn: 'rme9652->channel_map[channel]' is unsigned Cc: Jaroslav Kysela <perex@perex.cz> Cc: Takashi Iwai <tiwai@suse.com> Cc: alsa-devel@alsa-project.org Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> --- sound/pci/rme9652/hdsp.c | 26 +++++++++++++------------- sound/pci/rme9652/rme9652.c | 22 +++++++++++----------- 2 files changed, 24 insertions(+), 24 deletions(-)