All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v1 3/7] nand: add nand mtd concat support
Date: Thu, 26 May 2016 06:45:33 +0200	[thread overview]
Message-ID: <57467F6D.2010205@denx.de> (raw)
In-Reply-To: <DB5PR0401MB1928B2EA26FE0CBCD54B6FBA91400@DB5PR0401MB1928.eurprd04.prod.outlook.com>

Hello Scott,

Am 25.05.2016 um 16:51 schrieb Scott Wood:
> On 05/25/2016 01:10 AM, Heiko Schocher wrote:
>> Hello Scott,
>>
>> Am 25.05.2016 um 07:30 schrieb Scott Wood:
>>> On 05/25/2016 12:07 AM, Heiko Schocher wrote:
>>>> add for nand devices mtd concat support. Generic MTD concat
>>>> support is already ported to mainline, and used in the cfi_mtd
>>>> driver. This patch adds it similiar for nand devices.
>>>>
>>>> Signed-off-by: Heiko Schocher <hs@denx.de>
>>>> ---
>>>>
>>>>    drivers/mtd/nand/nand.c | 29 +++++++++++++++++++++++++++++
>>>>    1 file changed, 29 insertions(+)
>>>>
>>>> diff --git a/drivers/mtd/nand/nand.c b/drivers/mtd/nand/nand.c
>>>> index 8f0a921..5413123 100644
>>>> --- a/drivers/mtd/nand/nand.c
>>>> +++ b/drivers/mtd/nand/nand.c
[...]
>>>> +
>>>>    /* Register an initialized NAND mtd device with the U-Boot NAND command. */
>>>>    int nand_register(int devnum)
>>>>    {
>>>> @@ -49,6 +56,9 @@ int nand_register(int devnum)
>>>>    	 * via the mtdcore infrastructure (e.g. ubi).
>>>>    	 */
>>>>    	add_mtd_device(mtd);
>>>> +#ifdef CONFIG_MTD_CONCAT
>>>> +	mtd_nand_list[nand_devices_found++] = mtd;
>>>> +#endif
>>>
>>> Why do we need another list of NAND devices?  Use nand_info[].
>>
>> Ah, correct ... struct nand_info_t == struct mtd_info ... Hmm...
>> why we need a "struct nand_info_t" ?
>
> It's a typedef, not a struct...  and we don't need it.  I already have a

Oh, yes, sorry.

> patch in the set I'm working on for the Linux NAND sync that removes the
> typedef, and another that converts nand_info[] into an array of pointers
> (which should make calling mtd_concat_create easier).

Thanks!

>>>> @@ -102,4 +112,23 @@ void nand_init(void)
>>>>    	 */
>>>>    	board_nand_select_device(nand_info[nand_curr_device].priv, nand_curr_device);
>>>>    #endif
>>>> +
>>>> +#ifdef CONFIG_MTD_CONCAT
>>>> +	if (nand_devices_found > 1) {
>>>> +		struct mtd_info *mtd;
>>>> +
>>>> +		/*
>>>> +		 * We detected multiple devices. Concatenate them together.
>>>> +		 */
>>>> +		sprintf(c_mtd_name, "nand%d", nand_devices_found);
>>>> +		mtd = mtd_concat_create(mtd_nand_list, nand_devices_found,
>>>> +					c_mtd_name);
>>>> +
>>>> +		if (mtd == NULL)
>>>> +			return;
>>>> +
>>>> +		if (add_mtd_device(mtd))
>>>> +			return;
>>>> +	}
>>>> +#endif /* CONFIG_MTD_CONCAT */
>>>>    }
>>>
>>> Please don't add new features that depend on the old-style NAND init.
>>
>> Hmm... my add works for the "#ifdef CONFIG_SYS_NAND_SELF_INIT" case
>> and the "else" case ... where would be the appropriate place?
>
> You're right...  For some reason I was thinking that none of this was
> called with self-init.

Ok, so I let it here.

bye,
Heiko
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

  reply	other threads:[~2016-05-26  4:45 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-25  5:07 [U-Boot] [PATCH v1 0/7] add support for the etamin draco board variant Heiko Schocher
2016-05-25  5:07 ` [U-Boot] [PATCH v1 1/7] siemens,am33x: add ubi fastmap support Heiko Schocher
2016-05-25  5:07 ` [U-Boot] [PATCH v1 2/7] ubi: add new ubi command "ubi dettach" Heiko Schocher
2016-05-25  5:47   ` Scott Wood
2016-05-25  6:28     ` Heiko Schocher
2016-05-25 14:46       ` Scott Wood
2016-05-25  5:07 ` [U-Boot] [PATCH v1 3/7] nand: add nand mtd concat support Heiko Schocher
2016-05-25  5:30   ` Scott Wood
2016-05-25  6:10     ` Heiko Schocher
2016-05-25 14:51       ` Scott Wood
2016-05-26  4:45         ` Heiko Schocher [this message]
2016-05-25  5:07 ` [U-Boot] [PATCH v1 4/7] mtd: nand: omap: allow to switch to BCH16 Heiko Schocher
2016-05-25  5:07 ` [U-Boot] [PATCH v1 5/7] am335x, dxr2: get ECC sType from I2C eeprom Heiko Schocher
2016-05-25  5:07 ` [U-Boot] [PATCH v1 6/7] dfu, nand, ubi: fix erasing after write finish Heiko Schocher
2016-05-25  5:33   ` Scott Wood
2016-05-25  6:21     ` Heiko Schocher
2016-05-30  9:51       ` Lukasz Majewski
2016-05-30 10:15         ` Heiko Schocher
2016-05-30 13:13           ` Lukasz Majewski
2016-05-25  5:07 ` [U-Boot] [PATCH v1 7/7] siemens,am33x: add draco etamin board Heiko Schocher

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=57467F6D.2010205@denx.de \
    --to=hs@denx.de \
    --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.