CC: [email protected]
TO: "Shengjiu, Wang," <[email protected]>
CC: Mark Brown <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   e7b08814b16b80a0bf76eeca16317f8c2ed23b8c
commit: 4520af41fd21863d026d53c7e1eb987509cb3c24 [2996/14131] ASoC: fsl_asrc: 
Support new property fsl,asrc-format
:::::: branch date: 3 days ago
:::::: commit date: 6 weeks ago
config: openrisc-randconfig-s031-20200601 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-243-gc100a7ab-dirty
        git checkout 4520af41fd21863d026d53c7e1eb987509cb3c24
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=openrisc CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

   sound/soc/fsl/fsl_asrc.c:1050:60: sparse: sparse: incorrect type in argument 
3 (different base types) @@     expected unsigned int [usertype] *out_value @@  
   got restricted snd_pcm_format_t * @@
   sound/soc/fsl/fsl_asrc.c:1050:60: sparse:     expected unsigned int 
[usertype] *out_value
>> sound/soc/fsl/fsl_asrc.c:1050:60: sparse:     got restricted 
>> snd_pcm_format_t *
   sound/soc/fsl/fsl_asrc.c:1073:47: sparse: sparse: restricted 
snd_pcm_format_t degrades to integer

# 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=4520af41fd21863d026d53c7e1eb987509cb3c24
git remote add linux-next 
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git remote update linux-next
git checkout 4520af41fd21863d026d53c7e1eb987509cb3c24
vim +1050 sound/soc/fsl/fsl_asrc.c

