lkml.org 
[lkml]   [2022]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V5 3/6] soc: imx: add i.MX93 SRC power domain driver
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@intel.com/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@intel.com>


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

\
 
 \ /
  Last update: 2022-07-15 21:05    [W:0.067 / U:1.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site