[alsa-devel] [PATCH] ASoC: Intel: fix machine driver warnings

Takashi Iwai tiwai at suse.de
Fri Feb 6 08:22:56 CET 2015


At Thu,  5 Feb 2015 16:19:16 -0800,
yang.a.fang at intel.com wrote:
> 
> From: "Fang, Yang A" <yang.a.fang at intel.com>
> 
> this patch will fix below sparse warnings
> 
> warning: incorrect type in argument 2 (different base types)
> expected unsigned int [unsigned] val
> got restricted snd_pcm_format_t [usertype] <noident>
> 
> sound/soc/intel/haswell.c:61:37
> sound/soc/intel/broadwell.c:115:37:
> sound/soc/intel/bytcr_dpcm_rt5640.c:118:37:
> sound/soc/intel/cht_bsw_rt5672.c:183:37:
> sound/soc/intel/cht_bsw_rt5645.c:208:37:
> 
> Signed-off-by: Fang, Yang A <yang.a.fang at intel.com>
> ---
>  sound/soc/intel/broadwell.c         |    2 +-
>  sound/soc/intel/bytcr_dpcm_rt5640.c |    2 +-
>  sound/soc/intel/cht_bsw_rt5645.c    |    2 +-
>  sound/soc/intel/cht_bsw_rt5672.c    |    2 +-
>  sound/soc/intel/haswell.c           |    2 +-
>  5 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/sound/soc/intel/broadwell.c b/sound/soc/intel/broadwell.c
> index 9cf7d01..0ca4015 100644
> --- a/sound/soc/intel/broadwell.c
> +++ b/sound/soc/intel/broadwell.c
> @@ -112,7 +112,7 @@ static int broadwell_ssp0_fixup(struct snd_soc_pcm_runtime *rtd,
>  	/* set SSP0 to 16 bit */
>  	snd_mask_set(&params->masks[SNDRV_PCM_HW_PARAM_FORMAT -
>  				    SNDRV_PCM_HW_PARAM_FIRST_MASK],
> -				    SNDRV_PCM_FORMAT_S16_LE);
> +				    (__force int)SNDRV_PCM_FORMAT_S16_LE);
>  	return 0;
>  }

Oh, it's ugly, but unavoidable as long as we use this form.

Maybe it's better to provide a helper, e.g. params_set_format() to do
the forced cast.

Also, it would be possible to provide the whole hw constraints stuff
to make it working independently.  But I guess it's overkill for DPCM
hwparam fixups.


Takashi


More information about the Alsa-devel mailing list