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

Fang, Yang A yang.a.fang at intel.com
Fri Feb 6 08:49:50 CET 2015



> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai at suse.de]
> Sent: Thursday, February 05, 2015 11:47 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 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(&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
> >
> > 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

I see. 

Thanks
Yang


More information about the Alsa-devel mailing list