Hi Thomas, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v5.4-rc5 next-20191030] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Thomas-Zimmermann/drm-udl-Convert-to-SHMEM/20191030-065855 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 23fdb198ae81f47a574296dab5167c5e136a02ba reproduce: # apt-get install sparse # sparse version: v0.6.1-dirty 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 sparse warnings: (new ones prefixed by >>) >> drivers/gpu/drm/udl/udl_fb.c:406:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char [noderef] *screen_base @@ got oderef] *screen_base @@ drivers/gpu/drm/udl/udl_fb.c:406:27: sparse: expected char [noderef] *screen_base >> drivers/gpu/drm/udl/udl_fb.c:406:27: sparse: got void *[assigned] vaddr -- >> drivers/gpu/drm/udl/udl_gem.c:41:34: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected struct file *filp @@ got struct drmstruct file *filp @@ >> drivers/gpu/drm/udl/udl_gem.c:41:34: sparse: expected struct file *filp >> drivers/gpu/drm/udl/udl_gem.c:41:34: sparse: got struct drm_gem_object *obj drivers/gpu/drm/udl/udl_gem.c:61:10: sparse: sparse: unknown field name in initializer vim +406 drivers/gpu/drm/udl/udl_fb.c 350 351 352 static int udlfb_create(struct drm_fb_helper *helper, 353 struct drm_fb_helper_surface_size *sizes) 354 { 355 struct udl_fbdev *ufbdev = 356 container_of(helper, struct udl_fbdev, helper); 357 struct drm_device *dev = ufbdev->helper.dev; 358 struct fb_info *info; 359 struct drm_framebuffer *fb; 360 struct drm_mode_fb_cmd2 mode_cmd; 361 struct drm_gem_shmem_object *shmem; 362 void *vaddr; 363 uint32_t size; 364 int ret = 0; 365 366 if (sizes->surface_bpp == 24) 367 sizes->surface_bpp = 32; 368 369 mode_cmd.width = sizes->surface_width; 370 mode_cmd.height = sizes->surface_height; 371 mode_cmd.pitches[0] = mode_cmd.width * ((sizes->surface_bpp + 7) / 8); 372 373 mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp, 374 sizes->surface_depth); 375 376 size = mode_cmd.pitches[0] * mode_cmd.height; 377 size = ALIGN(size, PAGE_SIZE); 378 379 shmem = drm_gem_shmem_create(dev, size); 380 if (IS_ERR(shmem)) { 381 ret = PTR_ERR(shmem); 382 goto out; 383 } 384 385 vaddr = drm_gem_shmem_vmap(&shmem->base); 386 if (IS_ERR(vaddr)) { 387 ret = PTR_ERR(vaddr); 388 DRM_ERROR("failed to vmap fb\n"); 389 goto out_gfree; 390 } 391 392 info = drm_fb_helper_alloc_fbi(helper); 393 if (IS_ERR(info)) { 394 ret = PTR_ERR(info); 395 goto out_gfree; 396 } 397 398 ret = udl_framebuffer_init(dev, &ufbdev->ufb, &mode_cmd, shmem); 399 if (ret) 400 goto out_gfree; 401 402 fb = &ufbdev->ufb.base; 403 404 ufbdev->helper.fb = fb; 405 > 406 info->screen_base = vaddr; 407 info->fix.smem_len = size; 408 info->fix.smem_start = (unsigned long)vaddr; 409 410 info->fbops = &udlfb_ops; 411 drm_fb_helper_fill_info(info, &ufbdev->helper, sizes); 412 413 DRM_DEBUG_KMS("allocated %dx%d vmal %p\n", 414 fb->width, fb->height, 415 ufbdev->ufb.shmem->vaddr); 416 417 return ret; 418 out_gfree: 419 drm_gem_object_put_unlocked(&ufbdev->ufb.shmem->base); 420 out: 421 return ret; 422 } 423 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel