public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
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

  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