mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 13:41:51 +00:00
ALSA: asihpi: Fix PCM format notations
asihpi driver treats -1 as an own invalid PCM format, but this needs a proper cast with __force prefix since PCM format type is __bitwise. Define a constant with the proper type and use it allover. This fixes sparse warnings like: sound/pci/asihpi/asihpi.c:315:9: warning: incorrect type in initializer (different base types) Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
10d3d91e3b
commit
a91a0e7749
@ -311,27 +311,29 @@ static void print_hwparams(struct snd_pcm_substream *substream,
|
||||
snd_pcm_format_width(params_format(p)) / 8);
|
||||
}
|
||||
|
||||
#define INVALID_FORMAT (__force snd_pcm_format_t)(-1)
|
||||
|
||||
static snd_pcm_format_t hpi_to_alsa_formats[] = {
|
||||
-1, /* INVALID */
|
||||
INVALID_FORMAT, /* INVALID */
|
||||
SNDRV_PCM_FORMAT_U8, /* HPI_FORMAT_PCM8_UNSIGNED 1 */
|
||||
SNDRV_PCM_FORMAT_S16, /* HPI_FORMAT_PCM16_SIGNED 2 */
|
||||
-1, /* HPI_FORMAT_MPEG_L1 3 */
|
||||
INVALID_FORMAT, /* HPI_FORMAT_MPEG_L1 3 */
|
||||
SNDRV_PCM_FORMAT_MPEG, /* HPI_FORMAT_MPEG_L2 4 */
|
||||
SNDRV_PCM_FORMAT_MPEG, /* HPI_FORMAT_MPEG_L3 5 */
|
||||
-1, /* HPI_FORMAT_DOLBY_AC2 6 */
|
||||
-1, /* HPI_FORMAT_DOLBY_AC3 7 */
|
||||
INVALID_FORMAT, /* HPI_FORMAT_DOLBY_AC2 6 */
|
||||
INVALID_FORMAT, /* HPI_FORMAT_DOLBY_AC3 7 */
|
||||
SNDRV_PCM_FORMAT_S16_BE,/* HPI_FORMAT_PCM16_BIGENDIAN 8 */
|
||||
-1, /* HPI_FORMAT_AA_TAGIT1_HITS 9 */
|
||||
-1, /* HPI_FORMAT_AA_TAGIT1_INSERTS 10 */
|
||||
INVALID_FORMAT, /* HPI_FORMAT_AA_TAGIT1_HITS 9 */
|
||||
INVALID_FORMAT, /* HPI_FORMAT_AA_TAGIT1_INSERTS 10 */
|
||||
SNDRV_PCM_FORMAT_S32, /* HPI_FORMAT_PCM32_SIGNED 11 */
|
||||
-1, /* HPI_FORMAT_RAW_BITSTREAM 12 */
|
||||
-1, /* HPI_FORMAT_AA_TAGIT1_HITS_EX1 13 */
|
||||
INVALID_FORMAT, /* HPI_FORMAT_RAW_BITSTREAM 12 */
|
||||
INVALID_FORMAT, /* HPI_FORMAT_AA_TAGIT1_HITS_EX1 13 */
|
||||
SNDRV_PCM_FORMAT_FLOAT, /* HPI_FORMAT_PCM32_FLOAT 14 */
|
||||
#if 1
|
||||
/* ALSA can't handle 3 byte sample size together with power-of-2
|
||||
* constraint on buffer_bytes, so disable this format
|
||||
*/
|
||||
-1
|
||||
INVALID_FORMAT
|
||||
#else
|
||||
/* SNDRV_PCM_FORMAT_S24_3LE */ /* HPI_FORMAT_PCM24_SIGNED 15 */
|
||||
#endif
|
||||
@ -1023,7 +1025,7 @@ static u64 snd_card_asihpi_playback_formats(struct snd_card_asihpi *asihpi,
|
||||
format, sample_rate, 128000, 0);
|
||||
if (!err)
|
||||
err = hpi_outstream_query_format(h_stream, &hpi_format);
|
||||
if (!err && (hpi_to_alsa_formats[format] != -1))
|
||||
if (!err && (hpi_to_alsa_formats[format] != INVALID_FORMAT))
|
||||
formats |= pcm_format_to_bits(hpi_to_alsa_formats[format]);
|
||||
}
|
||||
return formats;
|
||||
@ -1205,7 +1207,7 @@ static u64 snd_card_asihpi_capture_formats(struct snd_card_asihpi *asihpi,
|
||||
format, sample_rate, 128000, 0);
|
||||
if (!err)
|
||||
err = hpi_instream_query_format(h_stream, &hpi_format);
|
||||
if (!err && (hpi_to_alsa_formats[format] != -1))
|
||||
if (!err && (hpi_to_alsa_formats[format] != INVALID_FORMAT))
|
||||
formats |= pcm_format_to_bits(hpi_to_alsa_formats[format]);
|
||||
}
|
||||
return formats;
|
||||
|
Loading…
Reference in New Issue
Block a user