Hi "Peng, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on shawnguo/for-next] [also build test WARNING on linus/master v5.19-rc6 next-20220715] [cannot apply to robh/for-next] [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/Peng-Fan-OSS/imx-support-i-MX93-SRC-and-mediamix-blk-ctrl/20220711-142509 base: https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux.git for-next config: nios2-randconfig-s042-20220715 (https://download.01.org/0day-ci/archive/20220716/202207160211.szAgqVtl-lkp@xxxxxxxxx/config) compiler: nios2-linux-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/intel-lab-lkp/linux/commit/f4041693bcbc49608e02f34daad89d9ace678cfd git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Peng-Fan-OSS/imx-support-i-MX93-SRC-and-mediamix-blk-ctrl/20220711-142509 git checkout f4041693bcbc49608e02f34daad89d9ace678cfd # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=nios2 SHELL=/bin/bash drivers/iio/adc/ drivers/soc/imx/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> sparse warnings: (new ones prefixed by >>) >> drivers/soc/imx/imx93-pd.c:48:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/soc/imx/imx93-pd.c:48:26: sparse: expected void const volatile [noderef] __iomem *addr drivers/soc/imx/imx93-pd.c:48:26: sparse: got void * >> drivers/soc/imx/imx93-pd.c:50:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/soc/imx/imx93-pd.c:50:26: sparse: expected void volatile [noderef] __iomem *addr drivers/soc/imx/imx93-pd.c:50:26: sparse: got void * drivers/soc/imx/imx93-pd.c:52:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/soc/imx/imx93-pd.c:52:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/soc/imx/imx93-pd.c:52:15: sparse: got void * drivers/soc/imx/imx93-pd.c:52:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/soc/imx/imx93-pd.c:52:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/soc/imx/imx93-pd.c:52:15: sparse: got void * drivers/soc/imx/imx93-pd.c:70:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/soc/imx/imx93-pd.c:70:26: sparse: expected void const volatile [noderef] __iomem *addr drivers/soc/imx/imx93-pd.c:70:26: sparse: got void * drivers/soc/imx/imx93-pd.c:72:26: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void * @@ drivers/soc/imx/imx93-pd.c:72:26: sparse: expected void volatile [noderef] __iomem *addr drivers/soc/imx/imx93-pd.c:72:26: sparse: got void * drivers/soc/imx/imx93-pd.c:74:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/soc/imx/imx93-pd.c:74:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/soc/imx/imx93-pd.c:74:15: sparse: got void * drivers/soc/imx/imx93-pd.c:74:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/soc/imx/imx93-pd.c:74:15: sparse: expected void const volatile [noderef] __iomem *addr drivers/soc/imx/imx93-pd.c:74:15: sparse: got void * drivers/soc/imx/imx93-pd.c:111:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *[noderef] addr @@ got void [noderef] __iomem * @@ drivers/soc/imx/imx93-pd.c:111:22: sparse: expected void *[noderef] addr drivers/soc/imx/imx93-pd.c:111:22: sparse: got void [noderef] __iomem * drivers/soc/imx/imx93-pd.c:125:47: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got void * @@ drivers/soc/imx/imx93-pd.c:125:47: sparse: expected void const volatile [noderef] __iomem *addr drivers/soc/imx/imx93-pd.c:125:47: sparse: got void * drivers/soc/imx/imx93-pd.c:38:31: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:48:21: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:48:21: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:50:21: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:50:21: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:52:15: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:52:15: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:52:15: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:52:15: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:65:31: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:70:21: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:70:21: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:72:21: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:72:21: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:74:15: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:74:15: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:74:15: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:74:15: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:112:20: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:112:20: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:113:32: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:113:32: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:125:34: sparse: sparse: dereference of noderef expression drivers/soc/imx/imx93-pd.c:125:34: sparse: sparse: dereference of noderef expression vim +48 drivers/soc/imx/imx93-pd.c 34 35 static int imx93_pd_on(struct generic_pm_domain *genpd) 36 { 37 struct imx93_power_domain *domain = to_imx93_pd(genpd); 38 void * __iomem addr = domain->addr; 39 u32 val; 40 int ret; 41 42 ret = clk_bulk_prepare_enable(domain->num_clks, domain->clks); 43 if (ret) { 44 dev_err(domain->dev, "failed to enable clocks for domain: %s\n", genpd->name); 45 return ret; 46 } 47 > 48 val = readl(addr + MIX_SLICE_SW_CTRL_OFF); 49 val &= ~SLICE_SW_CTRL_PDN_SOFT_MASK; > 50 writel(val, addr + MIX_SLICE_SW_CTRL_OFF); 51 52 ret = readl_poll_timeout(addr + MIX_FUNC_STAT_OFF, val, 53 !(val & FUNC_STAT_ISO_STAT_MASK), 1, 10000); 54 if (ret) { 55 dev_err(domain->dev, "pd_on timeout: name: %s, stat: %x\n", genpd->name, val); 56 return ret; 57 } 58 59 return 0; 60 } 61 -- 0-DAY CI Kernel Test Service https://01.org/lkp