Messages in this thread | | | Date | Tue, 22 Aug 2023 12:02:23 +0800 | From | kernel test robot <> | Subject | include/linux/gpio/driver.h:31:19: error: field has incomplete type 'msi_alloc_info_t' (aka 'struct irq_alloc_info') |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: f7757129e3dea336c407551c98f50057c22bb266 commit: 70afdab904d2d1e68bffe75fe08e7e48e0b0ff8e irqchip: Add IMX MU MSI controller driver date: 11 months ago config: i386-buildonly-randconfig-006-20230821 (https://download.01.org/0day-ci/archive/20230822/202308221127.sHuxETLk-lkp@intel.com/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce: (https://download.01.org/0day-ci/archive/20230822/202308221127.sHuxETLk-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/202308221127.sHuxETLk-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/leds/leds-lp8788.c:16: In file included from include/linux/mfd/lp8788.h:13: In file included from include/linux/gpio.h:62: In file included from include/asm-generic/gpio.h:11: >> include/linux/gpio/driver.h:31:19: error: field has incomplete type 'msi_alloc_info_t' (aka 'struct irq_alloc_info') msi_alloc_info_t msiinfo; ^ arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info' typedef struct irq_alloc_info msi_alloc_info_t; ^ 1 error generated. -- In file included from drivers/leds/leds-pca9532.c:19: >> include/linux/gpio/driver.h:31:19: error: field has incomplete type 'msi_alloc_info_t' (aka 'struct irq_alloc_info') msi_alloc_info_t msiinfo; ^ arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info' typedef struct irq_alloc_info msi_alloc_info_t; ^ drivers/leds/leds-pca9532.c:352:6: warning: variable 'gpios' set but not used [-Wunused-but-set-variable] int gpios = 0; ^ 1 warning and 1 error generated. -- >> drivers/base/platform-msi.c:26:20: error: field has incomplete type 'msi_alloc_info_t' (aka 'struct irq_alloc_info') msi_alloc_info_t arg; ^ arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info' typedef struct irq_alloc_info msi_alloc_info_t; ^ 1 error generated. -- In file included from drivers/mmc/host/dw_mmc.c:38: In file included from include/linux/of_gpio.h:14: >> include/linux/gpio/driver.h:31:19: error: field has incomplete type 'msi_alloc_info_t' (aka 'struct irq_alloc_info') msi_alloc_info_t msiinfo; ^ arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info' typedef struct irq_alloc_info msi_alloc_info_t; ^ drivers/mmc/host/dw_mmc.c:3040:33: warning: shift count >= width of type [-Wshift-count-overflow] if (!dma_set_mask(host->dev, DMA_BIT_MASK(64))) ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ drivers/mmc/host/dw_mmc.c:3042:13: warning: shift count >= width of type [-Wshift-count-overflow] DMA_BIT_MASK(64)); ^~~~~~~~~~~~~~~~ include/linux/dma-mapping.h:76:54: note: expanded from macro 'DMA_BIT_MASK' #define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1)) ^ ~~~ 2 warnings and 1 error generated. -- In file included from drivers/char/tpm/st33zp24/i2c.c:9: In file included from include/linux/gpio.h:62: In file included from include/asm-generic/gpio.h:11: >> include/linux/gpio/driver.h:31:19: error: field has incomplete type 'msi_alloc_info_t' (aka 'struct irq_alloc_info') msi_alloc_info_t msiinfo; ^ arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info' typedef struct irq_alloc_info msi_alloc_info_t; ^ In file included from drivers/char/tpm/st33zp24/i2c.c:17: In file included from drivers/char/tpm/st33zp24/../tpm.h:28: include/linux/tpm_eventlog.h:167:6: warning: variable 'mapping_size' set but not used [-Wunused-but-set-variable] int mapping_size; ^ 1 warning and 1 error generated. -- >> kernel/irq/msi.c:585:12: error: incomplete definition of type 'struct irq_alloc_info' return arg->hwirq; ~~~^ arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info' typedef struct irq_alloc_info msi_alloc_info_t; ^ >> kernel/irq/msi.c:591:23: error: invalid application of 'sizeof' to an incomplete type 'msi_alloc_info_t' (aka 'struct irq_alloc_info') memset(arg, 0, sizeof(*arg)); ^~~~~~ arch/x86/include/asm/string_32.h:195:52: note: expanded from macro 'memset' #define memset(s, c, count) __builtin_memset(s, c, count) ^~~~~ arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info' typedef struct irq_alloc_info msi_alloc_info_t; ^ kernel/irq/msi.c:598:5: error: incomplete definition of type 'struct irq_alloc_info' arg->desc = desc; ~~~^ arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info' typedef struct irq_alloc_info msi_alloc_info_t; ^ >> kernel/irq/msi.c:858:19: error: variable has incomplete type 'msi_alloc_info_t' (aka 'struct irq_alloc_info') msi_alloc_info_t arg = { }; ^ arch/x86/include/asm/msi.h:7:16: note: forward declaration of 'struct irq_alloc_info' typedef struct irq_alloc_info msi_alloc_info_t; ^ 4 errors generated. -- >> arch/x86/kernel/hpet.c:520:39: error: incomplete definition of type 'struct irq_alloc_info' irq_domain_set_info(domain, virq, arg->hwirq, info->chip, NULL, ~~~^ arch/x86/include/asm/io_apic.h:90:8: note: forward declaration of 'struct irq_alloc_info' struct irq_alloc_info; ^ arch/x86/kernel/hpet.c:521:28: error: incomplete definition of type 'struct irq_alloc_info' handle_edge_irq, arg->data, "edge"); ~~~^ arch/x86/include/asm/io_apic.h:90:8: note: forward declaration of 'struct irq_alloc_info' struct irq_alloc_info; ^ >> arch/x86/kernel/hpet.c:550:6: error: use of undeclared identifier 'x86_vector_domain' if (x86_vector_domain == NULL) ^ arch/x86/kernel/hpet.c:577:16: error: use of undeclared identifier 'x86_vector_domain' if (parent != x86_vector_domain) ^ >> arch/x86/kernel/hpet.c:598:24: error: variable has incomplete type 'struct irq_alloc_info' struct irq_alloc_info info; ^ arch/x86/include/asm/io_apic.h:90:8: note: forward declaration of 'struct irq_alloc_info' struct irq_alloc_info; ^ >> arch/x86/kernel/hpet.c:600:2: error: call to undeclared function 'init_irq_alloc_info'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] init_irq_alloc_info(&info, NULL); ^ >> arch/x86/kernel/hpet.c:601:14: error: use of undeclared identifier 'X86_IRQ_ALLOC_TYPE_HPET' info.type = X86_IRQ_ALLOC_TYPE_HPET; ^ 7 errors generated.
vim +31 include/linux/gpio/driver.h
fdd61a013a24f2 Linus Walleij 2019-08-08 27 91a29af413def6 Marc Zyngier 2022-07-07 28 union gpio_irq_fwspec { 91a29af413def6 Marc Zyngier 2022-07-07 29 struct irq_fwspec fwspec; 91a29af413def6 Marc Zyngier 2022-07-07 30 #ifdef CONFIG_GENERIC_MSI_IRQ_DOMAIN 91a29af413def6 Marc Zyngier 2022-07-07 @31 msi_alloc_info_t msiinfo; 91a29af413def6 Marc Zyngier 2022-07-07 32 #endif 91a29af413def6 Marc Zyngier 2022-07-07 33 }; 91a29af413def6 Marc Zyngier 2022-07-07 34
:::::: The code at line 31 was first introduced by commit :::::: 91a29af413def677495e447fb9a06957ebc8bed5 gpio: Remove dynamic allocation from populate_parent_alloc_arg()
:::::: TO: Marc Zyngier <maz@kernel.org> :::::: CC: Marc Zyngier <maz@kernel.org>
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
| |