[arm-platforms:irq/generic_handle_domain_irq 4/5] include/linux/irqdomain.h:436:2: error: implicit declaration of function 'generic_handle_irq_desc'; did you mean

From: kbuild test robot <hidden>
Date: 2018-09-13 08:14:11

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/generic_handle_domain_irq
head:   feacd6dd425a07c6e54d2fcca04665ac792c6cb0
commit: 210d3f78aea72fff13ad31616131a0ac27cb0bfe [4/5] irqdesc: Make __handle_domain_irq use irq_data instead of irq numbers
config: powerpc-amigaone_defconfig (attached as .config)
compiler: powerpc-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 210d3f78aea72fff13ad31616131a0ac27cb0bfe
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=powerpc 

All errors (new ones prefixed by >>):

   WARNING: unmet direct dependencies detected for NOT_COHERENT_CACHE
   Depends on 4xx || PPC_8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON
   Selected by
   - AMIGAONE && 6xx && BROKEN_ON_SMP
   In file included from arch/powerpc/include/asm/irq.h:12:0,
   from include/linux/irq.h:23,
   from arch/powerpc/include/asm/hardirq.h:6,
   from include/linux/hardirq.h:9,
   from include/linux/interrupt.h:11,
   from include/linux/kernel_stat.h:9,
   from include/linux/cgroup.h:26,
   from include/linux/memcontrol.h:22,
   from include/linux/swap.h:9,
   from include/linux/suspend.h:5,
   from arch/powerpc/kernel/asm-offsets.c:25:
   include/linux/irqdomain.h: In function 'irq_linear_revmap':
   include/linux/irqdomain.h:409:38: error: dereferencing pointer to incomplete type 'struct irq_data'
   return
   ^~
   include/linux/irqdomain.h: In function 'generic_handle_domain_irq':
quoted
include/linux/irqdomain.h:436:2: error: implicit declaration of function 'generic_handle_irq_desc'; did you mean
   generic_handle_irq_desc(irq_data_to_desc(data));
   ^~~~~~~~~~~~~~~~~~~~~~~
   generic_handle_domain_irq
quoted
include/linux/irqdomain.h:436:26: error: implicit declaration of function 'irq_data_to_desc'; did you mean
   generic_handle_irq_desc(irq_data_to_desc(data));
   ^~~~~~~~~~~~~~~~
   irq_to_desc
   In file included from include/linux/irq.h:519:0,
   from arch/powerpc/include/asm/hardirq.h:6,
   from include/linux/hardirq.h:9,
   from include/linux/interrupt.h:11,
   from include/linux/kernel_stat.h:9,
   from include/linux/cgroup.h:26,
   from include/linux/memcontrol.h:22,
   from include/linux/swap.h:9,
   from include/linux/suspend.h:5,
   from arch/powerpc/kernel/asm-offsets.c:25:
   include/linux/irqdesc.h: At top level:
   include/linux/irqdesc.h:118:32: error: conflicting types for 'irq_data_to_desc'
   static inline struct irq_desc irq_data
   ^~~~~~~~~~~~~~~~
   In file included from arch/powerpc/include/asm/irq.h:12:0,
   from include/linux/irq.h:23,
   from arch/powerpc/include/asm/hardirq.h:6,
   from include/linux/hardirq.h:9,
   from include/linux/interrupt.h:11,
   from include/linux/kernel_stat.h:9,
   from include/linux/cgroup.h:26,
   from include/linux/memcontrol.h:22,
   from include/linux/swap.h:9,
   from include/linux/suspend.h:5,
   from arch/powerpc/kernel/asm-offsets.c:25:
   include/linux/irqdomain.h:436:26: note: previous implicit declaration of 'irq_data_to_desc' was here
   generic_handle_irq_desc(irq_data_to_desc(data));
   ^~~~~~~~~~~~~~~~
   In file included from include/linux/irq.h:519:0,
   from arch/powerpc/include/asm/hardirq.h:6,
   from include/linux/hardirq.h:9,
   from include/linux/interrupt.h:11,
   from include/linux/kernel_stat.h:9,
   from include/linux/cgroup.h:26,
   from include/linux/memcontrol.h:22,
   from include/linux/swap.h:9,
   from include/linux/suspend.h:5,
   from arch/powerpc/kernel/asm-offsets.c:25:
   include/linux/irqdesc.h:152:20: warning: conflicting types for 'generic_handle_irq_desc'
   static inline void generic_handle_irq_desc(struct irq_desc
   ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/irqdesc.h:152:20: error: static declaration of 'generic_handle_irq_desc' follows non-static declaration
   In file included from arch/powerpc/include/asm/irq.h:12:0,
   from include/linux/irq.h:23,
   from arch/powerpc/include/asm/hardirq.h:6,
   from include/linux/hardirq.h:9,
   from include/linux/interrupt.h:11,
   from include/linux/kernel_stat.h:9,
   from include/linux/cgroup.h:26,
   from include/linux/memcontrol.h:22,
   from include/linux/swap.h:9,
   from include/linux/suspend.h:5,
   from arch/powerpc/kernel/asm-offsets.c:25:
   include/linux/irqdomain.h:436:2: note: previous implicit declaration of 'generic_handle_irq_desc' was here
   generic_handle_irq_desc(irq_data_to_desc(data));
   ^~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors
   Makefile Module.symvers System.map arch block built-in.a certs crypto drivers firmware fs include init ipc kernel lib mm modules.builtin modules.order net scripts security sound source usr virt vmlinux vmlinux.bin.gz vmlinux.o vmlinux.strip Error 1
   Target '__build' not remade because of errors.
   Makefile Module.symvers System.map arch block built-in.a certs crypto drivers firmware fs include init ipc kernel lib mm modules.builtin modules.order net scripts security sound source usr virt vmlinux vmlinux.bin.gz vmlinux.o vmlinux.strip Error 2
   Target 'prepare' not remade because of errors.
   make: Makefile Module.symvers System.map arch block built-in.a certs crypto drivers firmware fs include init ipc kernel lib mm modules.builtin modules.order net scripts security sound source usr virt vmlinux vmlinux.bin.gz vmlinux.o vmlinux.strip Error 2

vim +/generic_handle_irq_desc +436 include/linux/irqdomain.h

   393	
   394	/**
   395	 * irq_linear_revmap() - Find a linux irq from a hw irq number.
   396	 * @domain: domain owning this hardware interrupt
   397	 * @hwirq: hardware irq number in that domain space
   398	 *
   399	 * This is a fast path alternative to irq_find_mapping() that can be
   400	 * called directly by irq controller code to save a handful of
   401	 * instructions. It is always safe to call, but won't find irqs mapped
   402	 * using the radix tree.
   403	 */
   404	static inline unsigned int irq_linear_revmap(struct irq_domain *domain,
   405						     irq_hw_number_t hwirq)
   406	{
   407		if (!irq_domain_is_nomap(domain) && hwirq < domain->revmap_size &&
   408		    domain->linear_revmap[hwirq])
 > 409			return domain->linear_revmap[hwirq]->irq;
   410	
   411		return 0;
   412	}
   413	extern struct irq_data *irq_resolve_mapping(struct irq_domain *host,
   414						    irq_hw_number_t hwirq);
   415	
   416	static inline unsigned int irq_find_mapping(struct irq_domain *host,
   417						    irq_hw_number_t hwirq)
   418	{
   419		struct irq_data *data;
   420	
   421		data = irq_resolve_mapping(host, hwirq);
   422		if (data)
   423			return data->irq;
   424	
   425		return 0;
   426	}
   427	
   428	static inline int generic_handle_domain_irq(struct irq_domain *domain,
   429						    unsigned int hwirq)
   430	{
   431		struct irq_data *data = irq_resolve_mapping(domain, hwirq);
   432	
   433		if (unlikely(!data))
   434			return -EINVAL;
   435	
 > 436		generic_handle_irq_desc(irq_data_to_desc(data));
   437		return 0;
   438	}
   439	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 16878 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180913/4b2387f7/attachment-0001.gz>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help