diff options
author | Takashi Iwai <tiwai@suse.de> | 2018-07-25 23:17:17 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-07-26 17:09:04 +0100 |
commit | 0b62834e73e332fea76a340d62aaf50c732b17e0 (patch) | |
tree | 8f8e42edeccc21bb9d02fd86ad3b6e8128c69b5d /include | |
parent | fd56361177a3c10133c272eb130e3c11f0bcd9a9 (diff) | |
download | linux-stable-0b62834e73e332fea76a340d62aaf50c732b17e0.tar.gz linux-stable-0b62834e73e332fea76a340d62aaf50c732b17e0.tar.bz2 linux-stable-0b62834e73e332fea76a340d62aaf50c732b17e0.zip |
ALSA: pcm: Add snd_mask_set_format() helper for standard usages
Many drivers calling snd_mask_set() need to do ugly cast with __force
for shutting up the sparse warnings. Actually almost all of them are
about setting the format, so it's far better to provide a common
helper snd_mask_set_format() to pass SNDRV_PCM_FORMAT_* directly
without the cast.
There are a few other calls of snd_mask_set(), but they are in the PCM
core code, so we leave them for now.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/sound/pcm_params.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/sound/pcm_params.h b/include/sound/pcm_params.h index c704357775fc..2dd37cada7c0 100644 --- a/include/sound/pcm_params.h +++ b/include/sound/pcm_params.h @@ -87,6 +87,13 @@ static inline void snd_mask_set(struct snd_mask *mask, unsigned int val) mask->bits[MASK_OFS(val)] |= MASK_BIT(val); } +/* Most of drivers need only this one */ +static inline void snd_mask_set_format(struct snd_mask *mask, + snd_pcm_format_t format) +{ + snd_mask_set(mask, (__force unsigned int)format); +} + static inline void snd_mask_reset(struct snd_mask *mask, unsigned int val) { mask->bits[MASK_OFS(val)] &= ~MASK_BIT(val); @@ -369,8 +376,7 @@ static inline int params_physical_width(const struct snd_pcm_hw_params *p) static inline void params_set_format(struct snd_pcm_hw_params *p, snd_pcm_format_t fmt) { - snd_mask_set(hw_param_mask(p, SNDRV_PCM_HW_PARAM_FORMAT), - (__force int)fmt); + snd_mask_set_format(hw_param_mask(p, SNDRV_PCM_HW_PARAM_FORMAT), fmt); } #endif /* __SOUND_PCM_PARAMS_H */ |