Re: [pci:controller/rockchip] BUILD SUCCESS 592aac418ebdf451fe9b146bc2ca6dfc96921af0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

[...]
> irq_set_irq_type() is declared in <linux/irq.h>.  On arm64, where this
> driver is used, <linux/irq.h> is included via this path:
> 
>   linux/pci.h
>     linux/interrupt.h
>       linux/hardirq.h
> 	arch/arm64/include/asm/hardirq.h
> 	  asm-generic/hardirq.h
> 	    linux/irq.h
> 
> but on x86, arch/x86/include/asm/hardirq.h does not include
> asm-generic/hardirq.h and therefore doesn't include <linux/irq.h>.
> 
> I'm confused about why the robot reported a successful build with
> clang-19.  It seems like that should have the same problem I saw with
> gcc, so I'd like to try it manually.

I am not sure how the bot built this, too.  I can't seem to successfully
built it either locally using LLVM 19, per:

  drivers/pci/controller/pcie-rockchip-ep.o
  # CC      drivers/pci/controller/pcie-rockchip-ep.o - due to target missing
    clang-19 -Wp,-MMD,drivers/pci/controller/.pcie-rockchip-ep.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ --target=x86_64-linux-gnu -fintegrated-as -Werror=unknown-warning-option -Werror=ignored-optimization-argument -Werror=option-ignored -Werror=unused-command-line-argument -fmacro-prefix-map=./= -std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=branch -fno-jump-tables -m64 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mstack-alignment=8 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables -mretpoline-external-thunk -mindirect-branch-cs-prefix -mfunction-return=thunk-extern -fpatchable-function-entry=16,16 -fno-delete-null-pointer-checks -O2 -fstack-protector-strong -fomit-frame-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -falign-functions=16 -fstrict-flex-arrays=3 -fno-strict-overflow -fno-stack-check -Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=2048 -Wno-gnu -Wvla -Wno-pointer-sign -Wcast-function-type -Wimplicit-fallthrough -Werror=date-time -Werror=incompatible-pointer-types -Wenum-conversion -Wextra -Wunused -Wno-unused-but-set-variable -Wno-unused-const-variable -Wno-format-overflow -Wno-format-overflow-non-kprintf -Wno-format-truncation-non-kprintf -Wno-override-init -Wno-pointer-to-enum-cast -Wno-tautological-constant-out-of-range-compare -Wno-unaligned-access -Wno-enum-compare-conditional -Wno-enum-enum-conversion -Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value -Wno-sign-compare -Wno-unused-parameter    -DKBUILD_MODFILE='"drivers/pci/controller/pcie-rockchip-ep"' -DKBUILD_BASENAME='"pcie_rockchip_ep"' -DKBUILD_MODNAME='"pcie_rockchip_ep"' -D__KBUILD_MODNAME=kmod_pcie_rockchip_ep -c -o drivers/pci/controller/pcie-rockchip-ep.o drivers/pci/controller/pcie-rockchip-ep.c  
  drivers/pci/controller/pcie-rockchip-ep.c:640:2: error: call to undeclared function 'irq_set_irq_type'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    640 |         irq_set_irq_type(ep->perst_irq,
        |         ^
  drivers/pci/controller/pcie-rockchip-ep.c:640:2: note: did you mean 'irq_set_irq_wake'?
  ./include/linux/interrupt.h:489:12: note: 'irq_set_irq_wake' declared here
    489 | extern int irq_set_irq_wake(unsigned int irq, unsigned int on);
        |            ^
  drivers/pci/controller/pcie-rockchip-ep.c:672:2: error: call to undeclared function 'irq_set_status_flags'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    672 |         irq_set_status_flags(ep->perst_irq, IRQ_NOAUTOEN);
        |         ^
  drivers/pci/controller/pcie-rockchip-ep.c:672:38: error: use of undeclared identifier 'IRQ_NOAUTOEN'
    672 |         irq_set_status_flags(ep->perst_irq, IRQ_NOAUTOEN);
        |                                             ^
  3 errors generated.
  make[5]: *** [scripts/Makefile.build:229: drivers/pci/controller/pcie-rockchip-ep.o] Error 1
  make[4]: *** [scripts/Makefile.build:478: drivers/pci/controller] Error 2
  make[3]: *** [scripts/Makefile.build:478: drivers/pci] Error 2
  make[2]: *** [scripts/Makefile.build:478: drivers] Error 2
  make[1]: *** [/home/kwilczynski/Development/Pr

Of course, adding the missing header fixes the build issue.  This is how
I also fixed it on the branch itself, for reference.

	Krzysztof





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux