
On 20 October 2015 at 09:07, Ryan Harkin ryan.harkin@linaro.org wrote:
On 20 October 2015 at 07:05, Linus Walleij linus.walleij@linaro.org wrote:
Only compile in PCIe support if the board really uses it. Provide a stub for the init function if e.g. FVP is being built.
Cc: Liviu Dudau Liviu.Dudau@foss.arm.com Cc: Ryan Harkin ryan.harkin@linaro.org Signed-off-by: Linus Walleij linus.walleij@linaro.org
board/armltd/vexpress64/Makefile | 3 ++- board/armltd/vexpress64/pcie.c | 2 -- board/armltd/vexpress64/pcie.h | 4 ++++ 3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/board/armltd/vexpress64/Makefile b/board/armltd/vexpress64/Makefile index a35db401b684..b4391a71249a 100644 --- a/board/armltd/vexpress64/Makefile +++ b/board/armltd/vexpress64/Makefile @@ -5,4 +5,5 @@ # SPDX-License-Identifier: GPL-2.0+ #
-obj-y := vexpress64.o pcie.o +obj-y := vexpress64.o +obj-$(CONFIG_TARGET_VEXPRESS64_JUNO) += pcie.o diff --git a/board/armltd/vexpress64/pcie.c b/board/armltd/vexpress64/pcie.c index 7b999e8ef40b..311c4500e3ff 100644 --- a/board/armltd/vexpress64/pcie.c +++ b/board/armltd/vexpress64/pcie.c @@ -191,7 +191,5 @@ void xr3pci_init(void)
void vexpress64_pcie_init(void) { -#ifdef CONFIG_TARGET_VEXPRESS64_JUNO xr3pci_init(); -#endif } diff --git a/board/armltd/vexpress64/pcie.h b/board/armltd/vexpress64/pcie.h index 14642f4f5c43..55b276d6af11 100644 --- a/board/armltd/vexpress64/pcie.h +++ b/board/armltd/vexpress64/pcie.h @@ -1,6 +1,10 @@ #ifndef __VEXPRESS64_PCIE_H__ #define __VEXPRESS64_PCIE_H__
+#ifdef CONFIG_TARGET_VEXPRESS64_JUNO void vexpress64_pcie_init(void); +#else +static inline void vexpress64_pcie_init(void) {} +#endif
#endif /* __VEXPRESS64_PCIE_H__ */
Tom specifically dropped this hunk when he merged Liviu's patch. But is it necessary with the rest of your patch? If pcie.h is only included in pcie.c, which is only built for JUNO, then the code shouldn't need conditional compilation. So I think we can drop the hunk, no?
Sorry, I'm wrong here. vexpress64_pcie_init is called unconditionally from board_init(), so needs a stub definition for non-Juno targets.
I guess another way to do it would be to make the call in board_init() conditional, but that's not really any different than your patch, so I'm happy enough with yours.
Reviewed-by: Ryan Harkin ryan.harkin@linaro.org Tested-by: Ryan Harkin ryan.harkin@linaro.org (I tested on FVP dram configuration, Juno R0 and Juno R1)