From: kernel test robot <lkp@intel.com> To: Sui Jingfeng <15330273260@189.cn>, Maxime Ripard <mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>, Roland Scheidegger <sroland@vmware.com>, Zack Rusin <zackr@vmware.com>, Christian Gmeiner <christian.gmeiner@gmail.com>, David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, Rob Herring <robh+dt@kernel.org>, Thomas Bogendoerfer <tsbogend@alpha.franken.de>, Dan Carpenter <error27@gmail.com>, Krzysztof Kozlowski <krzk@kernel.org>, Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>, Sam Ravnborg <sam@ravnborg.org>, "David S . Miller" <davem@davemloft.net>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Lucas Stach <l.stach@pengutronix.de>, Maarten Lankhorst <maarten.lankhorst@linux.intel.com>, Ilia Mirkin <imirkin@alum.mit.edu>, Qing Zhang <zhangqing@loongson.cn>, suijingfeng <suijingfeng@loongson.cn> Cc: devicetree@vger.kernel.org, kbuild-all@lists.01.org, linux-mips@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v13 5/6] drm/loongson: add drm driver for loongson display controller Date: Mon, 28 Mar 2022 16:51:16 +0800 [thread overview] Message-ID: <202203281653.wiRaycuD-lkp@intel.com> (raw) In-Reply-To: <20220328022835.2508587-5-15330273260@189.cn> Hi Sui, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on drm/drm-next] [also build test WARNING on robh/for-next linus/master v5.17 next-20220328] [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] url: https://github.com/intel-lab-lkp/linux/commits/Sui-Jingfeng/MIPS-Loongson64-dts-update-the-display-controller-device-node/20220328-103101 base: git://anongit.freedesktop.org/drm/drm drm-next config: microblaze-randconfig-s032-20220328 (https://download.01.org/0day-ci/archive/20220328/202203281653.wiRaycuD-lkp@intel.com/config) compiler: microblaze-linux-gcc (GCC) 11.2.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-dirty # https://github.com/intel-lab-lkp/linux/commit/836c0ab646f65b0a8c6574b5d2495c8617e96545 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Sui-Jingfeng/MIPS-Loongson64-dts-update-the-display-controller-device-node/20220328-103101 git checkout 836c0ab646f65b0a8c6574b5d2495c8617e96545 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/gpu/drm/loongson/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/loongson/lsdc_i2c.c:179:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *dir_reg @@ got void * @@ drivers/gpu/drm/loongson/lsdc_i2c.c:179:23: sparse: expected void [noderef] __iomem *dir_reg drivers/gpu/drm/loongson/lsdc_i2c.c:179:23: sparse: got void * >> drivers/gpu/drm/loongson/lsdc_i2c.c:180:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *dat_reg @@ got void * @@ drivers/gpu/drm/loongson/lsdc_i2c.c:180:23: sparse: expected void [noderef] __iomem *dat_reg drivers/gpu/drm/loongson/lsdc_i2c.c:180:23: sparse: got void * drivers/gpu/drm/loongson/lsdc_i2c.c:252:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *dir_reg @@ got void * @@ drivers/gpu/drm/loongson/lsdc_i2c.c:252:23: sparse: expected void [noderef] __iomem *dir_reg drivers/gpu/drm/loongson/lsdc_i2c.c:252:23: sparse: got void * drivers/gpu/drm/loongson/lsdc_i2c.c:253:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *dat_reg @@ got void * @@ drivers/gpu/drm/loongson/lsdc_i2c.c:253:23: sparse: expected void [noderef] __iomem *dat_reg drivers/gpu/drm/loongson/lsdc_i2c.c:253:23: sparse: got void * -- >> drivers/gpu/drm/loongson/lsdc_pci_drv.c:185:61: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *reg_base @@ got void [noderef] __iomem *reg_base @@ drivers/gpu/drm/loongson/lsdc_pci_drv.c:185:61: sparse: expected void *reg_base drivers/gpu/drm/loongson/lsdc_pci_drv.c:185:61: sparse: got void [noderef] __iomem *reg_base -- >> drivers/gpu/drm/loongson/lsdc_output.c:232:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *reg_base @@ got void [noderef] __iomem *reg_base @@ drivers/gpu/drm/loongson/lsdc_output.c:232:63: sparse: expected void *reg_base drivers/gpu/drm/loongson/lsdc_output.c:232:63: sparse: got void [noderef] __iomem *reg_base vim +179 drivers/gpu/drm/loongson/lsdc_i2c.c 129 130 struct lsdc_i2c *lsdc_of_create_i2c_adapter(struct device *parent, 131 void *reg_base, 132 struct device_node *i2c_np) 133 { 134 unsigned int udelay = 5; 135 unsigned int timeout = 2200; 136 int nr = -1; 137 struct i2c_adapter *adapter; 138 struct lsdc_i2c *li2c; 139 u32 sda, scl; 140 int ret; 141 142 li2c = kzalloc(sizeof(*li2c), GFP_KERNEL); 143 if (!li2c) 144 return ERR_PTR(-ENOMEM); 145 146 spin_lock_init(&li2c->reglock); 147 148 ret = of_property_read_u32(i2c_np, "loongson,sda", &sda); 149 if (ret) { 150 dev_err(parent, "No sda pin number provided\n"); 151 return ERR_PTR(ret); 152 } 153 154 ret = of_property_read_u32(i2c_np, "loongson,scl", &scl); 155 if (ret) { 156 dev_err(parent, "No scl pin number provided\n"); 157 return ERR_PTR(ret); 158 } 159 160 ret = of_property_read_u32(i2c_np, "loongson,nr", &nr); 161 if (ret) { 162 int id; 163 164 if (ret == -EINVAL) 165 dev_dbg(parent, "no nr provided\n"); 166 167 id = of_alias_get_id(i2c_np, "i2c"); 168 if (id >= 0) 169 nr = id; 170 } 171 172 li2c->sda = 1 << sda; 173 li2c->scl = 1 << scl; 174 175 /* Optional properties which made the driver more flexible */ 176 of_property_read_u32(i2c_np, "loongson,udelay", &udelay); 177 of_property_read_u32(i2c_np, "loongson,timeout", &timeout); 178 > 179 li2c->dir_reg = reg_base + LS7A_DC_GPIO_DIR_REG; > 180 li2c->dat_reg = reg_base + LS7A_DC_GPIO_DAT_REG; 181 182 li2c->bit.setsda = ls7a_i2c_set_sda; 183 li2c->bit.setscl = ls7a_i2c_set_scl; 184 li2c->bit.getsda = ls7a_i2c_get_sda; 185 li2c->bit.getscl = ls7a_i2c_get_scl; 186 li2c->bit.udelay = udelay; 187 li2c->bit.timeout = usecs_to_jiffies(timeout); 188 li2c->bit.data = li2c; 189 190 adapter = &li2c->adapter; 191 adapter->algo_data = &li2c->bit; 192 adapter->owner = THIS_MODULE; 193 adapter->class = I2C_CLASS_DDC; 194 adapter->dev.parent = parent; 195 adapter->nr = nr; 196 adapter->dev.of_node = i2c_np; 197 198 snprintf(adapter->name, sizeof(adapter->name), "gpio-i2c-%d", nr); 199 200 i2c_set_adapdata(adapter, li2c); 201 202 ret = i2c_bit_add_numbered_bus(adapter); 203 if (ret) { 204 if (i2c_np) 205 of_node_put(i2c_np); 206 207 kfree(li2c); 208 return ERR_PTR(ret); 209 } 210 211 dev_info(parent, "sda=%u, scl=%u, nr=%d, udelay=%u, timeout=%u\n", 212 li2c->sda, li2c->scl, nr, udelay, timeout); 213 214 ret = devm_add_action_or_reset(parent, lsdc_of_release_i2c_adapter, li2c); 215 if (ret) 216 return NULL; 217 218 return li2c; 219 } 220 -- 0-DAY CI Kernel Test Service https://01.org/lkp
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: Sui Jingfeng <15330273260@189.cn>, Maxime Ripard <mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>, Roland Scheidegger <sroland@vmware.com>, Zack Rusin <zackr@vmware.com>, Christian Gmeiner <christian.gmeiner@gmail.com>, David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>, Rob Herring <robh+dt@kernel.org>, Thomas Bogendoerfer <tsbogend@alpha.franken.de>, Dan Carpenter <error27@gmail.com>, Krzysztof Kozlowski <krzk@kernel.org>, Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>, Sam Ravnborg <sam@ravnborg.org>, "David S . Miller" <davem@davemloft.net>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Lucas Stach <l.stach@pengutronix.de>, Maarten Lankhorst <maarten.lankhorst@linux.intel.com>, Ilia Mirkin <imirkin@alum.mit.edu>, Qing Zhang <zhangqing@loongson.cn>, suijingfeng <suijingfeng@loongson.cn> Cc: kbuild-all@lists.01.org, devicetree@vger.kernel.org, linux-mips@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v13 5/6] drm/loongson: add drm driver for loongson display controller Date: Mon, 28 Mar 2022 16:51:16 +0800 [thread overview] Message-ID: <202203281653.wiRaycuD-lkp@intel.com> (raw) In-Reply-To: <20220328022835.2508587-5-15330273260@189.cn> Hi Sui, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on drm/drm-next] [also build test WARNING on robh/for-next linus/master v5.17 next-20220328] [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] url: https://github.com/intel-lab-lkp/linux/commits/Sui-Jingfeng/MIPS-Loongson64-dts-update-the-display-controller-device-node/20220328-103101 base: git://anongit.freedesktop.org/drm/drm drm-next config: microblaze-randconfig-s032-20220328 (https://download.01.org/0day-ci/archive/20220328/202203281653.wiRaycuD-lkp@intel.com/config) compiler: microblaze-linux-gcc (GCC) 11.2.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-dirty # https://github.com/intel-lab-lkp/linux/commit/836c0ab646f65b0a8c6574b5d2495c8617e96545 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Sui-Jingfeng/MIPS-Loongson64-dts-update-the-display-controller-device-node/20220328-103101 git checkout 836c0ab646f65b0a8c6574b5d2495c8617e96545 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/gpu/drm/loongson/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/loongson/lsdc_i2c.c:179:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *dir_reg @@ got void * @@ drivers/gpu/drm/loongson/lsdc_i2c.c:179:23: sparse: expected void [noderef] __iomem *dir_reg drivers/gpu/drm/loongson/lsdc_i2c.c:179:23: sparse: got void * >> drivers/gpu/drm/loongson/lsdc_i2c.c:180:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *dat_reg @@ got void * @@ drivers/gpu/drm/loongson/lsdc_i2c.c:180:23: sparse: expected void [noderef] __iomem *dat_reg drivers/gpu/drm/loongson/lsdc_i2c.c:180:23: sparse: got void * drivers/gpu/drm/loongson/lsdc_i2c.c:252:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *dir_reg @@ got void * @@ drivers/gpu/drm/loongson/lsdc_i2c.c:252:23: sparse: expected void [noderef] __iomem *dir_reg drivers/gpu/drm/loongson/lsdc_i2c.c:252:23: sparse: got void * drivers/gpu/drm/loongson/lsdc_i2c.c:253:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *dat_reg @@ got void * @@ drivers/gpu/drm/loongson/lsdc_i2c.c:253:23: sparse: expected void [noderef] __iomem *dat_reg drivers/gpu/drm/loongson/lsdc_i2c.c:253:23: sparse: got void * -- >> drivers/gpu/drm/loongson/lsdc_pci_drv.c:185:61: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *reg_base @@ got void [noderef] __iomem *reg_base @@ drivers/gpu/drm/loongson/lsdc_pci_drv.c:185:61: sparse: expected void *reg_base drivers/gpu/drm/loongson/lsdc_pci_drv.c:185:61: sparse: got void [noderef] __iomem *reg_base -- >> drivers/gpu/drm/loongson/lsdc_output.c:232:63: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *reg_base @@ got void [noderef] __iomem *reg_base @@ drivers/gpu/drm/loongson/lsdc_output.c:232:63: sparse: expected void *reg_base drivers/gpu/drm/loongson/lsdc_output.c:232:63: sparse: got void [noderef] __iomem *reg_base vim +179 drivers/gpu/drm/loongson/lsdc_i2c.c 129 130 struct lsdc_i2c *lsdc_of_create_i2c_adapter(struct device *parent, 131 void *reg_base, 132 struct device_node *i2c_np) 133 { 134 unsigned int udelay = 5; 135 unsigned int timeout = 2200; 136 int nr = -1; 137 struct i2c_adapter *adapter; 138 struct lsdc_i2c *li2c; 139 u32 sda, scl; 140 int ret; 141 142 li2c = kzalloc(sizeof(*li2c), GFP_KERNEL); 143 if (!li2c) 144 return ERR_PTR(-ENOMEM); 145 146 spin_lock_init(&li2c->reglock); 147 148 ret = of_property_read_u32(i2c_np, "loongson,sda", &sda); 149 if (ret) { 150 dev_err(parent, "No sda pin number provided\n"); 151 return ERR_PTR(ret); 152 } 153 154 ret = of_property_read_u32(i2c_np, "loongson,scl", &scl); 155 if (ret) { 156 dev_err(parent, "No scl pin number provided\n"); 157 return ERR_PTR(ret); 158 } 159 160 ret = of_property_read_u32(i2c_np, "loongson,nr", &nr); 161 if (ret) { 162 int id; 163 164 if (ret == -EINVAL) 165 dev_dbg(parent, "no nr provided\n"); 166 167 id = of_alias_get_id(i2c_np, "i2c"); 168 if (id >= 0) 169 nr = id; 170 } 171 172 li2c->sda = 1 << sda; 173 li2c->scl = 1 << scl; 174 175 /* Optional properties which made the driver more flexible */ 176 of_property_read_u32(i2c_np, "loongson,udelay", &udelay); 177 of_property_read_u32(i2c_np, "loongson,timeout", &timeout); 178 > 179 li2c->dir_reg = reg_base + LS7A_DC_GPIO_DIR_REG; > 180 li2c->dat_reg = reg_base + LS7A_DC_GPIO_DAT_REG; 181 182 li2c->bit.setsda = ls7a_i2c_set_sda; 183 li2c->bit.setscl = ls7a_i2c_set_scl; 184 li2c->bit.getsda = ls7a_i2c_get_sda; 185 li2c->bit.getscl = ls7a_i2c_get_scl; 186 li2c->bit.udelay = udelay; 187 li2c->bit.timeout = usecs_to_jiffies(timeout); 188 li2c->bit.data = li2c; 189 190 adapter = &li2c->adapter; 191 adapter->algo_data = &li2c->bit; 192 adapter->owner = THIS_MODULE; 193 adapter->class = I2C_CLASS_DDC; 194 adapter->dev.parent = parent; 195 adapter->nr = nr; 196 adapter->dev.of_node = i2c_np; 197 198 snprintf(adapter->name, sizeof(adapter->name), "gpio-i2c-%d", nr); 199 200 i2c_set_adapdata(adapter, li2c); 201 202 ret = i2c_bit_add_numbered_bus(adapter); 203 if (ret) { 204 if (i2c_np) 205 of_node_put(i2c_np); 206 207 kfree(li2c); 208 return ERR_PTR(ret); 209 } 210 211 dev_info(parent, "sda=%u, scl=%u, nr=%d, udelay=%u, timeout=%u\n", 212 li2c->sda, li2c->scl, nr, udelay, timeout); 213 214 ret = devm_add_action_or_reset(parent, lsdc_of_release_i2c_adapter, li2c); 215 if (ret) 216 return NULL; 217 218 return li2c; 219 } 220 -- 0-DAY CI Kernel Test Service https://01.org/lkp
next prev parent reply other threads:[~2022-03-28 8:51 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-03-28 2:28 [PATCH v13 1/6] MIPS: Loongson64: dts: update the display controller device node Sui Jingfeng 2022-03-28 2:28 ` Sui Jingfeng 2022-03-28 2:28 ` [PATCH v13 2/6] MIPS: Loongson64: introduce board specific dts and add model property Sui Jingfeng 2022-03-28 2:28 ` Sui Jingfeng 2022-03-28 2:28 ` [PATCH v13 3/6] dt-bindings: display: Add Loongson display controller Sui Jingfeng 2022-03-28 2:28 ` Sui Jingfeng 2022-03-29 13:27 ` Rob Herring 2022-03-29 13:27 ` Rob Herring 2022-03-30 3:46 ` Sui Jingfeng 2022-03-30 3:46 ` Sui Jingfeng 2022-03-30 9:01 ` Jiaxun Yang 2022-03-30 9:01 ` Jiaxun Yang 2022-03-28 2:28 ` [PATCH v13 4/6] MIPS: Loongson64: defconfig: enable display bridge drivers Sui Jingfeng 2022-03-28 2:28 ` Sui Jingfeng 2022-03-28 2:28 ` [PATCH v13 5/6] drm/loongson: add drm driver for loongson display controller Sui Jingfeng 2022-03-28 2:28 ` Sui Jingfeng 2022-03-28 8:51 ` kernel test robot [this message] 2022-03-28 8:51 ` kernel test robot 2022-03-28 9:01 ` Sui Jingfeng 2022-03-28 9:01 ` Sui Jingfeng 2022-03-28 9:01 ` Sui Jingfeng 2022-03-28 10:01 ` Jiaxun Yang 2022-03-28 10:01 ` Jiaxun Yang 2022-03-28 10:01 ` Jiaxun Yang 2022-03-28 2:28 ` [PATCH v13 6/6] MAINTAINERS: add maintainers for DRM LSDC driver Sui Jingfeng 2022-03-28 2:28 ` Sui Jingfeng -- strict thread matches above, loose matches on Subject: below -- 2022-03-27 14:40 [PATCH v13 0/6] drm/loongson: add drm driver for loongson display controller Sui Jingfeng 2022-03-27 14:40 ` [PATCH v13 5/6] " Sui Jingfeng 2022-03-27 14:40 ` Sui Jingfeng
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202203281653.wiRaycuD-lkp@intel.com \ --to=lkp@intel.com \ --cc=15330273260@189.cn \ --cc=airlied@linux.ie \ --cc=andrey.zhizhikin@leica-geosystems.com \ --cc=christian.gmeiner@gmail.com \ --cc=daniel@ffwll.ch \ --cc=davem@davemloft.net \ --cc=devicetree@vger.kernel.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=error27@gmail.com \ --cc=imirkin@alum.mit.edu \ --cc=jiaxun.yang@flygoat.com \ --cc=kbuild-all@lists.01.org \ --cc=krzk@kernel.org \ --cc=l.stach@pengutronix.de \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mips@vger.kernel.org \ --cc=maarten.lankhorst@linux.intel.com \ --cc=mripard@kernel.org \ --cc=robh+dt@kernel.org \ --cc=sam@ravnborg.org \ --cc=sroland@vmware.com \ --cc=suijingfeng@loongson.cn \ --cc=tsbogend@alpha.franken.de \ --cc=tzimmermann@suse.de \ --cc=zackr@vmware.com \ --cc=zhangqing@loongson.cn \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.