Hi Frieder,

On Wed, 30 May 2018 15:14:32 +0200
Frieder Schrempf <[email protected]> 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

Reply via email to