3117bb3109dc22 Nicolin Chen  2014-07-29   933  
3117bb3109dc22 Nicolin Chen  2014-07-29   934  static int fsl_asrc_probe(struct 
platform_device *pdev)
3117bb3109dc22 Nicolin Chen  2014-07-29   935  {
3117bb3109dc22 Nicolin Chen  2014-07-29   936   struct device_node *np = 
pdev->dev.of_node;
7470704d8b425c Shengjiu Wang 2020-04-16   937   struct fsl_asrc *asrc;
3117bb3109dc22 Nicolin Chen  2014-07-29   938   struct resource *res;
3117bb3109dc22 Nicolin Chen  2014-07-29   939   void __iomem *regs;
3117bb3109dc22 Nicolin Chen  2014-07-29   940   int irq, ret, i;
c05f10f28ef697 Shengjiu Wang 2019-12-04   941   u32 map_idx;
3117bb3109dc22 Nicolin Chen  2014-07-29   942   char tmp[16];
4520af41fd2186 Shengjiu Wang 2020-04-16   943   u32 width;
3117bb3109dc22 Nicolin Chen  2014-07-29   944  
7470704d8b425c Shengjiu Wang 2020-04-16   945   asrc = devm_kzalloc(&pdev->dev, 
sizeof(*asrc), GFP_KERNEL);
7470704d8b425c Shengjiu Wang 2020-04-16   946   if (!asrc)
3117bb3109dc22 Nicolin Chen  2014-07-29   947           return -ENOMEM;
3117bb3109dc22 Nicolin Chen  2014-07-29   948  
7470704d8b425c Shengjiu Wang 2020-04-16   949   asrc->pdev = pdev;
3117bb3109dc22 Nicolin Chen  2014-07-29   950  
3117bb3109dc22 Nicolin Chen  2014-07-29   951   /* Get the addresses and IRQ */
3117bb3109dc22 Nicolin Chen  2014-07-29   952   res = 
platform_get_resource(pdev, IORESOURCE_MEM, 0);
3117bb3109dc22 Nicolin Chen  2014-07-29   953   regs = 
devm_ioremap_resource(&pdev->dev, res);
3117bb3109dc22 Nicolin Chen  2014-07-29   954   if (IS_ERR(regs))
3117bb3109dc22 Nicolin Chen  2014-07-29   955           return PTR_ERR(regs);
3117bb3109dc22 Nicolin Chen  2014-07-29   956  
7470704d8b425c Shengjiu Wang 2020-04-16   957   asrc->paddr = res->start;
3117bb3109dc22 Nicolin Chen  2014-07-29   958  
7470704d8b425c Shengjiu Wang 2020-04-16   959   asrc->regmap = 
devm_regmap_init_mmio_clk(&pdev->dev, "mem", regs,
3117bb3109dc22 Nicolin Chen  2014-07-29   960                                   
         &fsl_asrc_regmap_config);
7470704d8b425c Shengjiu Wang 2020-04-16   961   if (IS_ERR(asrc->regmap)) {
3117bb3109dc22 Nicolin Chen  2014-07-29   962           dev_err(&pdev->dev, 
"failed to init regmap\n");
7470704d8b425c Shengjiu Wang 2020-04-16   963           return 
PTR_ERR(asrc->regmap);
3117bb3109dc22 Nicolin Chen  2014-07-29   964   }
3117bb3109dc22 Nicolin Chen  2014-07-29   965  
3117bb3109dc22 Nicolin Chen  2014-07-29   966   irq = platform_get_irq(pdev, 0);
cf9441adb1a355 Stephen Boyd  2019-07-30   967   if (irq < 0)
3117bb3109dc22 Nicolin Chen  2014-07-29   968           return irq;
3117bb3109dc22 Nicolin Chen  2014-07-29   969  
3117bb3109dc22 Nicolin Chen  2014-07-29   970   ret = 
devm_request_irq(&pdev->dev, irq, fsl_asrc_isr, 0,
7470704d8b425c Shengjiu Wang 2020-04-16   971                          
dev_name(&pdev->dev), asrc);
3117bb3109dc22 Nicolin Chen  2014-07-29   972   if (ret) {
3117bb3109dc22 Nicolin Chen  2014-07-29   973           dev_err(&pdev->dev, 
"failed to claim irq %u: %d\n", irq, ret);
3117bb3109dc22 Nicolin Chen  2014-07-29   974           return ret;
3117bb3109dc22 Nicolin Chen  2014-07-29   975   }
3117bb3109dc22 Nicolin Chen  2014-07-29   976  
7470704d8b425c Shengjiu Wang 2020-04-16   977   asrc->mem_clk = 
devm_clk_get(&pdev->dev, "mem");
7470704d8b425c Shengjiu Wang 2020-04-16   978   if (IS_ERR(asrc->mem_clk)) {
3117bb3109dc22 Nicolin Chen  2014-07-29   979           dev_err(&pdev->dev, 
"failed to get mem clock\n");
7470704d8b425c Shengjiu Wang 2020-04-16   980           return 
PTR_ERR(asrc->mem_clk);
3117bb3109dc22 Nicolin Chen  2014-07-29   981   }
3117bb3109dc22 Nicolin Chen  2014-07-29   982  
7470704d8b425c Shengjiu Wang 2020-04-16   983   asrc->ipg_clk = 
devm_clk_get(&pdev->dev, "ipg");
7470704d8b425c Shengjiu Wang 2020-04-16   984   if (IS_ERR(asrc->ipg_clk)) {
3117bb3109dc22 Nicolin Chen  2014-07-29   985           dev_err(&pdev->dev, 
"failed to get ipg clock\n");
7470704d8b425c Shengjiu Wang 2020-04-16   986           return 
PTR_ERR(asrc->ipg_clk);
3117bb3109dc22 Nicolin Chen  2014-07-29   987   }
3117bb3109dc22 Nicolin Chen  2014-07-29   988  
7470704d8b425c Shengjiu Wang 2020-04-16   989   asrc->spba_clk = 
devm_clk_get(&pdev->dev, "spba");
7470704d8b425c Shengjiu Wang 2020-04-16   990   if (IS_ERR(asrc->spba_clk))
13b8a97a760eee Shengjiu Wang 2015-11-24   991           dev_warn(&pdev->dev, 
"failed to get spba clock\n");
13b8a97a760eee Shengjiu Wang 2015-11-24   992  
3117bb3109dc22 Nicolin Chen  2014-07-29   993   for (i = 0; i < 
ASRC_CLK_MAX_NUM; i++) {
3117bb3109dc22 Nicolin Chen  2014-07-29   994           sprintf(tmp, 
"asrck_%x", i);
7470704d8b425c Shengjiu Wang 2020-04-16   995           asrc->asrck_clk[i] = 
devm_clk_get(&pdev->dev, tmp);
7470704d8b425c Shengjiu Wang 2020-04-16   996           if 
(IS_ERR(asrc->asrck_clk[i])) {
3117bb3109dc22 Nicolin Chen  2014-07-29   997                   
dev_err(&pdev->dev, "failed to get %s clock\n", tmp);
7470704d8b425c Shengjiu Wang 2020-04-16   998                   return 
PTR_ERR(asrc->asrck_clk[i]);
3117bb3109dc22 Nicolin Chen  2014-07-29   999           }
3117bb3109dc22 Nicolin Chen  2014-07-29  1000   }
3117bb3109dc22 Nicolin Chen  2014-07-29  1001  
7470704d8b425c Shengjiu Wang 2020-04-16  1002   asrc->soc = 
of_device_get_match_data(&pdev->dev);
7470704d8b425c Shengjiu Wang 2020-04-16  1003   if (!asrc->soc) {
c05f10f28ef697 Shengjiu Wang 2019-12-04  1004           dev_err(&pdev->dev, 
"failed to get soc data\n");
c05f10f28ef697 Shengjiu Wang 2019-12-04  1005           return -ENODEV;
c05f10f28ef697 Shengjiu Wang 2019-12-04  1006   }
c05f10f28ef697 Shengjiu Wang 2019-12-04  1007  
f3d8ac8c4afea2 Fabio Estevam 2016-08-19  1008   if (of_device_is_compatible(np, 
"fsl,imx35-asrc")) {
7470704d8b425c Shengjiu Wang 2020-04-16  1009           asrc->clk_map[IN] = 
input_clk_map_imx35;
7470704d8b425c Shengjiu Wang 2020-04-16  1010           asrc->clk_map[OUT] = 
output_clk_map_imx35;
c05f10f28ef697 Shengjiu Wang 2019-12-04  1011   } else if 
(of_device_is_compatible(np, "fsl,imx53-asrc")) {
7470704d8b425c Shengjiu Wang 2020-04-16  1012           asrc->clk_map[IN] = 
input_clk_map_imx53;
7470704d8b425c Shengjiu Wang 2020-04-16  1013           asrc->clk_map[OUT] = 
output_clk_map_imx53;
c05f10f28ef697 Shengjiu Wang 2019-12-04  1014   } else if 
(of_device_is_compatible(np, "fsl,imx8qm-asrc") ||
c05f10f28ef697 Shengjiu Wang 2019-12-04  1015              
of_device_is_compatible(np, "fsl,imx8qxp-asrc")) {
c05f10f28ef697 Shengjiu Wang 2019-12-04  1016           ret = 
of_property_read_u32(np, "fsl,asrc-clk-map", &map_idx);
c05f10f28ef697 Shengjiu Wang 2019-12-04  1017           if (ret) {
c05f10f28ef697 Shengjiu Wang 2019-12-04  1018                   
dev_err(&pdev->dev, "failed to get clk map index\n");
c05f10f28ef697 Shengjiu Wang 2019-12-04  1019                   return ret;
c05f10f28ef697 Shengjiu Wang 2019-12-04  1020           }
c05f10f28ef697 Shengjiu Wang 2019-12-04  1021  
c05f10f28ef697 Shengjiu Wang 2019-12-04  1022           if (map_idx > 1) {
c05f10f28ef697 Shengjiu Wang 2019-12-04  1023                   
dev_err(&pdev->dev, "unsupported clk map index\n");
c05f10f28ef697 Shengjiu Wang 2019-12-04  1024                   return -EINVAL;
c05f10f28ef697 Shengjiu Wang 2019-12-04  1025           }
c05f10f28ef697 Shengjiu Wang 2019-12-04  1026           if 
(of_device_is_compatible(np, "fsl,imx8qm-asrc")) {
7470704d8b425c Shengjiu Wang 2020-04-16  1027                   
asrc->clk_map[IN] = clk_map_imx8qm[map_idx];
7470704d8b425c Shengjiu Wang 2020-04-16  1028                   
asrc->clk_map[OUT] = clk_map_imx8qm[map_idx];
3117bb3109dc22 Nicolin Chen  2014-07-29  1029           } else {
7470704d8b425c Shengjiu Wang 2020-04-16  1030                   
asrc->clk_map[IN] = clk_map_imx8qxp[map_idx];
7470704d8b425c Shengjiu Wang 2020-04-16  1031                   
asrc->clk_map[OUT] = clk_map_imx8qxp[map_idx];
c05f10f28ef697 Shengjiu Wang 2019-12-04  1032           }
3117bb3109dc22 Nicolin Chen  2014-07-29  1033   }
3117bb3109dc22 Nicolin Chen  2014-07-29  1034  
7470704d8b425c Shengjiu Wang 2020-04-16  1035   ret = fsl_asrc_init(asrc);
3117bb3109dc22 Nicolin Chen  2014-07-29  1036   if (ret) {
3117bb3109dc22 Nicolin Chen  2014-07-29  1037           dev_err(&pdev->dev, 
"failed to init asrc %d\n", ret);
c0296950851455 Fabio Estevam 2016-08-19  1038           return ret;
3117bb3109dc22 Nicolin Chen  2014-07-29  1039   }
3117bb3109dc22 Nicolin Chen  2014-07-29  1040  
7470704d8b425c Shengjiu Wang 2020-04-16  1041   asrc->channel_avail = 10;
3117bb3109dc22 Nicolin Chen  2014-07-29  1042  
3117bb3109dc22 Nicolin Chen  2014-07-29  1043   ret = of_property_read_u32(np, 
"fsl,asrc-rate",
7470704d8b425c Shengjiu Wang 2020-04-16  1044                              
&asrc->asrc_rate);
3117bb3109dc22 Nicolin Chen  2014-07-29  1045   if (ret) {
3117bb3109dc22 Nicolin Chen  2014-07-29  1046           dev_err(&pdev->dev, 
"failed to get output rate\n");
c0296950851455 Fabio Estevam 2016-08-19  1047           return ret;
3117bb3109dc22 Nicolin Chen  2014-07-29  1048   }
3117bb3109dc22 Nicolin Chen  2014-07-29  1049  
4520af41fd2186 Shengjiu Wang 2020-04-16 @1050   ret = of_property_read_u32(np, 
"fsl,asrc-format", &asrc->asrc_format);
4520af41fd2186 Shengjiu Wang 2020-04-16  1051   if (ret) {
4520af41fd2186 Shengjiu Wang 2020-04-16  1052           ret = 
of_property_read_u32(np, "fsl,asrc-width", &width);
3117bb3109dc22 Nicolin Chen  2014-07-29  1053           if (ret) {
4520af41fd2186 Shengjiu Wang 2020-04-16  1054                   
dev_err(&pdev->dev, "failed to decide output format\n");
c0296950851455 Fabio Estevam 2016-08-19  1055                   return ret;
3117bb3109dc22 Nicolin Chen  2014-07-29  1056           }
3117bb3109dc22 Nicolin Chen  2014-07-29  1057  
4520af41fd2186 Shengjiu Wang 2020-04-16  1058           switch (width) {
4520af41fd2186 Shengjiu Wang 2020-04-16  1059           case 16:
4520af41fd2186 Shengjiu Wang 2020-04-16  1060                   
asrc->asrc_format = SNDRV_PCM_FORMAT_S16_LE;
4520af41fd2186 Shengjiu Wang 2020-04-16  1061                   break;
4520af41fd2186 Shengjiu Wang 2020-04-16  1062           case 24:
4520af41fd2186 Shengjiu Wang 2020-04-16  1063                   
asrc->asrc_format = SNDRV_PCM_FORMAT_S24_LE;
4520af41fd2186 Shengjiu Wang 2020-04-16  1064                   break;
4520af41fd2186 Shengjiu Wang 2020-04-16  1065           default:
4520af41fd2186 Shengjiu Wang 2020-04-16  1066                   
dev_warn(&pdev->dev,
4520af41fd2186 Shengjiu Wang 2020-04-16  1067                            
"unsupported width, use default S24_LE\n");
4520af41fd2186 Shengjiu Wang 2020-04-16  1068                   
asrc->asrc_format = SNDRV_PCM_FORMAT_S24_LE;
4520af41fd2186 Shengjiu Wang 2020-04-16  1069                   break;
4520af41fd2186 Shengjiu Wang 2020-04-16  1070           }
4520af41fd2186 Shengjiu Wang 2020-04-16  1071   }
4520af41fd2186 Shengjiu Wang 2020-04-16  1072  
4520af41fd2186 Shengjiu Wang 2020-04-16  1073   if (!(FSL_ASRC_FORMATS & (1ULL 
<< asrc->asrc_format))) {
4520af41fd2186 Shengjiu Wang 2020-04-16  1074           dev_warn(&pdev->dev, 
"unsupported width, use default S24_LE\n");
4520af41fd2186 Shengjiu Wang 2020-04-16  1075           asrc->asrc_format = 
SNDRV_PCM_FORMAT_S24_LE;
3117bb3109dc22 Nicolin Chen  2014-07-29  1076   }
3117bb3109dc22 Nicolin Chen  2014-07-29  1077  
7470704d8b425c Shengjiu Wang 2020-04-16  1078   platform_set_drvdata(pdev, 
asrc);
3117bb3109dc22 Nicolin Chen  2014-07-29  1079   pm_runtime_enable(&pdev->dev);
7470704d8b425c Shengjiu Wang 2020-04-16  1080   spin_lock_init(&asrc->lock);
3117bb3109dc22 Nicolin Chen  2014-07-29  1081  
3117bb3109dc22 Nicolin Chen  2014-07-29  1082   ret = 
devm_snd_soc_register_component(&pdev->dev, &fsl_asrc_component,
3117bb3109dc22 Nicolin Chen  2014-07-29  1083                                   
      &fsl_asrc_dai, 1);
3117bb3109dc22 Nicolin Chen  2014-07-29  1084   if (ret) {
3117bb3109dc22 Nicolin Chen  2014-07-29  1085           dev_err(&pdev->dev, 
"failed to register ASoC DAI\n");
3117bb3109dc22 Nicolin Chen  2014-07-29  1086           return ret;
3117bb3109dc22 Nicolin Chen  2014-07-29  1087   }
3117bb3109dc22 Nicolin Chen  2014-07-29  1088  
3117bb3109dc22 Nicolin Chen  2014-07-29  1089   return 0;
3117bb3109dc22 Nicolin Chen  2014-07-29  1090  }
3117bb3109dc22 Nicolin Chen  2014-07-29  1091  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to