diff mbox

[U-Boot] arm, imx: fix spl compile for mxs boards

Message ID 1426576811-572-1-git-send-email-hs@denx.de
State Rejected
Delegated to: Stefano Babic
Headers show

Commit Message

Heiko Schocher March 17, 2015, 7:20 a.m. UTC
files in arch/arm/imx-common/ get not yet compiled for
SPL case as "mxs" is missing in filter rule.

Signed-off-by: Heiko Schocher <hs@denx.de>

---

Fixes build error on for example the mx28evk_auart_console board:

Building mx28evk_auart_console board...
   text    data     bss     dec     hex filename
 442689   36826  327648  807163   c50fb ./u-boot
make[1]: *** [spl/u-boot-spl] Error 1
make: *** [spl/u-boot-spl] Error 2
drivers/serial/built-in.o: In function `mxs_auart_init':
/home/hs/zug/u-boot/drivers/serial/mxs_auart.c:84: undefined reference to `mxs_reset_block'
make[1]: *** [spl/u-boot-spl] Error 1
make: *** [spl/u-boot-spl] Error 2
make: *** Warte auf noch nicht beendete Prozesse...

 arch/arm/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Stefano Babic March 17, 2015, 8:27 a.m. UTC | #1
Hi Heiko, Daniel,


On 17/03/2015 08:20, Heiko Schocher wrote:
> files in arch/arm/imx-common/ get not yet compiled for
> SPL case as "mxs" is missing in filter rule.
> 

This is possible, but...

> Signed-off-by: Heiko Schocher <hs@denx.de>
> 
> ---
> 
> Fixes build error on for example the mx28evk_auart_console board:
> 
> Building mx28evk_auart_console board...
>    text    data     bss     dec     hex filename
>  442689   36826  327648  807163   c50fb ./u-boot


...I do not understand why I can compile clean (u-boot-imx):

./tools/buildman/buildman mx28evk
boards.cfg is up to date. Nothing to do.
Building current source for 4 boards (4 threads, 2 jobs per thread)
    4    0    0 /4      0:00:48  : mx28evk_auart_console

And all mxb boards are compiled clean, too.

> make[1]: *** [spl/u-boot-spl] Error 1
> make: *** [spl/u-boot-spl] Error 2
> drivers/serial/built-in.o: In function `mxs_auart_init':
> /home/hs/zug/u-boot/drivers/serial/mxs_auart.c:84: undefined reference to `mxs_reset_block'
> make[1]: *** [spl/u-boot-spl] Error 1
> make: *** [spl/u-boot-spl] Error 2
> make: *** Warte auf noch nicht beendete Prozesse...
> 
>  arch/arm/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index 08946de..55fe509 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -37,7 +37,7 @@ libs-y += arch/arm/cpu/
>  libs-y += arch/arm/lib/
>  
>  ifeq ($(CONFIG_SPL_BUILD),y)
> -ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
> +ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs))
>  libs-y += arch/arm/imx-common/
>  endif
>  else

Best regards,
Stefano Babic
Heiko Schocher March 17, 2015, 9:40 a.m. UTC | #2
Hello Stefano,

Am 17.03.2015 09:27, schrieb Stefano Babic:
> Hi Heiko, Daniel,
>
>
> On 17/03/2015 08:20, Heiko Schocher wrote:
>> files in arch/arm/imx-common/ get not yet compiled for
>> SPL case as "mxs" is missing in filter rule.
>>
>
> This is possible, but...

Yes .. I thought so too ...

>> Signed-off-by: Heiko Schocher <hs@denx.de>
>>
>> ---
>>
>> Fixes build error on for example the mx28evk_auart_console board:
>>
>> Building mx28evk_auart_console board...
>>     text    data     bss     dec     hex filename
>>   442689   36826  327648  807163   c50fb ./u-boot
>
>
> ...I do not understand why I can compile clean (u-boot-imx):
>
> ./tools/buildman/buildman mx28evk
> boards.cfg is up to date. Nothing to do.
> Building current source for 4 boards (4 threads, 2 jobs per thread)
>      4    0    0 /4      0:00:48  : mx28evk_auart_console
>
> And all mxb boards are compiled clean, too.

Hmm... I just did a "make mrproper" and now I see them without this
patch compiling again ... but it seems bogus to me not to add "mxs"
also to the SPL build, as it is in the "else" ... did this boards
use puts, printf in SPL ?

spl/drivers/serial/mxs_auart.o is not compiled in the SPL case ...

Hmm... no idea, why I got this error ...

bye,
Heiko
>
>> make[1]: *** [spl/u-boot-spl] Error 1
>> make: *** [spl/u-boot-spl] Error 2
>> drivers/serial/built-in.o: In function `mxs_auart_init':
>> /home/hs/zug/u-boot/drivers/serial/mxs_auart.c:84: undefined reference to `mxs_reset_block'
>> make[1]: *** [spl/u-boot-spl] Error 1
>> make: *** [spl/u-boot-spl] Error 2
>> make: *** Warte auf noch nicht beendete Prozesse...
>>
>>   arch/arm/Makefile | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
>> index 08946de..55fe509 100644
>> --- a/arch/arm/Makefile
>> +++ b/arch/arm/Makefile
>> @@ -37,7 +37,7 @@ libs-y += arch/arm/cpu/
>>   libs-y += arch/arm/lib/
>>
>>   ifeq ($(CONFIG_SPL_BUILD),y)
>> -ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
>> +ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs))
>>   libs-y += arch/arm/imx-common/
>>   endif
>>   else
>
> Best regards,
> Stefano Babic
>
>
Craig Lilley June 19, 2015, 12:14 p.m. UTC | #3
> 
> ...I do not understand why I can compile clean (u-boot-imx):
> 
> ./tools/buildman/buildman mx28evk
> boards.cfg is up to date. Nothing to do.
> Building current source for 4 boards (4 threads, 2 jobs per thread)
>     4    0    0 /4      0:00:48  : mx28evk_auart_console
> 
> And all mxb boards are compiled clean, too.
> 

It appears you can compile clean because that defconfig 
(mx28evk_auart_console) doesnt fully enable the serial output.

You still need to define CONFIG_SPL_SERIAL_SUPPORT somewhere or else 
mxs_spl_console_init() just optimises away.

When I define this in configs/mxs.h I get the build error.

Can you re-consider applying this patch given the above?
diff mbox

Patch

diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 08946de..55fe509 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -37,7 +37,7 @@  libs-y += arch/arm/cpu/
 libs-y += arch/arm/lib/
 
 ifeq ($(CONFIG_SPL_BUILD),y)
-ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
+ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs))
 libs-y += arch/arm/imx-common/
 endif
 else