[linusw-gpio:gpiochip-no-driver-h 5/5] arch/arm/mach-omap1/irq.c:236:11: error: call to undeclared function 'irq_domain_add_legacy'; ISO C99 and later do not support implicit function declarations

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

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git gpiochip-no-driver-h
head:   df771cce328bbd37333797d0df3471c2e03ecb03
commit: df771cce328bbd37333797d0df3471c2e03ecb03 [5/5] gpio: Make the legacy <linux/gpio.h> consumer-only
config: arm-omap1_defconfig (https://download.01.org/0day-ci/archive/20230129/202301290451.rXX4STQA-lkp@xxxxxxxxx/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 4196ca3278f78c6e19246e54ab0ecb364e37d66a)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git/commit/?id=df771cce328bbd37333797d0df3471c2e03ecb03
        git remote add linusw-gpio https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio.git
        git fetch --no-tags linusw-gpio gpiochip-no-driver-h
        git checkout df771cce328bbd37333797d0df3471c2e03ecb03
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> arch/arm/mach-omap1/irq.c:236:11: error: call to undeclared function 'irq_domain_add_legacy'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
           domain = irq_domain_add_legacy(NULL, nr_irqs, irq_base, 0,
                    ^
>> arch/arm/mach-omap1/irq.c:237:13: error: use of undeclared identifier 'irq_domain_simple_ops'
                                          &irq_domain_simple_ops, NULL);
                                           ^
>> arch/arm/mach-omap1/irq.c:269:23: error: call to undeclared function 'irq_find_mapping'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
           d = irq_get_irq_data(irq_find_mapping(domain, omap_l2_irq));
                                ^
   3 errors generated.


vim +/irq_domain_add_legacy +236 arch/arm/mach-omap1/irq.c

55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  219  
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  220  	for (i = 0; i < irq_bank_count; i++) {
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  221  		irq_banks[i].va = ioremap(irq_banks[i].base_reg, 0xff);
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  222  		if (WARN_ON(!irq_banks[i].va))
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  223  			return;
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  224  	}
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  225  
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  226  	nr_irqs = irq_bank_count * 32;
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  227  
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  228  	irq_base = irq_alloc_descs(-1, 0, nr_irqs, 0);
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  229  	if (irq_base < 0) {
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  230  		pr_warn("Couldn't allocate IRQ numbers\n");
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  231  		irq_base = 0;
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  232  	}
b694331cfb2ec3 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  233  	omap_l2_irq = cpu_is_omap7xx() ? irq_base + 1 : irq_base;
685e2d08c54b1a arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  234  	omap_l2_irq -= NR_IRQS_LEGACY;
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  235  
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20 @236  	domain = irq_domain_add_legacy(NULL, nr_irqs, irq_base, 0,
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20 @237  				       &irq_domain_simple_ops, NULL);
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  238  
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  239  	pr_info("Total of %lu interrupts in %i interrupt banks\n",
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  240  		nr_irqs, irq_bank_count);
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  241  
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  242  	/* Mask and clear all interrupts */
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  243  	for (i = 0; i < irq_bank_count; i++) {
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  244  		irq_bank_writel(~0x0, i, IRQ_MIR_REG_OFFSET);
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  245  		irq_bank_writel(0x0, i, IRQ_ITR_REG_OFFSET);
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  246  	}
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  247  
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  248  	/* Clear any pending interrupts */
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  249  	irq_bank_writel(0x03, 0, IRQ_CONTROL_REG_OFFSET);
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  250  	irq_bank_writel(0x03, 1, IRQ_CONTROL_REG_OFFSET);
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  251  
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  252  	/* Enable interrupts in global mask */
59185eeeaad1f0 arch/arm/mach-omap1/irq.c Zebediah C. McClure 2009-03-23  253  	if (cpu_is_omap7xx())
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  254  		irq_bank_writel(0x0, 0, IRQ_GMR_REG_OFFSET);
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  255  
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  256  	/* Install the interrupt handlers for each bank */
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  257  	for (i = 0; i < irq_bank_count; i++) {
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  258  		for (j = i * 32; j < (i + 1) * 32; j++) {
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  259  			int irq_trigger;
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  260  
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  261  			irq_trigger = irq_banks[i].trigger_map >> IRQ_BIT(j);
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  262  			omap_irq_set_cfg(j, 0, 0, irq_trigger);
e8d36d5dbb6a6e arch/arm/mach-omap1/irq.c Rob Herring         2015-07-27  263  			irq_clear_status_flags(j, IRQ_NOREQUEST);
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  264  		}
55b44774438959 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20  265  		omap_alloc_gc(irq_banks[i].va, irq_base + i * 32, 32);
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  266  	}
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  267  
^1da177e4c3f41 arch/arm/mach-omap/irq.c  Linus Torvalds      2005-04-16  268  	/* Unmask level 2 handler */
b694331cfb2ec3 arch/arm/mach-omap1/irq.c Tony Lindgren       2015-05-20 @269  	d = irq_get_irq_data(irq_find_mapping(domain, omap_l2_irq));

:::::: The code at line 236 was first introduced by commit
:::::: 55b44774438959a957e717ecbdd9f2874b07ab31 ARM: OMAP1: Switch to use generic irqchip in preparation for sparse IRQ

:::::: TO: Tony Lindgren <tony@xxxxxxxxxxx>
:::::: CC: Tony Lindgren <tony@xxxxxxxxxxx>

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



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux