Re: [PATCH 03/11] spi: Add a driver for the Freescale/NXP QuadSPI controller

From: Frieder Schrempf
Date: Wed May 30 2018 - 11:14:28 EST


Hi Boris,

On 30.05.2018 16:58, Boris Brezillon wrote:
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.

Right, we should definitely 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.

Ok, I will change that.

Thanks,

Frieder


+ }
+
+ return name;
+}
+

Regards,

Boris