Message ID | 20200603134922.1352340-5-boris.brezillon@collabora.com |
---|---|
State | Accepted |
Headers | show |
Series | mtd: rawnand: fsl_upm: Convert to exec_op() (and more) | expand |
Boris Brezillon <boris.brezillon@collabora.com> wrote on Wed, 3 Jun 2020 15:49:16 +0200: > This simplifies the init() error path and the remove() handler. > > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> > --- > drivers/mtd/nand/raw/fsl_upm.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/mtd/nand/raw/fsl_upm.c b/drivers/mtd/nand/raw/fsl_upm.c > index 9cf79c62ef22..a3e3a968891d 100644 > --- a/drivers/mtd/nand/raw/fsl_upm.c > +++ b/drivers/mtd/nand/raw/fsl_upm.c > @@ -176,8 +176,9 @@ static int fun_chip_init(struct fsl_upm_nand *fun, > return -ENODEV; > > nand_set_flash_node(&fun->chip, flash_np); > - mtd->name = kasprintf(GFP_KERNEL, "0x%llx.%pOFn", (u64)io_res->start, > - flash_np); > + mtd->name = devm_kasprintf(fun->dev, GFP_KERNEL, "0x%llx.%pOFn", > + (u64)io_res->start, > + flash_np); Shouldn't we check if mtd->name was not already set by nand_set_flash_node() first?
On Wed, 3 Jun 2020 15:55:31 +0200 Miquel Raynal <miquel.raynal@bootlin.com> wrote: > Boris Brezillon <boris.brezillon@collabora.com> wrote on Wed, 3 Jun > 2020 15:49:16 +0200: > > > This simplifies the init() error path and the remove() handler. > > > > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> > > --- > > drivers/mtd/nand/raw/fsl_upm.c | 8 +++----- > > 1 file changed, 3 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/mtd/nand/raw/fsl_upm.c b/drivers/mtd/nand/raw/fsl_upm.c > > index 9cf79c62ef22..a3e3a968891d 100644 > > --- a/drivers/mtd/nand/raw/fsl_upm.c > > +++ b/drivers/mtd/nand/raw/fsl_upm.c > > @@ -176,8 +176,9 @@ static int fun_chip_init(struct fsl_upm_nand *fun, > > return -ENODEV; > > > > nand_set_flash_node(&fun->chip, flash_np); > > - mtd->name = kasprintf(GFP_KERNEL, "0x%llx.%pOFn", (u64)io_res->start, > > - flash_np); > > + mtd->name = devm_kasprintf(fun->dev, GFP_KERNEL, "0x%llx.%pOFn", > > + (u64)io_res->start, > > + flash_np); > > Shouldn't we check if mtd->name was not already set by > nand_set_flash_node() first? > We could, but let's see if we find someone to test those changes first.
On Wed, 2020-06-03 at 13:49:16 UTC, Boris Brezillon wrote: > This simplifies the init() error path and the remove() handler. > > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next, thanks. Miquel
diff --git a/drivers/mtd/nand/raw/fsl_upm.c b/drivers/mtd/nand/raw/fsl_upm.c index 9cf79c62ef22..a3e3a968891d 100644 --- a/drivers/mtd/nand/raw/fsl_upm.c +++ b/drivers/mtd/nand/raw/fsl_upm.c @@ -176,8 +176,9 @@ static int fun_chip_init(struct fsl_upm_nand *fun, return -ENODEV; nand_set_flash_node(&fun->chip, flash_np); - mtd->name = kasprintf(GFP_KERNEL, "0x%llx.%pOFn", (u64)io_res->start, - flash_np); + mtd->name = devm_kasprintf(fun->dev, GFP_KERNEL, "0x%llx.%pOFn", + (u64)io_res->start, + flash_np); if (!mtd->name) { ret = -ENOMEM; goto err; @@ -190,8 +191,6 @@ static int fun_chip_init(struct fsl_upm_nand *fun, ret = mtd_device_register(mtd, NULL, 0); err: of_node_put(flash_np); - if (ret) - kfree(mtd->name); return ret; } @@ -318,7 +317,6 @@ static int fun_remove(struct platform_device *ofdev) ret = mtd_device_unregister(mtd); WARN_ON(ret); nand_cleanup(chip); - kfree(mtd->name); for (i = 0; i < fun->mchip_count; i++) { if (fun->rnb_gpio[i] < 0)
This simplifies the init() error path and the remove() handler. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> --- drivers/mtd/nand/raw/fsl_upm.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)