drivers/gpu/drm/exynos/exynos_drm_fbdev.c:244:26: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kbuild test robot
Date: Thu Aug 08 2019 - 12:20:30 EST


tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ecb095bff5d4b8711a81968625b3b4a235d3e477
commit: 156bdac99061b4013c8e47799c6e574f7f84e9f4 drm/exynos: trigger build of all modules
date: 6 weeks ago
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-rc1-7-g2b96cd8-dirty
git checkout 156bdac99061b4013c8e47799c6e574f7f84e9f4
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)

>> drivers/gpu/drm/exynos/exynos_drm_fbdev.c:244:26: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const *addr @@ got void [noderevoid const *addr @@
>> drivers/gpu/drm/exynos/exynos_drm_fbdev.c:244:26: sparse: expected void const *addr
>> drivers/gpu/drm/exynos/exynos_drm_fbdev.c:244:26: sparse: got void [noderef] <asn:2> *kvaddr
--
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:458:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void *timing_base @@ got void [noderef] <asvoid *timing_base @@
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:458:39: sparse: expected void *timing_base
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:458:39: sparse: got void [noderef] <asn:2> *
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:470:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got n:2> *addr @@
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:470:41: sparse: expected void volatile [noderef] <asn:2> *addr
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:470:41: sparse: got void *
drivers/gpu/drm/exynos/exynos_drm_fimd.c:473:39: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got n:2> *addr @@
drivers/gpu/drm/exynos/exynos_drm_fimd.c:473:39: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/gpu/drm/exynos/exynos_drm_fimd.c:473:39: sparse: got void *
drivers/gpu/drm/exynos/exynos_drm_fimd.c:519:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got n:2> *addr @@
drivers/gpu/drm/exynos/exynos_drm_fimd.c:519:53: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/gpu/drm/exynos/exynos_drm_fimd.c:519:53: sparse: got void *
drivers/gpu/drm/exynos/exynos_drm_fimd.c:945:39: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void *timing_base @@ got void [noderef] <asvoid *timing_base @@
drivers/gpu/drm/exynos/exynos_drm_fimd.c:945:39: sparse: expected void *timing_base
drivers/gpu/drm/exynos/exynos_drm_fimd.c:945:39: sparse: got void [noderef] <asn:2> *
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:958:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] <asn:2> *addr @@ got n:2> *addr @@
>> drivers/gpu/drm/exynos/exynos_drm_fimd.c:958:33: sparse: expected void const volatile [noderef] <asn:2> *addr
drivers/gpu/drm/exynos/exynos_drm_fimd.c:958:33: sparse: got void *
drivers/gpu/drm/exynos/exynos_drm_fimd.c:960:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] <asn:2> *addr @@ got n:2> *addr @@
drivers/gpu/drm/exynos/exynos_drm_fimd.c:960:33: sparse: expected void volatile [noderef] <asn:2> *addr
drivers/gpu/drm/exynos/exynos_drm_fimd.c:960:33: sparse: got void *
--
>> drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c:527:5: sparse: sparse: symbol 'analogix_dp_start_aux_transaction' was not declared. Should it be static?
>> drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c:571:5: sparse: sparse: symbol 'analogix_dp_write_byte_to_dpcd' was not declared. Should it be static?

vim +244 drivers/gpu/drm/exynos/exynos_drm_fbdev.c

1c248b7d2960fa Inki Dae 2011-10-04 236
1c248b7d2960fa Inki Dae 2011-10-04 237 static void exynos_drm_fbdev_destroy(struct drm_device *dev,
1c248b7d2960fa Inki Dae 2011-10-04 238 struct drm_fb_helper *fb_helper)
1c248b7d2960fa Inki Dae 2011-10-04 239 {
4744ad2414bd89 Inki Dae 2012-12-07 240 struct exynos_drm_fbdev *exynos_fbd = to_exynos_fbdev(fb_helper);
813fd67b57ffca Joonyoung Shim 2015-10-02 241 struct exynos_drm_gem *exynos_gem = exynos_fbd->exynos_gem;
1c248b7d2960fa Inki Dae 2011-10-04 242 struct drm_framebuffer *fb;
1c248b7d2960fa Inki Dae 2011-10-04 243
813fd67b57ffca Joonyoung Shim 2015-10-02 @244 vunmap(exynos_gem->kvaddr);
4744ad2414bd89 Inki Dae 2012-12-07 245
1c248b7d2960fa Inki Dae 2011-10-04 246 /* release drm framebuffer and real buffer */
1c248b7d2960fa Inki Dae 2011-10-04 247 if (fb_helper->fb && fb_helper->fb->funcs) {
1c248b7d2960fa Inki Dae 2011-10-04 248 fb = fb_helper->fb;
328c057ca4def7 Daniel Vetter 2016-12-27 249 if (fb)
f7eff60ea0e4e3 Rob Clark 2012-09-05 250 drm_framebuffer_remove(fb);
1c248b7d2960fa Inki Dae 2011-10-04 251 }
1c248b7d2960fa Inki Dae 2011-10-04 252
7c7d4507fb04bb Archit Taneja 2015-07-22 253 drm_fb_helper_unregister_fbi(fb_helper);
1c248b7d2960fa Inki Dae 2011-10-04 254
1c248b7d2960fa Inki Dae 2011-10-04 255 drm_fb_helper_fini(fb_helper);
1c248b7d2960fa Inki Dae 2011-10-04 256 }
1c248b7d2960fa Inki Dae 2011-10-04 257

:::::: The code at line 244 was first introduced by commit
:::::: 813fd67b57ffca0dd19fe1834f894a4558cf5e0b drm/exynos: cleanup name of gem object for exynos_drm

:::::: TO: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx>
:::::: CC: Inki Dae <daeinki@xxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation