All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Rini <trini@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/4] common: imx: Implement generic u-boot.nand target
Date: Thu, 28 Feb 2013 11:21:55 -0500	[thread overview]
Message-ID: <512F8423.7010708@ti.com> (raw)
In-Reply-To: <1515227433.195653.1362067619200.JavaMail.root@advansee.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 02/28/2013 11:06 AM, Beno?t Th?baudeau wrote:
> Hi Tom,
> 
> On Thursday, February 28, 2013 4:24:22 PM, Beno?t Th?baudeau 
> wrote:
>> Hi Tom,
>> 
>> On Thursday, February 28, 2013 3:03:09 PM, Tom Rini write:
>>> On Wed, Feb 27, 2013 at 11:18:48PM +0100, Beno??t Th??baudeau 
>>> wrote:
>>>> Hi Marek,
>>>> 
>>>> On Monday, February 25, 2013 7:19:54 PM, Marek Vasut wrote:
>>>>> Implement u-boot.nand target that can be reused with a 
>>>>> small amount of churn across all CPU models. The idea is
>>>>> to delegate the u-boot.nand target out of the main
>>>>> Makefile and into the CPU's Makefile (very similar to what
>>>>>  u-boot.imx does now). The main Makefile shall only
>>>>> contain path to which the u-boot.nand target is delegated. 
>>>>> Hopefully this will not produce too much bloat in the main 
>>>>> Makefile.
>>>>> 
>>>>> To demonstrate this implementation, add u-boot.nand target 
>>>>> for i.MX53.
>>>>> 
>>>>> Signed-off-by: Marek Vasut <marex@denx.de> Cc: Beno??t 
>>>>> Th??baudeau <benoit.thebaudeau@advansee.com> Cc: Fabio 
>>>>> Estevam <fabio.estevam@freescale.com> Cc: Stefano Babic 
>>>>> <sbabic@denx.de> --- Makefile                     |   18 
>>>>> ++++++++++++++++++ arch/arm/imx-common/Makefile |    6 
>>>>> ++++++ 2 files changed, 24 insertions(+)
>>>>> 
>>>>> diff --git a/Makefile b/Makefile index 41054b7..8b1010a 
>>>>> 100644 --- a/Makefile +++ b/Makefile @@ -470,6 +470,23 @@ 
>>>>> $(obj)u-boot.img:	$(obj)u-boot.bin $(obj)u-boot.imx: 
>>>>> $(obj)u-boot.bin depend $(MAKE) -C 
>>>>> $(SRCTREE)/arch/arm/imx-common $(obj)u-boot.imx
>>>>> 
>>>>> +# +# Generic u-boot.nand target. +# +# Every CPU that 
>>>>> needs u-boot.nand must add a path to an implementation of 
>>>>> +# the actual u-boot.nand generator below. +# +ifdef 
>>>>> CONFIG_MX53 +CONFIG_NAND_TRG_PATH := 
>>>>> $(SRCTREE)/arch/arm/imx-common +endif +
>>>>> +$(obj)u-boot.nand: $(obj)u-boot.bin depend +		if [
>>>>> "X$(CONFIG_NAND_TRG_PATH)X" = "XX" ] ; then		\ +			echo
>>>>> "This CPU does not support u-boot.nand target!" ;	\ +
>>>>> exit 1 ;						\ +		fi + $(MAKE) -C $(CONFIG_NAND_TRG_PATH)
>>>>> $(obj)u-boot.nand + $(obj)u-boot.kwb:
>>>>> $(obj)u-boot.bin $(obj)tools/mkimage -n
>>>>> $(CONFIG_SYS_KWD_CONFIG) -T kwbimage \ -a
>>>>> $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE) -d $< $@
>>>>> @@ -857,6 +874,7 @@ clobber:	tidy @rm -f $(obj)u-boot.kwb
>>>>> @rm -f $(obj)u-boot.pbl @rm -f $(obj)u-boot.imx +	@rm -f
>>>>> $(obj)u-boot.nand @rm -f $(obj)u-boot.ubl @rm -f
>>>>> $(obj)u-boot.ais @rm -f $(obj)u-boot.dtb diff --git
>>>>> a/arch/arm/imx-common/Makefile 
>>>>> b/arch/arm/imx-common/Makefile index 5d5c5b2..71ea36f 
>>>>> 100644 --- a/arch/arm/imx-common/Makefile +++ 
>>>>> b/arch/arm/imx-common/Makefile @@ -50,6 +50,12 @@ 
>>>>> $(obj)u-boot.imx: $(OBJTREE)/u-boot.bin 
>>>>> $(OBJTREE)/$(patsubst "%",%,$(CONFIG_IMX 
>>>>> $(OBJTREE)/tools/mkimage -n $(filter-out %.bin,$^) -T 
>>>>> imximage \ -e $(CONFIG_SYS_TEXT_BASE) -d $< $@
>>>>> 
>>>>> +$(obj)u-boot.nand: $(obj)u-boot.imx +	(								\ +		echo 
>>>>> -ne '\x00\x00\x00\x00\x46\x43\x42\x20\x01' ;	\
>>>> ^ It does not work in my environment (Ubuntu 12.10). -ne is 
>>>> interpreted as text, so the FCB is broken. This is because 
>>>> /bin/sh (set to dash) is invoked by default on my machine 
>>>> here. It would work with the /bin/bash set by the main 
>>>> Makefile for SHELL, but this is not passed to the sub-make.
>>>> 
>>>> So what do you think we should do: 1) Add "export SHELL" to 
>>>> the main Makefile? 2) Move the SHELL assignment from the
>>>> main Makefile to the top-level config.mk? 3) Set
>>>> "SHELL=$(SHELL)" on the command line when invoking the
>>>> sub-make? 4) Use printf instead of echo? 5) Something else?
>>>> 
>>>> I like 1). Do you see possible side effects?
>>> 
>>> Wait!  We do 1 already and have for years (cf7a7b99), so
>>> what's going on?
>> 
>> Indeed! But I get anyway SHELL set to /bin/bash in /Makefile,
>> and to /bin/sh in /arch/arm/imx-common/makefile.
>> 
>> I don't see SHELL being set anywhere else, and $(MAKE) 
>> SHELL=$(SHELL) works.
>> 
>> That's really weird. It's like SHELL export was ignored, or 
>> applied before the assignment. I will further dig into this.
> 
> From "5.3.2 Choosing the Shell" in the make manual, it seems 
> impossible to force make to use SHELL from the environment, even 
> with export. The note about SHELL in "5.7.2 Communicating
> Variables to a Sub-make" can be misleading however.
> 
> Without "export SHELL", the recipes are executed with the set 
> SHELL, but the default value of SHELL is in their environment.
> 
> With "export SHELL", the recipes are executed with the set SHELL, 
> which is also in their environment. But since the sub-make ignores 
> its environment for SHELL, it does not help. That's probably why 
> Linux uses CONFIG_SHELL (which means nothing special to make) 
> instead of SHELL.
> 
> So 1) is not a solution, and 4) also does not work. So we are left 
> with 2), 3) or 5).

How about 3?

- -- 
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJRL4QiAAoJENk4IS6UOR1W9HMP/RvkNPQoxdf9JIxcK0U7vBZC
3JDTnzCheGxI58GE58c2NvK9Swj6h2Zc31zlacYOUH2Xgb7TbM3UyrgD/e+RxrgW
0/6tVPkKyUGouJA+56OO/mcFpmiyFsiJyCKxAMUroBMZrBvXaPnOZYX5T+vQ7SI8
N2RqtFzmkQlSJdNR7Pxy4OC8cFLCUe5I0AffFFOgDBDSEqc7emaK8e4Y+mRIUg9+
Tz9Eai24GvF/5mYqbeenLXtbGnZZBxbYKcD7gUH61DuUlNHeW7kY0jaWwoSLT/yS
mdqy7nsJJenJgs6bjpDzLtL3pdF5Bmlu0BAedMa4U4cfKEYQAAG181CP4AGAA80Y
DE4lj5SXP89nNSiqqNrAdiXjniBpkvcUWZR1oMOgQcAMRnYODSUES8ktCMEAHboO
u3jtVTYWdH6kh4zGo2dY6g/gtYIbXrKtHpARZXeJ2YYnhXPlt641M1HNV1kkHr0x
BIOXGpDsAdIxSZceki7Mm8yLBz0SPiDpkXOpUaUbGAVjsQT+qbRZLazOMzkD/vYB
dkH7HnxXS2orQ3ZJXmShBivMHHOCE1FaGPP+p98y9aZiRuH6e4lg02ft7Oa9p1JE
6hTspGCv+RmsvGYHkkitxjZ8hmuxw+Qg6GxcDsnbAl87qi5gnOeg7QI6G2tGzYZU
CQ0S0MwlUHF8Gk8qQx1v
=qSEN
-----END PGP SIGNATURE-----

  reply	other threads:[~2013-02-28 16:21 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-25 18:19 [U-Boot] [PATCH 1/4] common: imx: Implement generic u-boot.nand target Marek Vasut
2013-02-25 18:19 ` [U-Boot] [PATCH 2/4] imx: Align the imximage header and payload to multiples of 4k Marek Vasut
2013-02-25 19:13   ` Benoît Thébaudeau
2013-02-25 21:07     ` Marek Vasut
2013-02-25 21:16       ` Benoît Thébaudeau
2013-02-25 18:19 ` [U-Boot] [PATCH 3/4] mx5: Add NAND clock handling Marek Vasut
2013-02-25 19:27   ` Benoît Thébaudeau
2013-02-25 18:24 ` [U-Boot] [PATCH 4/4] mx5: Add support for DENX M53EVK Marek Vasut
2013-02-25 19:33   ` Benoît Thébaudeau
2013-02-26 13:52   ` Fabio Estevam
2013-02-26 19:32   ` Fabio Estevam
2013-04-14 17:20     ` Marek Vasut
2013-04-14 19:07       ` Wolfgang Denk
2013-04-14 19:18         ` Marek Vasut
2013-02-25 18:51 ` [U-Boot] [PATCH 1/4] common: imx: Implement generic u-boot.nand target Benoît Thébaudeau
2013-02-25 21:09   ` Marek Vasut
2013-02-25 21:13     ` Benoît Thébaudeau
2013-02-26  1:02   ` [U-Boot] patch error wanxs
2013-02-25 20:10 ` [U-Boot] [PATCH 1/4] common: imx: Implement generic u-boot.nand target Scott Wood
2013-02-25 21:10   ` Marek Vasut
2013-02-25 22:15     ` Scott Wood
2013-02-25 23:03       ` Marek Vasut
2013-02-25 23:07         ` Scott Wood
2013-02-25 23:50           ` Benoît Thébaudeau
2013-02-26  7:19             ` Marek Vasut
2013-02-26 11:33               ` Benoît Thébaudeau
2013-02-27 17:33                 ` Tom Rini
2013-02-28 18:50                   ` Marek Vasut
2013-02-28 18:53                     ` Tom Rini
2013-02-26  7:17           ` Marek Vasut
2013-02-26 23:10             ` Scott Wood
2013-02-27 22:18 ` Benoît Thébaudeau
2013-02-27 23:44   ` Tom Rini
2013-02-27 23:47     ` Benoît Thébaudeau
2013-02-28 12:18       ` Benoît Thébaudeau
2013-02-28 14:03   ` Tom Rini
2013-02-28 15:24     ` Benoît Thébaudeau
2013-02-28 16:06       ` Benoît Thébaudeau
2013-02-28 16:21         ` Tom Rini [this message]
2013-02-28 16:29           ` Benoît Thébaudeau
2013-02-28 16:42             ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=512F8423.7010708@ti.com \
    --to=trini@ti.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.