Hi Frank, kernel test robot noticed the following build warnings: [auto build test WARNING on vkoul-dmaengine/next] [also build test WARNING on robh/for-next linus/master v6.4-rc3 next-20230525] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Frank-Li/dmaengine-fsl-edma-clean-up-EXPORT_SYMBOL_GPL-in-fsl-edma-common-c/20230526-224442 base: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next patch link: https://lore.kernel.org/r/20230526143639.1037099-12-Frank.Li%40nxp.com patch subject: [PATCH v1 11/12] dmaengine: fsl-edma: integrate v3 support config: i386-randconfig-s003-20230526 (https://download.01.org/0day-ci/archive/20230528/202305280115.V6ATKDcU-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-12) 11.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/intel-lab-lkp/linux/commit/1f79fc46f07a6ea3dbd002b3b46dbc3019bc1aa6 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Frank-Li/dmaengine-fsl-edma-clean-up-EXPORT_SYMBOL_GPL-in-fsl-edma-common-c/20230526-224442 git checkout 1f79fc46f07a6ea3dbd002b3b46dbc3019bc1aa6 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 olddefconfig make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/dma/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202305280115.V6ATKDcU-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) >> drivers/dma/fsl-edma-common.c:76:15: sparse: sparse: cast removes address space '__iomem' of expression >> drivers/dma/fsl-edma-common.c:76:15: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-common.c:76:15: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-common.c:76:15: sparse: got restricted __le32 * drivers/dma/fsl-edma-common.c:93:9: sparse: sparse: cast removes address space '__iomem' of expression drivers/dma/fsl-edma-common.c:93:9: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-common.c:93:9: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-common.c:93:9: sparse: got restricted __le32 * drivers/dma/fsl-edma-common.c:96:33: sparse: sparse: cast removes address space '__iomem' of expression drivers/dma/fsl-edma-common.c:96:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-common.c:96:33: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-common.c:96:33: sparse: got restricted __le32 * drivers/dma/fsl-edma-common.c:97:17: sparse: sparse: cast removes address space '__iomem' of expression drivers/dma/fsl-edma-common.c:97:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-common.c:97:17: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-common.c:97:17: sparse: got restricted __le32 * drivers/dma/fsl-edma-common.c:99:15: sparse: sparse: cast removes address space '__iomem' of expression drivers/dma/fsl-edma-common.c:99:15: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-common.c:99:15: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-common.c:99:15: sparse: got restricted __le32 * drivers/dma/fsl-edma-common.c:101:9: sparse: sparse: cast removes address space '__iomem' of expression drivers/dma/fsl-edma-common.c:101:9: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-common.c:101:9: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-common.c:101:9: sparse: got restricted __le32 * drivers/dma/fsl-edma-common.c:126:19: sparse: sparse: cast removes address space '__iomem' of expression drivers/dma/fsl-edma-common.c:126:19: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-common.c:126:19: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-common.c:126:19: sparse: got restricted __le32 * drivers/dma/fsl-edma-common.c:133:17: sparse: sparse: cast removes address space '__iomem' of expression drivers/dma/fsl-edma-common.c:133:17: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-common.c:133:17: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-common.c:133:17: sparse: got restricted __le32 * drivers/dma/fsl-edma-common.c:136:9: sparse: sparse: cast removes address space '__iomem' of expression drivers/dma/fsl-edma-common.c:136:9: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-common.c:136:9: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-common.c:136:9: sparse: got restricted __le32 * drivers/dma/fsl-edma-common.c:435:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:435:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:436:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:436:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:438:9: sparse: sparse: cast from restricted __le16 drivers/dma/fsl-edma-common.c:438:9: sparse: sparse: cast from restricted __le16 drivers/dma/fsl-edma-common.c:439:9: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned short [usertype] val @@ got restricted __le16 [usertype] soff @@ drivers/dma/fsl-edma-common.c:439:9: sparse: expected unsigned short [usertype] val drivers/dma/fsl-edma-common.c:439:9: sparse: got restricted __le16 [usertype] soff drivers/dma/fsl-edma-common.c:439:9: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int [usertype] val @@ got restricted __le16 [usertype] soff @@ drivers/dma/fsl-edma-common.c:439:9: sparse: expected unsigned int [usertype] val drivers/dma/fsl-edma-common.c:439:9: sparse: got restricted __le16 [usertype] soff drivers/dma/fsl-edma-common.c:441:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:441:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:442:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:442:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:444:9: sparse: sparse: cast from restricted __le16 drivers/dma/fsl-edma-common.c:444:9: sparse: sparse: cast from restricted __le16 drivers/dma/fsl-edma-common.c:445:9: sparse: sparse: cast from restricted __le16 drivers/dma/fsl-edma-common.c:445:9: sparse: sparse: cast from restricted __le16 drivers/dma/fsl-edma-common.c:446:9: sparse: sparse: cast from restricted __le16 drivers/dma/fsl-edma-common.c:446:9: sparse: sparse: cast from restricted __le16 drivers/dma/fsl-edma-common.c:448:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:448:9: sparse: sparse: cast from restricted __le32 drivers/dma/fsl-edma-common.c:456:9: sparse: sparse: cast from restricted __le16 drivers/dma/fsl-edma-common.c:456:9: sparse: sparse: cast from restricted __le16 -- >> drivers/dma/fsl-edma-main.c:61:16: sparse: sparse: cast removes address space '__iomem' of expression >> drivers/dma/fsl-edma-main.c:61:16: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-main.c:61:16: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-main.c:61:16: sparse: got restricted __le32 * drivers/dma/fsl-edma-main.c:65:9: sparse: sparse: cast removes address space '__iomem' of expression drivers/dma/fsl-edma-main.c:65:9: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void [noderef] __iomem *addr @@ got restricted __le32 * @@ drivers/dma/fsl-edma-main.c:65:9: sparse: expected void [noderef] __iomem *addr drivers/dma/fsl-edma-main.c:65:9: sparse: got restricted __le32 * vim +/__iomem +76 drivers/dma/fsl-edma-common.c 70 71 static void fsl_edma3_enable_request(struct fsl_edma_chan *fsl_chan) 72 { 73 u32 val, flags; 74 75 flags = fsl_edma_drvflags(fsl_chan); > 76 val = edma_readl_chreg(fsl_chan, ch_sbr); 77 /* Remote/local swapped wrongly on iMX8 QM Audio edma */ 78 if (flags & FSL_EDMA_DRV_QUIRK_SWAPPED) { 79 if (!fsl_chan->is_rxchan) 80 val |= EDMA_V3_CH_SBR_RD; 81 else 82 val |= EDMA_V3_CH_SBR_WR; 83 } else { 84 if (fsl_chan->is_rxchan) 85 val |= EDMA_V3_CH_SBR_RD; 86 else 87 val |= EDMA_V3_CH_SBR_WR; 88 } 89 90 if (fsl_chan->is_remote) 91 val &= ~(EDMA_V3_CH_SBR_RD | EDMA_V3_CH_SBR_WR); 92 93 edma_writel_chreg(fsl_chan, val, ch_sbr); 94 95 if ((flags & (FSL_EDMA_DRV_AXI | FSL_EDMA_DRV_HAS_CHMUX)) && 96 fsl_chan->srcid && !edma_readl_chreg(fsl_chan, ch_mux)) 97 edma_writel_chreg(fsl_chan, fsl_chan->srcid, ch_mux); 98 99 val = edma_readl_chreg(fsl_chan, ch_csr); 100 val |= EDMA_V3_CH_CSR_ERQ; 101 edma_writel_chreg(fsl_chan, val, ch_csr); 102 } 103 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki