Hi all, After merging the drm-misc tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/gpu/drm/v3d/v3d_sched.c:263:1: error: return type is an incomplete type 263 | v3d_gpu_reset_for_timeout(struct v3d_dev *v3d, struct drm_sched_job *sched_job) | ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c: In function 'v3d_gpu_reset_for_timeout': drivers/gpu/drm/v3d/v3d_sched.c:289:9: error: 'return' with a value, in function returning void [-Werror=return-type] 289 | return DRM_GPU_SCHED_STAT_NOMINAL; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:263:1: note: declared here 263 | v3d_gpu_reset_for_timeout(struct v3d_dev *v3d, struct drm_sched_job *sched_job) | ^~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c: At top level: drivers/gpu/drm/v3d/v3d_sched.c:298:1: error: return type is an incomplete type 298 | v3d_cl_job_timedout(struct drm_sched_job *sched_job, enum v3d_queue q, | ^~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c: In function 'v3d_cl_job_timedout': drivers/gpu/drm/v3d/v3d_sched.c:309:10: error: 'return' with a value, in function returning void [-Werror=return-type] 309 | return DRM_GPU_SCHED_STAT_NOMINAL; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:298:1: note: declared here 298 | v3d_cl_job_timedout(struct drm_sched_job *sched_job, enum v3d_queue q, | ^~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c: At top level: drivers/gpu/drm/v3d/v3d_sched.c:316:1: error: return type is an incomplete type 316 | v3d_bin_job_timedout(struct drm_sched_job *sched_job) | ^~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:325:1: error: return type is an incomplete type 325 | v3d_render_job_timedout(struct drm_sched_job *sched_job) | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:334:1: error: return type is an incomplete type 334 | v3d_generic_job_timedout(struct drm_sched_job *sched_job) | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:342:1: error: return type is an incomplete type 342 | v3d_csd_job_timedout(struct drm_sched_job *sched_job) | ^~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c: In function 'v3d_csd_job_timedout': drivers/gpu/drm/v3d/v3d_sched.c:353:10: error: 'return' with a value, in function returning void [-Werror=return-type] 353 | return DRM_GPU_SCHED_STAT_NOMINAL; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:342:1: note: declared here 342 | v3d_csd_job_timedout(struct drm_sched_job *sched_job) | ^~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c: At top level: drivers/gpu/drm/v3d/v3d_sched.c:362:18: error: initialization of 'enum drm_gpu_sched_stat (*)(struct drm_sched_job *)' from incompatible pointer type 'void (*)(struct drm_sched_job *)' [-Werror=incompatible-pointer-types] 362 | .timedout_job = v3d_bin_job_timedout, | ^~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:362:18: note: (near initialization for 'v3d_bin_sched_ops.timedout_job') drivers/gpu/drm/v3d/v3d_sched.c:369:18: error: initialization of 'enum drm_gpu_sched_stat (*)(struct drm_sched_job *)' from incompatible pointer type 'void (*)(struct drm_sched_job *)' [-Werror=incompatible-pointer-types] 369 | .timedout_job = v3d_render_job_timedout, | ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:369:18: note: (near initialization for 'v3d_render_sched_ops.timedout_job') drivers/gpu/drm/v3d/v3d_sched.c:376:18: error: initialization of 'enum drm_gpu_sched_stat (*)(struct drm_sched_job *)' from incompatible pointer type 'void (*)(struct drm_sched_job *)' [-Werror=incompatible-pointer-types] 376 | .timedout_job = v3d_generic_job_timedout, | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:376:18: note: (near initialization for 'v3d_tfu_sched_ops.timedout_job') drivers/gpu/drm/v3d/v3d_sched.c:383:18: error: initialization of 'enum drm_gpu_sched_stat (*)(struct drm_sched_job *)' from incompatible pointer type 'void (*)(struct drm_sched_job *)' [-Werror=incompatible-pointer-types] 383 | .timedout_job = v3d_csd_job_timedout, | ^~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:383:18: note: (near initialization for 'v3d_csd_sched_ops.timedout_job') drivers/gpu/drm/v3d/v3d_sched.c:390:18: error: initialization of 'enum drm_gpu_sched_stat (*)(struct drm_sched_job *)' from incompatible pointer type 'void (*)(struct drm_sched_job *)' [-Werror=incompatible-pointer-types] 390 | .timedout_job = v3d_generic_job_timedout, | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/v3d/v3d_sched.c:390:18: note: (near initialization for 'v3d_cache_clean_sched_ops.timedout_job') Caused by commit a6a1f036c74e ("drm/scheduler: Job timeout handler returns status (v3)") I have used the drm-misc tree from next-20210129 for today. -- Cheers, Stephen Rothwell