Re: [PATCH] include/linux/kfifo.h
From: kernel test robot
Date: Fri Oct 04 2024 - 05:33:22 EST
Hi Xiaofeng,
kernel test robot noticed the following build errors:
[auto build test ERROR on linus/master]
[also build test ERROR on v6.12-rc1 next-20241004]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Xiaofeng-Lian/include-linux-kfifo-h/20241003-002015
base: linus/master
patch link: https://lore.kernel.org/r/20241002161437.376042-1-1198715581lxf%40gmail.com
patch subject: [PATCH] include/linux/kfifo.h
config: sparc64-randconfig-r073-20241004 (https://download.01.org/0day-ci/archive/20241004/202410041700.hpvbX22r-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241004/202410041700.hpvbX22r-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410041700.hpvbX22r-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
In file included from drivers/gpio/gpiolib-cdev.c:20:
drivers/gpio/gpiolib-cdev.c: In function 'linereq_create':
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_event' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:61:17: note: in definition of macro '__STRUCT_KFIFO_COMMON'
61 | datatype *type; \
| ^~~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:1782:9: note: in expansion of macro 'INIT_KFIFO'
1782 | INIT_KFIFO(lr->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_event' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:62:23: note: in definition of macro '__STRUCT_KFIFO_COMMON'
62 | const datatype *const_type; \
| ^~~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:1782:9: note: in expansion of macro 'INIT_KFIFO'
1782 | INIT_KFIFO(lr->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_event' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:64:17: note: in definition of macro '__STRUCT_KFIFO_COMMON'
64 | ptrtype *ptr; \
| ^~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:1782:9: note: in expansion of macro 'INIT_KFIFO'
1782 | INIT_KFIFO(lr->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_event' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:65:17: note: in definition of macro '__STRUCT_KFIFO_COMMON'
65 | ptrtype const *ptr_const; \
| ^~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:1782:9: note: in expansion of macro 'INIT_KFIFO'
1782 | INIT_KFIFO(lr->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_event' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:80:9: note: in definition of macro '__STRUCT_KFIFO_PTR'
80 | type buf[0]; \
| ^~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:1782:9: note: in expansion of macro 'INIT_KFIFO'
1782 | INIT_KFIFO(lr->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_event' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:139:66: note: in expansion of macro 'get_stack_data_type'
139 | (sizeof(*(fifo)) - sizeof(__tmp_stack)) / sizeof(get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:1782:9: note: in expansion of macro 'INIT_KFIFO'
1782 | INIT_KFIFO(lr->events);
| ^~~~~~~~~~
drivers/gpio/gpiolib-cdev.c: In function 'lineevent_create':
>> include/linux/kfifo.h:130:49: error: 'struct gpioevent_data' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:61:17: note: in definition of macro '__STRUCT_KFIFO_COMMON'
61 | datatype *type; \
| ^~~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2245:9: note: in expansion of macro 'INIT_KFIFO'
2245 | INIT_KFIFO(le->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpioevent_data' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:62:23: note: in definition of macro '__STRUCT_KFIFO_COMMON'
62 | const datatype *const_type; \
| ^~~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2245:9: note: in expansion of macro 'INIT_KFIFO'
2245 | INIT_KFIFO(le->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpioevent_data' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:64:17: note: in definition of macro '__STRUCT_KFIFO_COMMON'
64 | ptrtype *ptr; \
| ^~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2245:9: note: in expansion of macro 'INIT_KFIFO'
2245 | INIT_KFIFO(le->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpioevent_data' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:65:17: note: in definition of macro '__STRUCT_KFIFO_COMMON'
65 | ptrtype const *ptr_const; \
| ^~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2245:9: note: in expansion of macro 'INIT_KFIFO'
2245 | INIT_KFIFO(le->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpioevent_data' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:80:9: note: in definition of macro '__STRUCT_KFIFO_PTR'
80 | type buf[0]; \
| ^~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2245:9: note: in expansion of macro 'INIT_KFIFO'
2245 | INIT_KFIFO(le->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpioevent_data' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:139:66: note: in expansion of macro 'get_stack_data_type'
139 | (sizeof(*(fifo)) - sizeof(__tmp_stack)) / sizeof(get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2245:9: note: in expansion of macro 'INIT_KFIFO'
2245 | INIT_KFIFO(le->events);
| ^~~~~~~~~~
drivers/gpio/gpiolib-cdev.c: In function 'gpio_chrdev_open':
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_info_changed' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:61:17: note: in definition of macro '__STRUCT_KFIFO_COMMON'
61 | datatype *type; \
| ^~~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2777:9: note: in expansion of macro 'INIT_KFIFO'
2777 | INIT_KFIFO(cdev->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_info_changed' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:62:23: note: in definition of macro '__STRUCT_KFIFO_COMMON'
62 | const datatype *const_type; \
| ^~~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2777:9: note: in expansion of macro 'INIT_KFIFO'
2777 | INIT_KFIFO(cdev->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_info_changed' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:64:17: note: in definition of macro '__STRUCT_KFIFO_COMMON'
64 | ptrtype *ptr; \
| ^~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2777:9: note: in expansion of macro 'INIT_KFIFO'
2777 | INIT_KFIFO(cdev->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_info_changed' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:65:17: note: in definition of macro '__STRUCT_KFIFO_COMMON'
65 | ptrtype const *ptr_const; \
| ^~~~~~~
include/linux/kfifo.h:84:16: note: in expansion of macro '__STRUCT_KFIFO_PTR'
84 | struct __STRUCT_KFIFO_PTR(type, 0, type)
| ^~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2777:9: note: in expansion of macro 'INIT_KFIFO'
2777 | INIT_KFIFO(cdev->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_info_changed' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:80:9: note: in definition of macro '__STRUCT_KFIFO_PTR'
80 | type buf[0]; \
| ^~~~
include/linux/kfifo.h:116:41: note: in expansion of macro 'STRUCT_KFIFO_PTR'
116 | #define DECLARE_KFIFO_PTR(fifo, type) STRUCT_KFIFO_PTR(type) fifo
| ^~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:17: note: in expansion of macro 'DECLARE_KFIFO_PTR'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~
include/linux/kfifo.h:138:48: note: in expansion of macro 'get_stack_data_type'
138 | DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2777:9: note: in expansion of macro 'INIT_KFIFO'
2777 | INIT_KFIFO(cdev->events);
| ^~~~~~~~~~
>> include/linux/kfifo.h:130:49: error: 'struct gpio_v2_line_info_changed' has no member named 'type'
130 | #define get_stack_data_type(fifo) typeof(*(fifo)->type)
| ^~
include/linux/kfifo.h:139:66: note: in expansion of macro 'get_stack_data_type'
139 | (sizeof(*(fifo)) - sizeof(__tmp_stack)) / sizeof(get_stack_data_type(fifo));\
| ^~~~~~~~~~~~~~~~~~~
include/linux/kfifo.h:151:53: note: in expansion of macro '__STACK_SIZE'
151 | __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
| ^~~~~~~~~~~~
drivers/gpio/gpiolib-cdev.c:2777:9: note: in expansion of macro 'INIT_KFIFO'
2777 | INIT_KFIFO(cdev->events);
| ^~~~~~~~~~
..
vim +130 include/linux/kfifo.h
125
126 /**
127 * get_kfifo_data_type - macro to get type of kfifo's member
128 * @fifo: pointer of kfifo
129 */
> 130 #define get_stack_data_type(fifo) typeof(*(fifo)->type)
131
132 /**
133 * __STACK_SIZE - macro to calculate kfifo's buffer size
134 * @fifo: pointer of kfifo
135 */
136 #define __STACK_SIZE(fifo)\
137 ({\
138 DECLARE_KFIFO_PTR(__tmp_stack, get_stack_data_type(fifo));\
139 (sizeof(*(fifo)) - sizeof(__tmp_stack)) / sizeof(get_stack_data_type(fifo));\
140 })
141 /**
142 * INIT_KFIFO - Initialize a fifo declared by DECLARE_KFIFO
143 * @fifo: name of the declared fifo datatype
144 */
145 #define INIT_KFIFO(fifo) \
146 (void)({ \
147 typeof(&(fifo)) __tmp = &(fifo); \
148 struct __kfifo *__kfifo = &__tmp->kfifo; \
149 __kfifo->in = 0; \
150 __kfifo->out = 0; \
> 151 __kfifo->mask = __is_kfifo_ptr(__tmp) ? 0 : __STACK_SIZE(__tmp->buf) - 1;\
152 __kfifo->esize = sizeof(*__tmp->buf); \
153 __kfifo->data = __is_kfifo_ptr(__tmp) ? NULL : __tmp->buf; \
154 })
155
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki