All of lore.kernel.org
 help / color / mirror / Atom feed
* kernel/irq/manage.c:2875:27: warning: excess elements in struct initializer
@ 2026-06-20  4:11 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-06-20  4:11 UTC (permalink / raw)
  To: Jing Wu; +Cc: oe-kbuild-all, 0day robot, Qiliang Yuan

tree:   https://github.com/intel-lab-lkp/linux/commits/Jing-Wu/sched-isolation-Replace-notifier-chain-with-explicit-callback-interface/20260618-111648
head:   1558ace3815ead46d20cb956f01d41f6c64fbf22
commit: a9dbca218958fa8af0150cd86394228406942c62 genirq: Add explicit housekeeping callback for managed IRQ migration
date:   2 days ago
config: i386-randconfig-2006-20250804 (https://download.01.org/0day-ci/archive/20260620/202606200620.p26ogaZE-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260620/202606200620.p26ogaZE-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202606200620.p26ogaZE-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from kernel/irq/manage.c:21:
   include/linux/sched/isolation.h:114:52: warning: 'struct housekeeping_cbs' declared inside parameter list will not be visible outside of this definition or declaration
     114 |                                             struct housekeeping_cbs *cbs) { return 0; }
         |                                                    ^~~~~~~~~~~~~~~~
   include/linux/sched/isolation.h:116:54: warning: 'struct housekeeping_cbs' declared inside parameter list will not be visible outside of this definition or declaration
     116 |                                               struct housekeeping_cbs *cbs) { return 0; }
         |                                                      ^~~~~~~~~~~~~~~~
   In file included from include/asm-generic/percpu.h:9,
                    from arch/x86/include/asm/percpu.h:598,
                    from arch/x86/include/asm/preempt.h:6,
                    from include/linux/preempt.h:79,
                    from include/linux/spinlock.h:56,
                    from include/linux/irq.h:14,
                    from kernel/irq/manage.c:11:
   kernel/irq/manage.c: In function 'irq_hk_apply':
   kernel/irq/manage.c:2850:61: error: '__tmp_mask' undeclared (first use in this function)
    2850 |                         struct cpumask *tmp = this_cpu_ptr(&__tmp_mask);
         |                                                             ^~~~~~~~~~
   include/linux/percpu-defs.h:221:54: note: in definition of macro '__verify_pcpu_ptr'
     221 |         const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL;    \
         |                                                      ^~~
   include/linux/percpu-defs.h:268:33: note: in expansion of macro 'per_cpu_ptr'
     268 | #define raw_cpu_ptr(ptr)        per_cpu_ptr(ptr, 0)
         |                                 ^~~~~~~~~~~
   include/linux/percpu-defs.h:269:33: note: in expansion of macro 'raw_cpu_ptr'
     269 | #define this_cpu_ptr(ptr)       raw_cpu_ptr(ptr)
         |                                 ^~~~~~~~~~~
   kernel/irq/manage.c:2850:47: note: in expansion of macro 'this_cpu_ptr'
    2850 |                         struct cpumask *tmp = this_cpu_ptr(&__tmp_mask);
         |                                               ^~~~~~~~~~~~
   kernel/irq/manage.c:2850:61: note: each undeclared identifier is reported only once for each function it appears in
    2850 |                         struct cpumask *tmp = this_cpu_ptr(&__tmp_mask);
         |                                                             ^~~~~~~~~~
   include/linux/percpu-defs.h:221:54: note: in definition of macro '__verify_pcpu_ptr'
     221 |         const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL;    \
         |                                                      ^~~
   include/linux/percpu-defs.h:268:33: note: in expansion of macro 'per_cpu_ptr'
     268 | #define raw_cpu_ptr(ptr)        per_cpu_ptr(ptr, 0)
         |                                 ^~~~~~~~~~~
   include/linux/percpu-defs.h:269:33: note: in expansion of macro 'raw_cpu_ptr'
     269 | #define this_cpu_ptr(ptr)       raw_cpu_ptr(ptr)
         |                                 ^~~~~~~~~~~
   kernel/irq/manage.c:2850:47: note: in expansion of macro 'this_cpu_ptr'
    2850 |                         struct cpumask *tmp = this_cpu_ptr(&__tmp_mask);
         |                                               ^~~~~~~~~~~~
   kernel/irq/manage.c: At top level:
   kernel/irq/manage.c:2874:15: error: variable 'irq_hk_cbs' has initializer but incomplete type
    2874 | static struct housekeeping_cbs irq_hk_cbs = {
         |               ^~~~~~~~~~~~~~~~
   kernel/irq/manage.c:2875:10: error: 'struct housekeeping_cbs' has no member named 'name'
    2875 |         .name           = "genirq/managed",
         |          ^~~~
>> kernel/irq/manage.c:2875:27: warning: excess elements in struct initializer
    2875 |         .name           = "genirq/managed",
         |                           ^~~~~~~~~~~~~~~~
   kernel/irq/manage.c:2875:27: note: (near initialization for 'irq_hk_cbs')
   kernel/irq/manage.c:2876:10: error: 'struct housekeeping_cbs' has no member named 'pre_validate'
    2876 |         .pre_validate   = irq_hk_validate,
         |          ^~~~~~~~~~~~
   kernel/irq/manage.c:2876:27: warning: excess elements in struct initializer
    2876 |         .pre_validate   = irq_hk_validate,
         |                           ^~~~~~~~~~~~~~~
   kernel/irq/manage.c:2876:27: note: (near initialization for 'irq_hk_cbs')
   kernel/irq/manage.c:2877:10: error: 'struct housekeeping_cbs' has no member named 'apply'
    2877 |         .apply          = irq_hk_apply,
         |          ^~~~~
   kernel/irq/manage.c:2877:27: warning: excess elements in struct initializer
    2877 |         .apply          = irq_hk_apply,
         |                           ^~~~~~~~~~~~
   kernel/irq/manage.c:2877:27: note: (near initialization for 'irq_hk_cbs')
   kernel/irq/manage.c: In function 'irq_hk_init':
   kernel/irq/manage.c:2884:62: error: passing argument 2 of 'housekeeping_register_cbs' from incompatible pointer type [-Wincompatible-pointer-types]
    2884 |         ret = housekeeping_register_cbs(HK_TYPE_MANAGED_IRQ, &irq_hk_cbs);
         |                                                              ^~~~~~~~~~~
         |                                                              |
         |                                                              struct housekeeping_cbs *
   include/linux/sched/isolation.h:114:70: note: expected 'struct housekeeping_cbs *' but argument is of type 'struct housekeeping_cbs *'
     114 |                                             struct housekeeping_cbs *cbs) { return 0; }
         |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
   kernel/irq/manage.c: At top level:
   kernel/irq/manage.c:2874:32: error: storage size of 'irq_hk_cbs' isn't known
    2874 | static struct housekeeping_cbs irq_hk_cbs = {
         |                                ^~~~~~~~~~


vim +2875 kernel/irq/manage.c

  2873	
  2874	static struct housekeeping_cbs irq_hk_cbs = {
> 2875		.name		= "genirq/managed",
  2876		.pre_validate	= irq_hk_validate,
  2877		.apply		= irq_hk_apply,
  2878	};
  2879	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-20  4:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-20  4:11 kernel/irq/manage.c:2875:27: warning: excess elements in struct initializer kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.