ALSA: rme9652: use explicitly signed char
commit 50895a55bc
upstream.
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
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20221025000313.546261-1-Jason@zx2c4.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
fa8b39c7ed
Коммит
311428871b
|
@ -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))
|
||||
|
|
|
@ -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,
|
||||
|
|
Загрузка…
Ссылка в новой задаче