Hi Yongbo, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on asoc/for-next] [also build test WARNING on v5.7-rc5 next-20200511] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Yongbo-Zhang/ASoC-rsnd-add-interrupt-support-for-SSI-BUSIF-buffer/20200511-184903 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next reproduce: # apt-get install sparse # sparse version: v0.6.1-191-gc51a0382-dirty make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' :::::: branch date: 8 hours ago :::::: commit date: 8 hours ago If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <lkp@xxxxxxxxx> sparse warnings: (new ones prefixed by >>) sound/soc/sh/rcar/ssi.c:596:1: sparse: sparse: mixing declarations and code include/sound/pcm_params.h:377:0: sparse: sparse: Expected } at end of function include/sound/pcm_params.h:377:0: sparse: sparse: got end-of-input >> sound/soc/sh/rcar/ssi.c:798:56: sparse: sparse: not enough arguments for function rsnd_mod_write # https://github.com/0day-ci/linux/commit/23aaae15fe2b41fd05caf5e0773d41021bc03e27 git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout 23aaae15fe2b41fd05caf5e0773d41021bc03e27 vim +798 sound/soc/sh/rcar/ssi.c 615fb6c7b13b7f Kuninori Morimoto 2016-02-18 733 d8d9b9730cd62c Kuninori Morimoto 2017-12-11 734 static bool rsnd_ssi_pio_interrupt(struct rsnd_mod *mod, d8d9b9730cd62c Kuninori Morimoto 2017-12-11 735 struct rsnd_dai_stream *io); bfc0cfe6b7acb1 Kuninori Morimoto 2015-06-15 736 static void __rsnd_ssi_interrupt(struct rsnd_mod *mod, bfc0cfe6b7acb1 Kuninori Morimoto 2015-06-15 737 struct rsnd_dai_stream *io) ae5c322303fff5 Kuninori Morimoto 2013-07-21 738 { 690602fcd85385 Kuninori Morimoto 2015-01-15 739 struct rsnd_priv *priv = rsnd_mod_to_priv(mod); 2b62786951ca38 Kuninori Morimoto 2018-02-13 740 struct device *dev = rsnd_priv_to_dev(priv); 765ae7c8dda7d0 Kuninori Morimoto 2015-01-15 741 int is_dma = rsnd_ssi_is_dma_mode(mod); 02299d9875bab5 Kuninori Morimoto 2015-05-21 742 u32 status; 75defee0f1b3fc Kuninori Morimoto 2015-06-15 743 bool elapsed = false; 6a25c8da00284f Kuninori Morimoto 2016-01-26 744 bool stop = false; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 745 int is_tdm, is_tdm_split; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 746 23aaae15fe2b41 Yongbo Zhang 2020-05-11 747 is_tdm = rsnd_runtime_is_tdm(io); 23aaae15fe2b41 Yongbo Zhang 2020-05-11 748 is_tdm_split = rsnd_runtime_is_tdm_split(io); 02299d9875bab5 Kuninori Morimoto 2015-05-21 749 02299d9875bab5 Kuninori Morimoto 2015-05-21 750 spin_lock(&priv->lock); ae5c322303fff5 Kuninori Morimoto 2013-07-21 751 02299d9875bab5 Kuninori Morimoto 2015-05-21 752 /* ignore all cases if not working */ d5bbe7de563ccc Kuninori Morimoto 2015-06-15 753 if (!rsnd_io_is_working(io)) 02299d9875bab5 Kuninori Morimoto 2015-05-21 754 goto rsnd_ssi_interrupt_out; 02299d9875bab5 Kuninori Morimoto 2015-05-21 755 6a25c8da00284f Kuninori Morimoto 2016-01-26 756 status = rsnd_ssi_status_get(mod); 4e7d606cd52aa8 Kuninori Morimoto 2014-11-27 757 4e7d606cd52aa8 Kuninori Morimoto 2014-11-27 758 /* PIO only */ d8d9b9730cd62c Kuninori Morimoto 2017-12-11 759 if (!is_dma && (status & DIRQ)) d8d9b9730cd62c Kuninori Morimoto 2017-12-11 760 elapsed = rsnd_ssi_pio_interrupt(mod, io); ae5c322303fff5 Kuninori Morimoto 2013-07-21 761 12927a8f802642 Kuninori Morimoto 2015-06-15 762 /* DMA only */ 2b62786951ca38 Kuninori Morimoto 2018-02-13 763 if (is_dma && (status & (UIRQ | OIRQ))) { c0ea089dbad47a Kuninori Morimoto 2018-10-30 764 rsnd_dbg_irq_status(dev, "%s err status : 0x%08x\n", c0ea089dbad47a Kuninori Morimoto 2018-10-30 765 rsnd_mod_name(mod), status); 2b62786951ca38 Kuninori Morimoto 2018-02-13 766 6a25c8da00284f Kuninori Morimoto 2016-01-26 767 stop = true; 2b62786951ca38 Kuninori Morimoto 2018-02-13 768 } 69e32a58bde674 Kuninori Morimoto 2015-10-26 769 23aaae15fe2b41 Yongbo Zhang 2020-05-11 770 status = 0; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 771 23aaae15fe2b41 Yongbo Zhang 2020-05-11 772 if (is_tdm || is_tdm_split) { 23aaae15fe2b41 Yongbo Zhang 2020-05-11 773 switch (id) { 23aaae15fe2b41 Yongbo Zhang 2020-05-11 774 case 0: 23aaae15fe2b41 Yongbo Zhang 2020-05-11 775 case 1: 23aaae15fe2b41 Yongbo Zhang 2020-05-11 776 case 2: 23aaae15fe2b41 Yongbo Zhang 2020-05-11 777 case 3: 23aaae15fe2b41 Yongbo Zhang 2020-05-11 778 case 4: 23aaae15fe2b41 Yongbo Zhang 2020-05-11 779 for (i = 0; i < 4; i++) { 23aaae15fe2b41 Yongbo Zhang 2020-05-11 780 status = rsnd_mod_read(mod, 23aaae15fe2b41 Yongbo Zhang 2020-05-11 781 SSI_SYS_STATUS(i * 2)); 23aaae15fe2b41 Yongbo Zhang 2020-05-11 782 status &= 0xf << (id * 4); 23aaae15fe2b41 Yongbo Zhang 2020-05-11 783 23aaae15fe2b41 Yongbo Zhang 2020-05-11 784 if (status) { 23aaae15fe2b41 Yongbo Zhang 2020-05-11 785 rsnd_dbg_irq_status(dev, 23aaae15fe2b41 Yongbo Zhang 2020-05-11 786 "%s err status : 0x%08x\n", 23aaae15fe2b41 Yongbo Zhang 2020-05-11 787 rsnd_mod_name(mod), status); 23aaae15fe2b41 Yongbo Zhang 2020-05-11 788 rsnd_mod_write(mod, 23aaae15fe2b41 Yongbo Zhang 2020-05-11 789 SSI_SYS_STATUS(i * 2), 23aaae15fe2b41 Yongbo Zhang 2020-05-11 790 0xf << (id * 4)); 23aaae15fe2b41 Yongbo Zhang 2020-05-11 791 stop = true; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 792 break; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 793 } 23aaae15fe2b41 Yongbo Zhang 2020-05-11 794 } 23aaae15fe2b41 Yongbo Zhang 2020-05-11 795 break; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 796 case 9: 23aaae15fe2b41 Yongbo Zhang 2020-05-11 797 for (i = 0; i < 4; i++) { 23aaae15fe2b41 Yongbo Zhang 2020-05-11 @798 status = rsnd_mod_write(mod, 23aaae15fe2b41 Yongbo Zhang 2020-05-11 799 SSI_SYS_STATUS((i * 2) + 1)); 23aaae15fe2b41 Yongbo Zhang 2020-05-11 800 status &= 0xf << 4; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 801 23aaae15fe2b41 Yongbo Zhang 2020-05-11 802 if (status) { 23aaae15fe2b41 Yongbo Zhang 2020-05-11 803 rsnd_dbg_irq_status(dev, 23aaae15fe2b41 Yongbo Zhang 2020-05-11 804 "%s err status : 0x%08x\n", 23aaae15fe2b41 Yongbo Zhang 2020-05-11 805 rsnd_mod_name(mod), status); 23aaae15fe2b41 Yongbo Zhang 2020-05-11 806 rsnd_mod_write(mod, 23aaae15fe2b41 Yongbo Zhang 2020-05-11 807 SSI_SYS_STATUS((i * 2) + 1), 23aaae15fe2b41 Yongbo Zhang 2020-05-11 808 0xf << 4); 23aaae15fe2b41 Yongbo Zhang 2020-05-11 809 stop = true; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 810 break; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 811 } 23aaae15fe2b41 Yongbo Zhang 2020-05-11 812 } 23aaae15fe2b41 Yongbo Zhang 2020-05-11 813 break; 23aaae15fe2b41 Yongbo Zhang 2020-05-11 814 } 23aaae15fe2b41 Yongbo Zhang 2020-05-11 815 } 23aaae15fe2b41 Yongbo Zhang 2020-05-11 816 5342dff2326393 Kuninori Morimoto 2015-11-26 817 rsnd_ssi_status_clear(mod); 02299d9875bab5 Kuninori Morimoto 2015-05-21 818 rsnd_ssi_interrupt_out: 02299d9875bab5 Kuninori Morimoto 2015-05-21 819 spin_unlock(&priv->lock); 02299d9875bab5 Kuninori Morimoto 2015-05-21 820 75defee0f1b3fc Kuninori Morimoto 2015-06-15 821 if (elapsed) 75defee0f1b3fc Kuninori Morimoto 2015-06-15 822 rsnd_dai_period_elapsed(io); 6a25c8da00284f Kuninori Morimoto 2016-01-26 823 6a25c8da00284f Kuninori Morimoto 2016-01-26 824 if (stop) 6a25c8da00284f Kuninori Morimoto 2016-01-26 825 snd_pcm_stop_xrun(io->substream); 6a25c8da00284f Kuninori Morimoto 2016-01-26 826 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx