Message ID | 20200603134922.1352340-6-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:17 +0200: > Replace the of_address_to_resource() + devm_ioremap() calls by > platform_get_resource() + devm_ioremap_resource() ones which allows us > to get rid of one error message since devm_ioremap_resource() already > takes care of that. > > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> > --- > drivers/mtd/nand/raw/fsl_upm.c | 23 +++++++---------------- > 1 file changed, 7 insertions(+), 16 deletions(-) > > diff --git a/drivers/mtd/nand/raw/fsl_upm.c b/drivers/mtd/nand/raw/fsl_upm.c > index a3e3a968891d..54851e9ea784 100644 > --- a/drivers/mtd/nand/raw/fsl_upm.c > +++ b/drivers/mtd/nand/raw/fsl_upm.c > @@ -14,7 +14,6 @@ > #include <linux/mtd/nand_ecc.h> > #include <linux/mtd/partitions.h> > #include <linux/mtd/mtd.h> > -#include <linux/of_address.h> > #include <linux/of_platform.h> > #include <linux/of_gpio.h> > #include <linux/io.h> > @@ -197,7 +196,7 @@ static int fun_chip_init(struct fsl_upm_nand *fun, > static int fun_probe(struct platform_device *ofdev) > { > struct fsl_upm_nand *fun; > - struct resource io_res; > + struct resource *io_res; > const __be32 *prop; > int rnb_gpio; > int ret; > @@ -208,13 +207,12 @@ static int fun_probe(struct platform_device *ofdev) > if (!fun) > return -ENOMEM; > > - ret = of_address_to_resource(ofdev->dev.of_node, 0, &io_res); > - if (ret) { > - dev_err(&ofdev->dev, "can't get IO base\n"); > - return ret; > - } > + io_res = platform_get_resource(ofdev, IORESOURCE_MEM, 0); > + fun->io_base = devm_ioremap_resource(&ofdev->dev, io_res); Why not even using devm_platform_ioremap_resource() resource directly?
On Wed, 3 Jun 2020 15:58:02 +0200 Miquel Raynal <miquel.raynal@bootlin.com> wrote: > Boris Brezillon <boris.brezillon@collabora.com> wrote on Wed, 3 Jun > 2020 15:49:17 +0200: > > > Replace the of_address_to_resource() + devm_ioremap() calls by > > platform_get_resource() + devm_ioremap_resource() ones which allows us > > to get rid of one error message since devm_ioremap_resource() already > > takes care of that. > > > > Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> > > --- > > drivers/mtd/nand/raw/fsl_upm.c | 23 +++++++---------------- > > 1 file changed, 7 insertions(+), 16 deletions(-) > > > > diff --git a/drivers/mtd/nand/raw/fsl_upm.c b/drivers/mtd/nand/raw/fsl_upm.c > > index a3e3a968891d..54851e9ea784 100644 > > --- a/drivers/mtd/nand/raw/fsl_upm.c > > +++ b/drivers/mtd/nand/raw/fsl_upm.c > > @@ -14,7 +14,6 @@ > > #include <linux/mtd/nand_ecc.h> > > #include <linux/mtd/partitions.h> > > #include <linux/mtd/mtd.h> > > -#include <linux/of_address.h> > > #include <linux/of_platform.h> > > #include <linux/of_gpio.h> > > #include <linux/io.h> > > @@ -197,7 +196,7 @@ static int fun_chip_init(struct fsl_upm_nand *fun, > > static int fun_probe(struct platform_device *ofdev) > > { > > struct fsl_upm_nand *fun; > > - struct resource io_res; > > + struct resource *io_res; > > const __be32 *prop; > > int rnb_gpio; > > int ret; > > @@ -208,13 +207,12 @@ static int fun_probe(struct platform_device *ofdev) > > if (!fun) > > return -ENOMEM; > > > > - ret = of_address_to_resource(ofdev->dev.of_node, 0, &io_res); > > - if (ret) { > > - dev_err(&ofdev->dev, "can't get IO base\n"); > > - return ret; > > - } > > + io_res = platform_get_resource(ofdev, IORESOURCE_MEM, 0); > > + fun->io_base = devm_ioremap_resource(&ofdev->dev, io_res); > > Why not even using devm_platform_ioremap_resource() resource directly? Because I need to pass the resource to fsl_upm_find().
On Wed, 2020-06-03 at 13:49:17 UTC, Boris Brezillon wrote: > Replace the of_address_to_resource() + devm_ioremap() calls by > platform_get_resource() + devm_ioremap_resource() ones which allows us > to get rid of one error message since devm_ioremap_resource() already > takes care of that. > > 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 a3e3a968891d..54851e9ea784 100644 --- a/drivers/mtd/nand/raw/fsl_upm.c +++ b/drivers/mtd/nand/raw/fsl_upm.c @@ -14,7 +14,6 @@ #include <linux/mtd/nand_ecc.h> #include <linux/mtd/partitions.h> #include <linux/mtd/mtd.h> -#include <linux/of_address.h> #include <linux/of_platform.h> #include <linux/of_gpio.h> #include <linux/io.h> @@ -197,7 +196,7 @@ static int fun_chip_init(struct fsl_upm_nand *fun, static int fun_probe(struct platform_device *ofdev) { struct fsl_upm_nand *fun; - struct resource io_res; + struct resource *io_res; const __be32 *prop; int rnb_gpio; int ret; @@ -208,13 +207,12 @@ static int fun_probe(struct platform_device *ofdev) if (!fun) return -ENOMEM; - ret = of_address_to_resource(ofdev->dev.of_node, 0, &io_res); - if (ret) { - dev_err(&ofdev->dev, "can't get IO base\n"); - return ret; - } + io_res = platform_get_resource(ofdev, IORESOURCE_MEM, 0); + fun->io_base = devm_ioremap_resource(&ofdev->dev, io_res); + if (IS_ERR(fun->io_base)) + return PTR_ERR(fun->io_base); - ret = fsl_upm_find(io_res.start, &fun->upm); + ret = fsl_upm_find(io_res->start, &fun->upm); if (ret) { dev_err(&ofdev->dev, "can't find UPM\n"); return ret; @@ -280,17 +278,10 @@ static int fun_probe(struct platform_device *ofdev) fun->wait_flags = FSL_UPM_WAIT_RUN_PATTERN | FSL_UPM_WAIT_WRITE_BYTE; - fun->io_base = devm_ioremap(&ofdev->dev, io_res.start, - resource_size(&io_res)); - if (!fun->io_base) { - ret = -ENOMEM; - goto err2; - } - fun->dev = &ofdev->dev; fun->last_ctrl = NAND_CLE; - ret = fun_chip_init(fun, ofdev->dev.of_node, &io_res); + ret = fun_chip_init(fun, ofdev->dev.of_node, io_res); if (ret) goto err2;
Replace the of_address_to_resource() + devm_ioremap() calls by platform_get_resource() + devm_ioremap_resource() ones which allows us to get rid of one error message since devm_ioremap_resource() already takes care of that. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> --- drivers/mtd/nand/raw/fsl_upm.c | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-)