ALSA: hda: Fix implicit PCM format type conversion
authorTakashi Iwai <tiwai@suse.de>
Wed, 25 Jul 2018 21:19:36 +0000 (23:19 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 27 Jul 2018 07:05:24 +0000 (09:05 +0200)
The PCM format type is defined with __bitwise, hence it can't be
passed as integer but needs an explicit cast.  In this patch, instead
of the messy cast flood, define the format argument of
snd_hdac_calc_stream_format() to be the proper snd_pcm_format_t type.

This fixes sparse warnings like:
  sound/hda/hdac_device.c:760:38: warning: incorrect type in argument 1 (different base types)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
include/sound/hdaudio.h
sound/hda/hdac_device.c

index 8305e79710355bf6083138c65240a6366b659166..6f1e1f3b30633927283a0bbf09df6fa4418c2f28 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/pm_runtime.h>
 #include <linux/timecounter.h>
 #include <sound/core.h>
+#include <sound/pcm.h>
 #include <sound/memalloc.h>
 #include <sound/hda_verbs.h>
 #include <drm/i915_component.h>
@@ -133,7 +134,7 @@ int snd_hdac_get_sub_nodes(struct hdac_device *codec, hda_nid_t nid,
                           hda_nid_t *start_id);
 unsigned int snd_hdac_calc_stream_format(unsigned int rate,
                                         unsigned int channels,
-                                        unsigned int format,
+                                        snd_pcm_format_t format,
                                         unsigned int maxbps,
                                         unsigned short spdif_ctls);
 int snd_hdac_query_supported_pcm(struct hdac_device *codec, hda_nid_t nid,
index 7ba100bb1c3fcb22e0a958e7763a7ee683c45d2d..dbf02a3a8d2f28d4dab93c06eddd8148f9dacc7c 100644 (file)
@@ -738,7 +738,7 @@ static struct hda_rate_tbl rate_bits[] = {
  */
 unsigned int snd_hdac_calc_stream_format(unsigned int rate,
                                         unsigned int channels,
-                                        unsigned int format,
+                                        snd_pcm_format_t format,
                                         unsigned int maxbps,
                                         unsigned short spdif_ctls)
 {