From: Artem Bityutskiy <dedekind1@gmail.com>
To: Brian Norris <computersforpeace@gmail.com>
Cc: Huang Shijie <b32955@freescale.com>,
Mike Dunn <mikedunn@newsguy.com>,
MTD Maling List <linux-mtd@lists.infradead.org>
Subject: Re: [PATCH 12/12] mtd: nand: provision full ID support
Date: Tue, 05 Mar 2013 12:37:07 +0200 [thread overview]
Message-ID: <1362479827.2943.49.camel@sauron> (raw)
In-Reply-To: <CAN8TOE_Sb-h7zTp4rUCrx5e0rZHg44iDMM5_zKsgHQORXf3B0g@mail.gmail.com>
On Mon, 2013-03-04 at 11:45 -0800, Brian Norris wrote:
> > struct nand_flash_dev {
> > char *name;
> > - int dev_id;
> > + union {
> > + struct {
> > + uint8_t mfr_id;
> > + uint8_t dev_id;
> > + };
> > + uint8_t id[8];
> > + };
>
> I'm sorry that I was unable to fully review Huang's code while it was
> being discussed earlier. But from what I read, it seemed there was
> some disagreement on some of the format of the tables (e.g., Artem
> wondered why the extra zeroes). Now, it seems like instead, we're
> including duplicate fields. The "mfr_id" and "dev_id" are always the
> first two bytes of the "id[8]" field. Does it make sense to repeat
> them? And I actually don't ever see where "mfr_id" would be used.
This is not repeating. Because of the union {}, mfr_id's memory address
is identical to id[0]'s address, and dev_id's memory address is
identical to id[1]'s address. You can consider 'mfr_id' and 'dev_id' to
be alias names for id[0] and id[1]. If one needs to have an alias name
for other ID bytes, they can be added.
My idea was that type->mfr_id and type->dev_id is more readable than
type->id[0] and type->id[1].
> There's also the (yet unanswered?) question of whether we reasonably
> would handle in this table both those chips which have their full
> information listed in conjunction with their 8-byte ID string and
> those chips with minimal information in the table, and the rest must
> be decoded from extended ID.
I was thinking that we have a single table which contains both, and we
make sure that all full ID records go first, and device ID-only records
go last. This would mean that we first match by full ID, and then by
device IDs.
> Perhaps the answer to this last question was already assumed to be
> "yes." But how would we differentiate the two types of table entries?
> Simply by seeing whether they filled out "dev_id" vs. "id[8]"? This
> patch doesn't clearly show how the new fields could be used.
I was thinking about
if (type->mfr_id == 0)
/* this is device-only ID */
else
/* this is full ID */
or
static inline bool is_full_nand_id(type) {
return type->mfr_id;
}
> Hopefully my comments make some sense. If they don't, then that
> probably means we need some more discussion before including this last
> patch. If they do make sense, then that probably still means this last
> patch needs to be rewritten and/or included only along with a series
> that can reasonably make use of these fields (like Huang's series).
Sure, this is why you was in "To:" - you are the main NAND janitor
nowadays, because others mostly care about their little drivers, while
you demonstrated skills and will to make the general layer sane.
--
Best Regards,
Artem Bityutskiy
next prev parent reply other threads:[~2013-03-05 10:36 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-04 16:42 [PATCH 00/12] mtd: nand: provision full ID support Artem Bityutskiy
2013-03-04 16:42 ` [PATCH 01/12] mtd: nand_ids: minor clean-ups Artem Bityutskiy
2013-03-04 18:36 ` Brian Norris
2013-03-05 8:32 ` Artem Bityutskiy
2013-03-04 16:42 ` [PATCH 02/12] mtd: remove museum NAND ID's support Artem Bityutskiy
2013-03-04 18:37 ` Brian Norris
2013-03-05 6:23 ` Re[2]: " Alexander Shiyan
2013-03-04 16:42 ` [PATCH 03/12] arm: defconfigs: lpc32xx_defconfig: remove museum NAND option Artem Bityutskiy
2013-03-04 16:42 ` [PATCH 04/12] mtd: nand: remove the rtc_from4 driver support Artem Bityutskiy
2013-03-04 16:42 ` [PATCH 05/12] mtd: nand: remove AG-AND support Artem Bityutskiy
2013-03-04 18:56 ` Brian Norris
2013-03-05 8:37 ` Artem Bityutskiy
2013-03-04 16:42 ` [PATCH 06/12] mtd: nand: remove a bunch of unused commands Artem Bityutskiy
2013-03-04 19:04 ` Brian Norris
2013-03-04 19:29 ` Re[2]: " Alexander Shiyan
2013-03-04 19:54 ` Brian Norris
2013-03-04 20:03 ` Re[4]: " Alexander Shiyan
2013-03-04 20:27 ` Brian Norris
2013-03-04 16:42 ` [PATCH 07/12] mtd: nand: remove NAND_NO_PADDING macro Artem Bityutskiy
2013-03-04 16:42 ` [PATCH 08/12] mtd: nand: remove NAND_COPYBACK macro Artem Bityutskiy
2013-03-04 16:42 ` [PATCH 09/12] mtd: nand: use NAND_HAS_CACHEPROG Artem Bityutskiy
2013-03-04 16:42 ` [PATCH 10/12] mtd: nand_ids: introduce helper macros Artem Bityutskiy
2013-03-04 19:23 ` Brian Norris
2013-03-05 13:34 ` Artem Bityutskiy
2013-03-04 16:42 ` [PATCH 11/12] mtd: nand: rename the id filed of 'struct nand_flash_dev' Artem Bityutskiy
2013-03-04 18:29 ` Brian Norris
2013-03-04 16:42 ` [PATCH 12/12] mtd: nand: provision full ID support Artem Bityutskiy
2013-03-04 16:50 ` Jan Lübbe
2013-03-04 19:45 ` Brian Norris
2013-03-05 10:37 ` Artem Bityutskiy [this message]
2013-03-06 5:32 ` Huang Shijie
2013-03-05 6:08 ` Huang Shijie
2013-03-05 10:42 ` Artem Bityutskiy
2013-03-05 14:36 ` Huang Shijie
2013-03-05 14:55 ` Artem Bityutskiy
2013-03-06 2:17 ` Huang Shijie
2013-03-04 19:48 ` [PATCH 00/12] " Brian Norris
2013-03-06 7:19 ` Artem Bityutskiy
2013-03-06 7:42 ` Huang Shijie
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=1362479827.2943.49.camel@sauron \
--to=dedekind1@gmail.com \
--cc=b32955@freescale.com \
--cc=computersforpeace@gmail.com \
--cc=linux-mtd@lists.infradead.org \
--cc=mikedunn@newsguy.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox