Re: [PATCH v2 02/12] mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name

From: Boris Brezillon
Date: Thu Jul 05 2018 - 08:56:35 EST


On Thu, 5 Jul 2018 13:14:58 +0200
Frieder Schrempf <frieder.schrempf@xxxxxxxxx> wrote:

> By calling spi_mem_get_name(), the driver of the (Q)SPI controller can
> set a custom name for the memory device if necessary.
> This is useful to keep mtdparts compatible when controller drivers are
> ported from the MTD to the SPI layer.
>
> Signed-off-by: Frieder Schrempf <frieder.schrempf@xxxxxxxxx>
> ---
> drivers/mtd/devices/m25p80.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
> index e84563d..482f0ef 100644
> --- a/drivers/mtd/devices/m25p80.c
> +++ b/drivers/mtd/devices/m25p80.c
> @@ -199,8 +199,7 @@ static int m25p_probe(struct spi_mem *spimem)
> hwcaps.mask |= SNOR_HWCAPS_READ_1_2_2;
> }
>
> - if (data && data->name)
> - nor->mtd.name = data->name;
> + nor->mtd.name = spi_mem_get_name(spimem);

Hm, not sure you can do that without breaking setup that pass a
flash_platform_data object with a name.

Also, you should keep the name extracted from the label property if any
(this is done earlier, when spi_nor_set_flash_node() is called).

if (data && data->name)
nor->mtd.name = data->name;

if (!nor->mtd.name)
nor->mtd.name = spi_mem_get_name(spimem);

>
> /* For some (historical?) reason many platforms provide two different
> * names in flash_platform_data: "name" and "type". Quite often name is