Re: [PATCH 03/11] spi: Add a driver for the Freescale/NXP QuadSPI controller
From: Boris Brezillon
Date: Wed May 30 2018 - 10:58:25 EST
Hi Frieder,
On Wed, 30 May 2018 15:14:32 +0200
Frieder Schrempf <frieder.schrempf@xxxxxxxxx> wrote:
> +
> +static const char *fsl_qspi_get_name(struct spi_mem *mem)
> +{
> + struct fsl_qspi *q = spi_controller_get_devdata(mem->spi->master);
> + struct device *dev = &mem->spi->dev;
> + const char *name;
> +
> + /*
> + * In order to keep mtdparts compatible with the old MTD driver at
> + * mtd/spi-nor/fsl-quadspi.c, we set a custom name derived from the
> + * platform_device of the controller.
> + */
> + if (of_get_available_child_count(q->dev->of_node) == 1)
> + name = dev_name(q->dev);
> + else
> + name = devm_kasprintf(dev, GFP_KERNEL,
> + "%s-%d", dev_name(q->dev),
> + mem->spi->chip_select);
> +
> + if (!name) {
> + dev_err(dev, "failed to get memory for custom flash name\n");
> + return dev_name(q->dev);
Hm, not sure that's what we want. We should probably fail when the
allocation fails.
How about letting ->get_name() return an error pointer or NULL in case
of error. With the other I made suggestion in my review of patch 1
(calling ->get_name() at probe time) you could refuse to probe the
device when ->get_name() fails.
> + }
> +
> + return name;
> +}
> +
Regards,
Boris