Hi Prike, FYI, the error/warning still remains. tree: git://people.freedesktop.org/~agd5f/linux.git amd-19.50 head: f981f76437edab0861f3721c27f1c3cec5903dcc commit: 8d660d16d64cb75fab00f3e78409a93394cb7d29 [2055/2680] drm/amdkcl: Test whether drm_dev_put is available config: i386-allyesconfig (attached as .config) compiler: gcc-7 (Debian 7.5.0-3) 7.5.0 reproduce: git checkout 8d660d16d64cb75fab00f3e78409a93394cb7d29 # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_plane.h:713:5: note: declared here int drm_universal_plane_init(struct drm_device *dev, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_lookup': include/kcl/kcl_drm.h:260:32: error: passing argument 1 of 'drm_gem_object_lookup' from incompatible pointer type [-Werror=incompatible-pointer-types] return drm_gem_object_lookup(dev, filp, handle); ^~~ In file included from include/kcl/kcl_drm.h:9:0, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_gem.h:386:24: note: expected 'struct drm_file *' but argument is of type 'struct drm_device *' struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle); ^~~~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h:260:37: warning: passing argument 2 of 'drm_gem_object_lookup' makes integer from pointer without a cast [-Wint-conversion] return drm_gem_object_lookup(dev, filp, handle); ^~~~ In file included from include/kcl/kcl_drm.h:9:0, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_gem.h:386:24: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct drm_file *' struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle); ^~~~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h:260:10: error: too many arguments to function 'drm_gem_object_lookup' return drm_gem_object_lookup(dev, filp, handle); ^~~~~~~~~~~~~~~~~~~~~ In file included from include/kcl/kcl_drm.h:9:0, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_gem.h:386:24: note: declared here struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle); ^~~~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h: At top level: include/kcl/kcl_drm.h:303:8: error: redefinition of 'struct drm_format_name_buf' struct drm_format_name_buf { ^~~~~~~~~~~~~~~~~~~ In file included from include/drm/drmP.h:69:0, from include/kcl/kcl_drm.h:6, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_fourcc.h:142:8: note: originally defined here struct drm_format_name_buf { ^~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_put_unlocked': include/kcl/kcl_drm.h:335:9: error: implicit declaration of function 'drm_gem_object_unreference_unlocked'; did you mean 'drm_gem_object_put_unlocked'? [-Werror=implicit-function-declaration] return drm_gem_object_unreference_unlocked(obj); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drm_gem_object_put_unlocked include/kcl/kcl_drm.h:335:9: warning: 'return' with a value, in function returning void return drm_gem_object_unreference_unlocked(obj); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/kcl/kcl_drm.h:332:20: note: declared here static inline void kcl_drm_gem_object_put_unlocked(struct drm_gem_object *obj) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/kcl/kcl_drm.h: In function 'kcl_drm_atomic_get_old_crtc_state_before_commit': include/kcl/kcl_drm.h:359:43: error: invalid type argument of '->' (have 'struct __drm_crtcs_state') return state->crtcs[drm_crtc_index(crtc)]->state; ^~ include/kcl/kcl_drm.h: In function 'kcl_drm_atomic_get_new_crtc_state_after_commit': include/kcl/kcl_drm.h:394:43: error: invalid type argument of '->' (have 'struct __drm_crtcs_state') return state->crtcs[drm_crtc_index(crtc)]->state; ^~ include/kcl/kcl_drm.h: At top level: include/kcl/kcl_drm.h:499:8: error: redefinition of 'struct drm_printer' struct drm_printer { ^~~~~~~~~~~ In file included from include/drm/drm_mm.h:49:0, from include/drm/drm_vma_manager.h:26, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/drm/drm_print.h:70:8: note: originally defined here struct drm_printer { ^~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h:505:6: error: conflicting types for 'drm_printf' void drm_printf(struct drm_printer *p, const char *f, ...); ^~~~~~~~~~ In file included from include/drm/drm_mm.h:49:0, from include/drm/drm_vma_manager.h:26, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/drm/drm_print.h:86:6: note: previous declaration of 'drm_printf' was here void drm_printf(struct drm_printer *p, const char *f, ...); ^~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: >> include/kcl/kcl_drm.h:571:20: error: static declaration of 'drm_dev_put' follows non-static declaration static inline void drm_dev_put(struct drm_device *dev) ^~~~~~~~~~~ In file included from include/drm/drmP.h:74:0, from include/kcl/kcl_drm.h:6, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_drv.h:739:6: note: previous declaration of 'drm_dev_put' was here void drm_dev_put(struct drm_device *dev); ^~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h: In function 'drm_dev_put': >> include/kcl/kcl_drm.h:573:9: error: implicit declaration of function 'drm_dev_unref'; did you mean 'drm_dev_enter'? [-Werror=implicit-function-declaration] return drm_dev_unref(dev); ^~~~~~~~~~~~~ drm_dev_enter include/kcl/kcl_drm.h:573:9: warning: 'return' with a value, in function returning void return drm_dev_unref(dev); ^~~~~~~~~~~~~~~~~~ include/kcl/kcl_drm.h:571:20: note: declared here static inline void drm_dev_put(struct drm_device *dev) ^~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h: At top level: include/kcl/kcl_mm.h:65:21: error: redefinition of 'kvmalloc' static inline void *kvmalloc(size_t size, gfp_t flags) ^~~~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:635:21: note: previous definition of 'kvmalloc' was here static inline void *kvmalloc(size_t size, gfp_t flags) ^~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h:75:21: error: redefinition of 'kvzalloc' static inline void *kvzalloc(size_t size, gfp_t flags) ^~~~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:643:21: note: previous definition of 'kvzalloc' was here static inline void *kvzalloc(size_t size, gfp_t flags) ^~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h:85:20: error: static declaration of 'kvfree' follows non-static declaration static inline void kvfree(const void *addr) ^~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:663:13: note: previous declaration of 'kvfree' was here extern void kvfree(const void *addr); ^~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h:105:21: error: redefinition of 'kvmalloc_array' static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags) ^~~~~~~~~~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:648:21: note: previous definition of 'kvmalloc_array' was here static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags) ^~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h:118:21: error: redefinition of 'kvcalloc' static inline void *kvcalloc(size_t n, size_t size, gfp_t flags) ^~~~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:658:21: note: previous definition of 'kvcalloc' was here static inline void *kvcalloc(size_t n, size_t size, gfp_t flags) ^~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0, from :0: include/kcl/kcl_fence.h:161:20: error: redefinition of 'dma_fence_set_error' static inline void dma_fence_set_error(struct dma_fence *fence, ^~~~~~~~~~~~~~~~~~~ In file included from include/drm/drmP.h:58:0, from include/kcl/kcl_drm.h:6, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/linux/dma-fence.h:517:20: note: previous definition of 'dma_fence_set_error' was here static inline void dma_fence_set_error(struct dma_fence *fence, ^~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0, from :0: include/kcl/kcl_fence.h: In function 'dma_fence_set_error': include/kcl/kcl_fence.h:167:7: error: 'struct dma_fence' has no member named 'status' fence->status = error; ^~ cc1: some warnings being treated as errors -- from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_plane.h:713:5: note: declared here int drm_universal_plane_init(struct drm_device *dev, ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_lookup': include/kcl/kcl_drm.h:260:32: error: passing argument 1 of 'drm_gem_object_lookup' from incompatible pointer type [-Werror=incompatible-pointer-types] return drm_gem_object_lookup(dev, filp, handle); ^~~ In file included from include/kcl/kcl_drm.h:9:0, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_gem.h:386:24: note: expected 'struct drm_file *' but argument is of type 'struct drm_device *' struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle); ^~~~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h:260:37: warning: passing argument 2 of 'drm_gem_object_lookup' makes integer from pointer without a cast [-Wint-conversion] return drm_gem_object_lookup(dev, filp, handle); ^~~~ In file included from include/kcl/kcl_drm.h:9:0, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_gem.h:386:24: note: expected 'u32 {aka unsigned int}' but argument is of type 'struct drm_file *' struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle); ^~~~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h:260:10: error: too many arguments to function 'drm_gem_object_lookup' return drm_gem_object_lookup(dev, filp, handle); ^~~~~~~~~~~~~~~~~~~~~ In file included from include/kcl/kcl_drm.h:9:0, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_gem.h:386:24: note: declared here struct drm_gem_object *drm_gem_object_lookup(struct drm_file *filp, u32 handle); ^~~~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h: At top level: include/kcl/kcl_drm.h:303:8: error: redefinition of 'struct drm_format_name_buf' struct drm_format_name_buf { ^~~~~~~~~~~~~~~~~~~ In file included from include/drm/drmP.h:69:0, from include/kcl/kcl_drm.h:6, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_fourcc.h:142:8: note: originally defined here struct drm_format_name_buf { ^~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h: In function 'kcl_drm_gem_object_put_unlocked': include/kcl/kcl_drm.h:335:9: error: implicit declaration of function 'drm_gem_object_unreference_unlocked'; did you mean 'drm_gem_object_put_unlocked'? [-Werror=implicit-function-declaration] return drm_gem_object_unreference_unlocked(obj); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drm_gem_object_put_unlocked include/kcl/kcl_drm.h:335:9: warning: 'return' with a value, in function returning void return drm_gem_object_unreference_unlocked(obj); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/kcl/kcl_drm.h:332:20: note: declared here static inline void kcl_drm_gem_object_put_unlocked(struct drm_gem_object *obj) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/kcl/kcl_drm.h: In function 'kcl_drm_atomic_get_old_crtc_state_before_commit': include/kcl/kcl_drm.h:359:43: error: invalid type argument of '->' (have 'struct __drm_crtcs_state') return state->crtcs[drm_crtc_index(crtc)]->state; ^~ include/kcl/kcl_drm.h: In function 'kcl_drm_atomic_get_new_crtc_state_after_commit': include/kcl/kcl_drm.h:394:43: error: invalid type argument of '->' (have 'struct __drm_crtcs_state') return state->crtcs[drm_crtc_index(crtc)]->state; ^~ include/kcl/kcl_drm.h: At top level: include/kcl/kcl_drm.h:499:8: error: redefinition of 'struct drm_printer' struct drm_printer { ^~~~~~~~~~~ In file included from include/drm/drm_mm.h:49:0, from include/drm/drm_vma_manager.h:26, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/drm/drm_print.h:70:8: note: originally defined here struct drm_printer { ^~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h:505:6: error: conflicting types for 'drm_printf' void drm_printf(struct drm_printer *p, const char *f, ...); ^~~~~~~~~~ In file included from include/drm/drm_mm.h:49:0, from include/drm/drm_vma_manager.h:26, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/drm/drm_print.h:86:6: note: previous declaration of 'drm_printf' was here void drm_printf(struct drm_printer *p, const char *f, ...); ^~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: >> include/kcl/kcl_drm.h:571:20: error: static declaration of 'drm_dev_put' follows non-static declaration static inline void drm_dev_put(struct drm_device *dev) ^~~~~~~~~~~ In file included from include/drm/drmP.h:74:0, from include/kcl/kcl_drm.h:6, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/drm/drm_drv.h:739:6: note: previous declaration of 'drm_dev_put' was here void drm_dev_put(struct drm_device *dev); ^~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:6:0, from :0: include/kcl/kcl_drm.h: In function 'drm_dev_put': >> include/kcl/kcl_drm.h:573:9: error: implicit declaration of function 'drm_dev_unref'; did you mean 'drm_dev_enter'? [-Werror=implicit-function-declaration] return drm_dev_unref(dev); ^~~~~~~~~~~~~ drm_dev_enter include/kcl/kcl_drm.h:573:9: warning: 'return' with a value, in function returning void return drm_dev_unref(dev); ^~~~~~~~~~~~~~~~~~ include/kcl/kcl_drm.h:571:20: note: declared here static inline void drm_dev_put(struct drm_device *dev) ^~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h: At top level: include/kcl/kcl_mm.h:65:21: error: redefinition of 'kvmalloc' static inline void *kvmalloc(size_t size, gfp_t flags) ^~~~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:635:21: note: previous definition of 'kvmalloc' was here static inline void *kvmalloc(size_t size, gfp_t flags) ^~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h:75:21: error: redefinition of 'kvzalloc' static inline void *kvzalloc(size_t size, gfp_t flags) ^~~~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:643:21: note: previous definition of 'kvzalloc' was here static inline void *kvzalloc(size_t size, gfp_t flags) ^~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h:85:20: error: static declaration of 'kvfree' follows non-static declaration static inline void kvfree(const void *addr) ^~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:663:13: note: previous declaration of 'kvfree' was here extern void kvfree(const void *addr); ^~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h:105:21: error: redefinition of 'kvmalloc_array' static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags) ^~~~~~~~~~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:648:21: note: previous definition of 'kvmalloc_array' was here static inline void *kvmalloc_array(size_t n, size_t size, gfp_t flags) ^~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:8:0, from :0: include/kcl/kcl_mm.h:118:21: error: redefinition of 'kvcalloc' static inline void *kvcalloc(size_t n, size_t size, gfp_t flags) ^~~~~~~~ In file included from include/drm/drm_vma_manager.h:27:0, from include/kcl/kcl_drm_vma_manager.h:8, from drivers/gpu/drm/ttm/backport/backport.h:5, from :0: include/linux/mm.h:658:21: note: previous definition of 'kvcalloc' was here static inline void *kvcalloc(size_t n, size_t size, gfp_t flags) ^~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0, from :0: include/kcl/kcl_fence.h:161:20: error: redefinition of 'dma_fence_set_error' static inline void dma_fence_set_error(struct dma_fence *fence, ^~~~~~~~~~~~~~~~~~~ In file included from include/drm/drmP.h:58:0, from include/kcl/kcl_drm.h:6, from drivers/gpu/drm/ttm/backport/backport.h:6, from :0: include/linux/dma-fence.h:517:20: note: previous definition of 'dma_fence_set_error' was here static inline void dma_fence_set_error(struct dma_fence *fence, ^~~~~~~~~~~~~~~~~~~ In file included from drivers/gpu/drm/ttm/backport/backport.h:9:0, from :0: include/kcl/kcl_fence.h: In function 'dma_fence_set_error': include/kcl/kcl_fence.h:167:7: error: 'struct dma_fence' has no member named 'status' fence->status = error; ^~ drivers/gpu/drm/ttm/ttm_bo.c: In function 'ttm_bo_mem_space_debug': drivers/gpu/drm/ttm/ttm_bo.c:101:25: error: invalid initializer struct drm_printer p = drm_debug_printer(TTM_PFX); ^~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors .. vim +/drm_dev_put +571 include/kcl/kcl_drm.h 569 570 #ifndef HAVE_DRM_DEV_PUT > 571 static inline void drm_dev_put(struct drm_device *dev) 572 { > 573 return drm_dev_unref(dev); 574 } 575 #endif 576 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation