On 11/20/24 00:19, Bjorn Helgaas wrote: > On Mon, Nov 18, 2024 at 12:01:12AM +0800, kernel test robot wrote: >> tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git controller/rockchip >> branch HEAD: 592aac418ebdf451fe9b146bc2ca6dfc96921af0 PCI: rockchip-ep: Handle PERST# signal in endpoint mode > >> x86_64 allyesconfig clang-19 > > How can I reproduce this build? Do you have a packaged clang-19 > toolchain? > > The x86_64 allyesconfig build succeeded for the robot, but when I > build on x86_64 with gcc-11.4.0, I get an error: > > $ gcc -v > gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) > $ git checkout 592aac418ebd > $ make allyesconfig > $ make drivers/pci/controller/pcie-rockchip-ep.o > CC drivers/pci/controller/pcie-rockchip-ep.o > drivers/pci/controller/pcie-rockchip-ep.c:640:9: error: implicit declaration of function ‘irq_set_irq_type’ Using gcc v14.2 here (Fedora 40/41) and never saw this compilation error. Weird. > > 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. > > Bjorn -- Damien Le Moal Western Digital Research