Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

of/irq: fix guards for irq_of_parse_and_map prototype

Since OF is now a userselectable config symbol, having OF=y but OF_IRQ=n
is a valid combination for non-OF platforms, and OF=y does not guarantee
anymore that OF_IRQ is enabled (or we are building for SPARC).

Fixes the following build error with OF=y, IRQ_DOMAIN=n and SPI=y:

drivers/built-in.o: In function `spi_register_master':
(.text+0xc3ae): undefined reference to `irq_of_parse_and_map'
Makefile:935: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 1

Signed-off-by: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Rob Herring <robh@kernel.org>

authored by

Jonas Gorski and committed by
Rob Herring
62ebf931 52493d44

+2 -2
+2 -2
include/linux/of_irq.h
··· 70 70 } 71 71 #endif 72 72 73 - #if defined(CONFIG_OF) 73 + #if defined(CONFIG_OF_IRQ) || defined(CONFIG_SPARC) 74 74 /* 75 75 * irq_of_parse_and_map() is used by all OF enabled platforms; but SPARC 76 76 * implements it differently. However, the prototype is the same for all, ··· 78 78 */ 79 79 extern unsigned int irq_of_parse_and_map(struct device_node *node, int index); 80 80 81 - #else /* !CONFIG_OF */ 81 + #else /* !CONFIG_OF && !CONFIG_SPARC */ 82 82 static inline unsigned int irq_of_parse_and_map(struct device_node *dev, 83 83 int index) 84 84 {