mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	ALSA: rme9652: use explicitly signed char
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>
This commit is contained in:
		
							parent
							
								
									ee03c0f200
								
							
						
					
					
						commit
						50895a55bc
					
				
					 2 changed files with 24 additions and 24 deletions
				
			
		| 
						 | 
				
			
			@ -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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue