From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Fabio Estevam <fabio.estevam@nxp.com>
Cc: han.xu@nxp.com, linux-mtd@lists.infradead.org, david.wolfe@nxp.com
Subject: Re: [PATCH v5 1/2] mtd: fsl-quadspi: Distinguish the mtd device names
Date: Thu, 18 Jan 2018 15:22:53 +0100 [thread overview]
Message-ID: <20180118152253.266c6b30@bbrezillon> (raw)
In-Reply-To: <1516211448-27594-1-git-send-email-fabio.estevam@nxp.com>
On Wed, 17 Jan 2018 15:50:47 -0200
Fabio Estevam <fabio.estevam@nxp.com> wrote:
> Currently on a imx6sx-sdb board, which has two SPI NOR chips connected
> to QSPI2 the following output from /proc/mtd is seen:
>
> # cat /proc/mtd
> dev: size erasesize name
> mtd0: 01000000 00010000 "21e4000.qspi"
> mtd1: 01000000 00010000 "21e4000.qspi"
>
> Attempts to partition them on the kernel command line result in both
> chips with identical (and identically named) partitions, which is
> an inconvenient behavior.
>
> Assign a different mtd->name for each mtd device to avoid this problem.
>
> After this change the output from /proc/mtd becomes:
>
> # cat /proc/mtd
> dev: size erasesize name
> mtd0: 01000000 00010000 "21e4000.qspi-0"
> mtd1: 01000000 00010000 "21e4000.qspi-1"
>
> In order to keep mtdparts compatibility keep the mtd->name
> unchanged when a single SPI NOR is present.
>
> Reported-by: David Wolfe <david.wolfe@nxp.com>
> Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
> ---
> Changes since v4:
> - Only use the new name scheme when more than one SPI NOR is present (Boris)
Not a perfect solution, but at least we don't break existing setups.
>
> drivers/mtd/spi-nor/fsl-quadspi.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/drivers/mtd/spi-nor/fsl-quadspi.c b/drivers/mtd/spi-nor/fsl-quadspi.c
> index 2901c7b..1038842 100644
> --- a/drivers/mtd/spi-nor/fsl-quadspi.c
> +++ b/drivers/mtd/spi-nor/fsl-quadspi.c
> @@ -1051,6 +1051,24 @@ static int fsl_qspi_probe(struct platform_device *pdev)
> spi_nor_set_flash_node(nor, np);
> nor->priv = q;
>
> + if (q->nor_num > 1) {
You need to preserve the label value, if any:
if (q->nor_num > 1 && !mtd->name) {
With that fixed
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> + int spiflash_idx;
> +
> + ret = of_property_read_u32(np, "reg", &spiflash_idx);
> + if (!ret) {
> + mtd->name = devm_kasprintf(dev, GFP_KERNEL,
> + "%s-%d",
> + dev_name(dev),
> + spiflash_idx);
> + if (!mtd->name) {
> + ret = -ENOMEM;
> + goto mutex_failed;
> + }
> + } else {
> + dev_warn(dev, "reg property is missing\n");
> + }
> + }
> +
> /* fill the hooks */
> nor->read_reg = fsl_qspi_read_reg;
> nor->write_reg = fsl_qspi_write_reg;
prev parent reply other threads:[~2018-01-18 14:23 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-17 17:50 [PATCH v5 1/2] mtd: fsl-quadspi: Distinguish the mtd device names Fabio Estevam
2018-01-17 17:50 ` [PATCH v5 2/2] dt-bindings: fsl-quadspi: Add the example of two SPI NOR Fabio Estevam
2018-01-18 14:22 ` Boris Brezillon [this message]
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=20180118152253.266c6b30@bbrezillon \
--to=boris.brezillon@free-electrons.com \
--cc=david.wolfe@nxp.com \
--cc=fabio.estevam@nxp.com \
--cc=han.xu@nxp.com \
--cc=linux-mtd@lists.infradead.org \
/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.