From: Kevin Hilman <khilman@deeprootsystems.com>
To: David Brownell <david-b@pacbell.net>
Cc: dwmw2@infradead.org,
DaVinci <davinci-linux-open-source@linux.davincidsp.com>,
Linux MTD <linux-mtd@lists.infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [patch/RESEND 2.6.30-rc2 2/3] NAND: minor davinci_nand cleanup
Date: Fri, 29 May 2009 17:15:13 -0700 [thread overview]
Message-ID: <87vdnjsay6.fsf@deeprootsystems.com> (raw)
In-Reply-To: <200904211951.31776.david-b@pacbell.net> (David Brownell's message of "Tue\, 21 Apr 2009 19\:51\:31 -0700")
David Brownell <david-b@pacbell.net> writes:
> From: David Brownell <dbrownell@users.sourceforge.net>
>
> Make the DaVinci NAND driver require platform_data with
> board-specific configuration. We can't actually do any
> kind of sane job of configuring it otherwise.
>
> Also fix the comment about picking the "best" ECC mode.
>
> We can't do those any more; that relied on knowing what kind
> of CPU we're using (they don't all support 4-bit ECC), and
> current policy is that drivers not have cpu_is_*() checks.
>
> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
AFAICT, this still hasn't been merged yet. In case it helps:
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
> ---
> RESEND 7-april version -- refreshing against current kernel
> Seems appropriate for 2.6.30 merge, but not essential.
Would be nice to see this in 2.6.31.
Kevin
> drivers/mtd/nand/davinci_nand.c | 27 +++++++++++----------------
> 1 file changed, 11 insertions(+), 16 deletions(-)
>
> --- a/drivers/mtd/nand/davinci_nand.c
> +++ b/drivers/mtd/nand/davinci_nand.c
> @@ -306,6 +306,10 @@ static int __init nand_davinci_probe(str
> uint32_t val;
> nand_ecc_modes_t ecc_mode;
>
> + /* insist on board-specific configuration */
> + if (!pdata)
> + return -ENODEV;
> +
> /* which external chipselect will we be managing? */
> if (pdev->id < 0 || pdev->id > 3)
> return -ENODEV;
> @@ -351,7 +355,7 @@ static int __init nand_davinci_probe(str
> info->chip.select_chip = nand_davinci_select_chip;
>
> /* options such as NAND_USE_FLASH_BBT or 16-bit widths */
> - info->chip.options = pdata ? pdata->options : 0;
> + info->chip.options = pdata->options;
>
> info->ioaddr = (uint32_t __force) vaddr;
>
> @@ -360,14 +364,8 @@ static int __init nand_davinci_probe(str
> info->mask_chipsel = pdata->mask_chipsel;
>
> /* use nandboot-capable ALE/CLE masks by default */
> - if (pdata && pdata->mask_ale)
> - info->mask_ale = pdata->mask_cle;
> - else
> - info->mask_ale = MASK_ALE;
> - if (pdata && pdata->mask_cle)
> - info->mask_cle = pdata->mask_cle;
> - else
> - info->mask_cle = MASK_CLE;
> + info->mask_ale = pdata->mask_cle ? : MASK_ALE;
> + info->mask_cle = pdata->mask_cle ? : MASK_CLE;
>
> /* Set address of hardware control function */
> info->chip.cmd_ctrl = nand_davinci_hwcontrol;
> @@ -377,11 +375,8 @@ static int __init nand_davinci_probe(str
> info->chip.read_buf = nand_davinci_read_buf;
> info->chip.write_buf = nand_davinci_write_buf;
>
> - /* use board-specific ECC config; else, the best available */
> - if (pdata)
> - ecc_mode = pdata->ecc_mode;
> - else
> - ecc_mode = NAND_ECC_HW;
> + /* Use board-specific ECC config */
> + ecc_mode = pdata->ecc_mode;
>
> switch (ecc_mode) {
> case NAND_ECC_NONE:
> @@ -469,7 +464,7 @@ static int __init nand_davinci_probe(str
> info->mtd.name = master_name;
> }
>
> - if (mtd_parts_nb <= 0 && pdata) {
> + if (mtd_parts_nb <= 0) {
> mtd_parts = pdata->parts;
> mtd_parts_nb = pdata->nr_parts;
> }
> @@ -482,7 +477,7 @@ static int __init nand_davinci_probe(str
> info->partitioned = true;
> }
>
> - } else if (pdata && pdata->nr_parts) {
> + } else if (pdata->nr_parts) {
> dev_warn(&pdev->dev, "ignoring %d default partitions on %s\n",
> pdata->nr_parts, info->mtd.name);
> }
>
>
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source@linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
next prev parent reply other threads:[~2009-05-30 0:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-22 2:51 [patch/RESEND 2.6.30-rc2 2/3] NAND: minor davinci_nand cleanup David Brownell
2009-05-30 0:15 ` Kevin Hilman [this message]
2009-05-31 12:48 ` Artem Bityutskiy
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=87vdnjsay6.fsf@deeprootsystems.com \
--to=khilman@deeprootsystems.com \
--cc=akpm@linux-foundation.org \
--cc=david-b@pacbell.net \
--cc=davinci-linux-open-source@linux.davincidsp.com \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
--cc=tglx@linutronix.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.