Re: drivers/irqchip/irq-xilinx-intc.c:127:14: warning: no previous prototype for 'xintc_get_irq'

Michal Simek
2022-03-02T15:23:20Z

Hi Robert,

On 3/1/22 17:34, Robert Hancock wrote:
> On Tue, 2022-03-01 at 12:18 +0800, kernel test robot wrote:
>> Hi Robert,
>>
>> First bad commit (maybe != root cause):
>>
>> tree:
>> https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git__;!!IOGos0k!2JH7Pv3yO6KGoGUAasL6gdyffBveJ7sKR_ufk10CoE_SvRF6pyxPfYs8jFbEg2JhJnk$
>> master
>> head: 719fce7539cd3e186598e2aed36325fe892150cf
>> commit: debf69cfd4c618c7036a13cc4edd1faf87ce7d53 irqchip/xilinx: Expose
>> Kconfig option for Zynq/ZynqMP
>> date: 10 months ago
>> config: arm64-randconfig-r031-20220227 (
>> https://urldefense.com/v3/__https://download.01.org/0day-ci/archive/20220301/202203011058.VcuVhghd-lkp@intel.com/config__;!!IOGos0k!2JH7Pv3yO6KGoGUAasL6gdyffBveJ7sKR_ufk10CoE_SvRF6pyxPfYs8jFbE3gypuYE$
>> )
>> compiler: aarch64-linux-gcc (GCC) 11.2.0
>> reproduce (this is a W=1 build):
>> wget
>> https://urldefense.com/v3/__https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross__;!!IOGos0k!2JH7Pv3yO6KGoGUAasL6gdyffBveJ7sKR_ufk10CoE_SvRF6pyxPfYs8jFbEO8rziu4$
>> -O ~/bin/make.cross
>> chmod +x ~/bin/make.cross
>> #
>> https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=debf69cfd4c618c7036a13cc4edd1faf87ce7d53__;!!IOGos0k!2JH7Pv3yO6KGoGUAasL6gdyffBveJ7sKR_ufk10CoE_SvRF6pyxPfYs8jFbEPEVofBw$
>>
>> git remote add linus
>> https://urldefense.com/v3/__https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git__;!!IOGos0k!2JH7Pv3yO6KGoGUAasL6gdyffBveJ7sKR_ufk10CoE_SvRF6pyxPfYs8jFbEg2JhJnk$
>>
>> git fetch --no-tags linus master
>> git checkout debf69cfd4c618c7036a13cc4edd1faf87ce7d53
>> # save the config file to linux build tree
>> mkdir build_dir
>> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross
>> O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/gpu/drm/tegra/
>> drivers/irqchip/
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>> All warnings (new ones prefixed by >>):
>>
>>>> drivers/irqchip/irq-xilinx-intc.c:127:14: warning: no previous prototype
>>>> for 'xintc_get_irq' [-Wmissing-prototypes]
>> 127 | unsigned int xintc_get_irq(void)
>> | ^~~~~~~~~~~~~
>>
>
> The issue here is that on MicroBlaze, xintc_get_irq is called by do_IRQ in
> arch/microblaze/kernel/irq.c. The function definition it uses for that function
> is in arch/microblaze/include/asm/irq.h which the irqchip driver obviously
> can't include. Possibly the solution is to move that declaration to a non-arch-
> specific header file which can be included in both places.
>
> I think this would warning have started showing up on aarch64 when the driver
> was allowed to be selected for ZynqMP platforms, but I would assume it was
> there on Microblaze all along..

I solved it in xilinx linux tree by this patch but didn't sent it out yet.

Feel free to take a look at it.
https://github.com/Xilinx/linux-xlnx/commit/731d1aa34bdd78ffcd81b35f1d90d9667451fcf7

Thanks,
Michal