[alsa-devel] [PATCH] ASoC: Intel: fix machine driver warnings
Takashi Iwai
tiwai at suse.de
Fri Feb 6 08:46:43 CET 2015
At Fri, 6 Feb 2015 07:42:03 +0000,
Fang, Yang A wrote:
>
> > -----Original Message-----
> > From: Takashi Iwai [mailto:tiwai at suse.de]
> > Sent: Thursday, February 05, 2015 11:23 PM
> > To: Fang, Yang A
> > Cc: broonie at kernel.org; lgirdwood at gmail.com; alsa-devel at alsa-project.org;
> > Iriawan, Denny; N, Harshapriya; Jain, Praveen K; Strasser, Kevin; Koul, Vinod;
> > Lin, Mengdong
> > Subject: Re: [alsa-devel] [PATCH] ASoC: Intel: fix machine driver warnings
> >
> > 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(¶ms-
> > >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
>
> Hi Takashi,
>
> Thanks for the feedback. Are you looking for something like this?
> > >masks[SNDRV_PCM_HW_PARAM_FORMAT -
> > > SNDRV_PCM_HW_PARAM_FIRST_MASK],
> > > - SNDRV_PCM_FORMAT_S16_LE);
> > > + params_set_format( SNDRV_PCM_FORMAT_S16_LE));
No, something like below in pcm_params.h:
static inline void params_set_format(struct snd_pcm_hw_params *p,
snd_pcm_format_t format)
{
snd_mask_set(p, (__force int)format);
}
Takashi
More information about the Alsa-devel
mailing list