Yo Tvrtko,

On Fri, 2026-05-22 at 10:01 +0100, Tvrtko Ursulin wrote:
> 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.

Hmm, is it now a build error, or a build warning? The commit title says
"warning".

Depending on what it really is, where should it go, misc-next or misc-
fixes?

P.

> 
> 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 <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Closes: 
> https://lore.kernel.org/oe-kbuild-all/[email protected]/
> Fixes: 97ef806a5314 ("drm/sched: Add some scheduling quality unit tests")
> Cc: Philipp Stanner <[email protected]>
> ---
>  drivers/gpu/drm/scheduler/tests/tests_scheduler.c | 12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/gpu/drm/scheduler/tests/tests_scheduler.c 
> b/drivers/gpu/drm/scheduler/tests/tests_scheduler.c
> index 8b2e4ef9915f..90d31888cf92 100644
> --- a/drivers/gpu/drm/scheduler/tests/tests_scheduler.c
> +++ b/drivers/gpu/drm/scheduler/tests/tests_scheduler.c
> @@ -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 }),
>       {}
>  };
>  

Reply via email to