From: Miquel Raynal <miquel.raynal@bootlin.com>
To: u-boot@lists.denx.de
Subject: [PATCH u-boot-dm + u-boot-spi v3 05/11] mtd: spi-nor: allow registering multiple MTDs when DM is enabled
Date: Thu, 25 Feb 2021 16:51:56 +0100 [thread overview]
Message-ID: <20210225165156.66f7c1c2@xps13> (raw)
In-Reply-To: <20210225141336.6149-6-marek.behun@nic.cz>
Hi Marek,
Marek Beh?n <marek.behun@nic.cz> wrote on Thu, 25 Feb 2021 15:13:30
+0100:
> Currently when the SPI_FLASH_MTD config option is enabled, only one SPI
> can be registered as MTD at any time - it is the last one probed (since
> with old non-DM model only one SPI NOR could be probed at any time).
>
> When DM is enabled, allow for registering multiple SPI NORs as MTDs by
> utilizing the nor->mtd structure, which is filled in by spi_nor_scan
> anyway, instead of filling a separate struct mtd_info.
>
> Signed-off-by: Marek Beh?n <marek.behun@nic.cz>
> Reviewed-by: Pali Roh?r <pali@kernel.org>
> Cc: Jagan Teki <jagan@amarulasolutions.com>
> Cc: Priyanka Jain <priyanka.jain@nxp.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Heiko Schocher <hs@denx.de>
> Cc: Jagan Teki <jagan@amarulasolutions.com>
> Cc: Patrick Delaunay <patrick.delaunay@st.com>
> Cc: Patrice CHOTARD <patrice.chotard@foss.st.com>
> Cc: Miquel Raynal <miquel.raynal@bootlin.com>
> ---
> drivers/mtd/spi/sf_internal.h | 4 ++--
> drivers/mtd/spi/sf_mtd.c | 18 +++++++++++++++++-
> drivers/mtd/spi/sf_probe.c | 6 ++++--
> 3 files changed, 23 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mtd/spi/sf_internal.h b/drivers/mtd/spi/sf_internal.h
> index 9ceff0e7c1..865955124c 100644
> --- a/drivers/mtd/spi/sf_internal.h
> +++ b/drivers/mtd/spi/sf_internal.h
> @@ -77,14 +77,14 @@ extern const struct flash_info spi_nor_ids[];
>
> #if CONFIG_IS_ENABLED(SPI_FLASH_MTD)
> int spi_flash_mtd_register(struct spi_flash *flash);
> -void spi_flash_mtd_unregister(void);
> +void spi_flash_mtd_unregister(struct spi_flash *flash);
> #else
> static inline int spi_flash_mtd_register(struct spi_flash *flash)
> {
> return 0;
> }
>
> -static inline void spi_flash_mtd_unregister(void)
> +static inline void spi_flash_mtd_unregister(struct spi_flash *flash)
> {
> }
> #endif
> diff --git a/drivers/mtd/spi/sf_mtd.c b/drivers/mtd/spi/sf_mtd.c
> index 987fac2501..94854fbfc4 100644
> --- a/drivers/mtd/spi/sf_mtd.c
> +++ b/drivers/mtd/spi/sf_mtd.c
> @@ -10,6 +10,20 @@
> #include <linux/mtd/mtd.h>
> #include <spi_flash.h>
>
> +#if CONFIG_IS_ENABLED(DM_SPI_FLASH)
> +
> +int spi_flash_mtd_register(struct spi_flash *flash)
> +{
> + return add_mtd_device(&flash->mtd);
> +}
> +
> +void spi_flash_mtd_unregister(struct spi_flash *flash)
> +{
> + del_mtd_device(&flash->mtd);
> +}
> +
> +#else /* !CONFIG_IS_ENABLED(DM_SPI_FLASH) */
> +
I actually started something to overcome the same issue but left it
aside waiting for more inspiration. Your approach is neat, thanks for
pushing this!
Thanks,
Miqu?l
next prev parent reply other threads:[~2021-02-25 15:51 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-25 14:13 [PATCH u-boot-dm + u-boot-spi v3 00/11] Support SPI NORs and OF partitions in `mtd list` Marek Behún
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 01/11] dm: core: add test for ofnode_get_addr_size_index() Marek Behún
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 02/11] dm: core: add non-translating version of ofnode_get_addr_size_index() Marek Behún
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 03/11] dm: core: add ofnode_get_path() Marek Behún
2021-02-25 19:31 ` Simon Glass
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 04/11] mtd: add support for parsing partitions defined in OF Marek Behún
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 05/11] mtd: spi-nor: allow registering multiple MTDs when DM is enabled Marek Behún
2021-02-25 15:51 ` Miquel Raynal [this message]
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 06/11] mtd: spi-nor: fill-in mtd->dev member Marek Behún
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 07/11] mtd: remove mtd_probe() function Marek Behún
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 08/11] mtd: probe SPI NOR devices in mtd_probe_devices() Marek Behún
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 09/11] cmd: mtd: print device OF path in listing Marek Behún
2021-02-25 19:31 ` Simon Glass
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 10/11] mtd: compare also with OF path and device name in get_mtd_device_nm() Marek Behún
2021-02-25 19:31 ` Simon Glass
2021-02-25 20:07 ` Marek Behun
2021-02-25 20:28 ` Tom Rini
2021-02-25 20:35 ` Marek Behun
2021-02-25 20:39 ` Tom Rini
2021-03-01 14:03 ` Marek Behun
2021-03-01 14:33 ` Tom Rini
2021-02-25 14:13 ` [PATCH u-boot-dm + u-boot-spi v3 11/11] cmd: mtd: expand <name> argument definition in command help Marek Behún
2021-02-25 15:57 ` [PATCH u-boot-dm + u-boot-spi v3 00/11] Support SPI NORs and OF partitions in `mtd list` Miquel Raynal
2021-02-26 13:07 ` Patrice CHOTARD
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=20210225165156.66f7c1c2@xps13 \
--to=miquel.raynal@bootlin.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox