]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/sched: Fix clang build warning in kunit tests
authorTvrtko Ursulin <tvrtko.ursulin@igalia.com>
Fri, 22 May 2026 09:01:29 +0000 (10:01 +0100)
committerTvrtko Ursulin <tursulin@ursulin.net>
Fri, 29 May 2026 09:37:12 +0000 (10:37 +0100)
Initializing compile time constant struct or arrays from another such
variable is a gcc extension, while clang strictly requires a compile time
constant literal.

As reported by LKP:

>> drivers/gpu/drm/scheduler/tests/tests_scheduler.c:675:10: error: initializer element is not a compile-time constant
                                 drm_sched_scheduler_two_clients_attr),
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/kunit/test.h:224:13: note: expanded from macro 'KUNIT_CASE_PARAM_ATTR'
                     .attr = attributes, .module_name = KBUILD_MODNAME}
                             ^~~~~~~~~~
   1 error generated.

vim +675 drivers/gpu/drm/scheduler/tests/tests_scheduler.c

   671
   672 static struct kunit_case drm_sched_scheduler_two_clients_tests[] = {
   673 KUNIT_CASE_PARAM_ATTR(drm_sched_scheduler_two_clients_test,
   674       drm_sched_scheduler_two_clients_gen_params,
 > 675       drm_sched_scheduler_two_clients_attr),
   676 {}
   677 };
   678

Fix it by using a compound literal as other tests do.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202605220312.Pu7UO05u-lkp@intel.com/
Fixes: 97ef806a5314 ("drm/sched: Add some scheduling quality unit tests")
Cc: Philipp Stanner <phasta@kernel.org>
Acked-by: Philipp Stanner <phasta@kernel.org>
Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net>
Link: https://lore.kernel.org/r/20260522090129.9385-1-tvrtko.ursulin@igalia.com
drivers/gpu/drm/scheduler/tests/tests_scheduler.c

index 8b2e4ef9915f0826c45e95658ed83b8a2e847b1e..90d31888cf9247b9c1990326874ea981dd2803c6 100644 (file)
@@ -666,14 +666,10 @@ static void drm_sched_scheduler_two_clients_test(struct kunit *test)
        }
 }
 
-static const struct kunit_attributes drm_sched_scheduler_two_clients_attr = {
-       .speed = KUNIT_SPEED_SLOW,
-};
-
 static struct kunit_case drm_sched_scheduler_two_clients_tests[] = {
        KUNIT_CASE_PARAM_ATTR(drm_sched_scheduler_two_clients_test,
                              drm_sched_scheduler_two_clients_gen_params,
-                             drm_sched_scheduler_two_clients_attr),
+                             { .speed = KUNIT_SPEED_SLOW }),
        {}
 };
 
@@ -858,14 +854,10 @@ static void drm_sched_scheduler_many_clients_test(struct kunit *test)
                drm_mock_sched_entity_free(client[i].entity);
 }
 
-static const struct kunit_attributes drm_sched_scheduler_many_clients_attr = {
-       .speed = KUNIT_SPEED_SLOW,
-};
-
 static struct kunit_case drm_sched_scheduler_many_clients_tests[] = {
        KUNIT_CASE_PARAM_ATTR(drm_sched_scheduler_many_clients_test,
                              drm_sched_scheduler_many_clients_gen_params,
-                             drm_sched_scheduler_many_clients_attr),
+                             { .speed = KUNIT_SPEED_SLOW }),
        {}
 };