[U-Boot] [PATCH] vexpress64: compile Juno PCIe conditionally
Ryan Harkin
ryan.harkin at linaro.org
Tue Oct 20 11:05:40 CEST 2015
On 20 October 2015 at 09:07, Ryan Harkin <ryan.harkin at linaro.org> wrote:
>
>
> On 20 October 2015 at 07:05, Linus Walleij <linus.walleij at 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 at foss.arm.com>
>> Cc: Ryan Harkin <ryan.harkin at linaro.org>
>> Signed-off-by: Linus Walleij <linus.walleij at 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 at linaro.org>
Tested-by: Ryan Harkin <ryan.harkin at linaro.org>
(I tested on FVP dram configuration, Juno R0 and Juno R1)
More information about the U-Boot
mailing list