Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
On Mon, Aug 19, 2013 at 10:51:55AM +0200, Julia Lawall wrote: > From: Julia Lawall > > Remove unneeded error handling on the result of a call to > platform_get_resource_byname when the value is passed to > devm_ioremap_resource. Applied, thanks. signature.asc Description: Digital signature
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
On Mon, Aug 19, 2013 at 10:51:55AM +0200, Julia Lawall wrote: From: Julia Lawall julia.law...@lip6.fr Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. Applied, thanks. signature.asc Description: Digital signature
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
On Mon, 19 Aug 2013, walter harms wrote: > > > Am 19.08.2013 12:12, schrieb Julia Lawall: > > On Mon, 19 Aug 2013, walter harms wrote: > > > >> > >> > >> Am 19.08.2013 10:51, schrieb Julia Lawall: > >>> From: Julia Lawall > >>> > >>> Remove unneeded error handling on the result of a call to > >>> platform_get_resource_byname when the value is passed to > >>> devm_ioremap_resource. > >>> > >>> A simplified version of the semantic patch that makes this change is as > >>> follows: (http://coccinelle.lip6.fr/) > >>> > >>> // > >>> @@ > >>> expression pdev,res,e,e1; > >>> expression ret != 0; > >>> identifier l; > >>> @@ > >>> > >>> res = platform_get_resource_byname(...); > >>> - if (res == NULL) { ... \(goto l;\|return ret;\) } > >>> e = devm_ioremap_resource(e1, res); > >>> // > >>> > >>> Signed-off-by: Julia Lawall > >>> > >>> --- > >>> drivers/regulator/ti-abb-regulator.c | 10 -- > >>> 1 file changed, 10 deletions(-) > >>> > >>> diff --git a/drivers/regulator/ti-abb-regulator.c > >>> b/drivers/regulator/ti-abb-regulator.c > >>> index 3753ed0..d8e3e12 100644 > >>> --- a/drivers/regulator/ti-abb-regulator.c > >>> +++ b/drivers/regulator/ti-abb-regulator.c > >>> @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) > >>> /* Map ABB resources */ > >>> pname = "base-address"; > >>> res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); > >>> - if (!res) { > >>> - dev_err(dev, "Missing '%s' IO resource\n", pname); > >>> - ret = -ENODEV; > >>> - goto err; > >>> - } > >>> abb->base = devm_ioremap_resource(dev, res); > >>> if (IS_ERR(abb->base)) { > >>> ret = PTR_ERR(abb->base); > >> > >> > >> is pname used by anything else ? (also below) > > > > I'm not sure to understand the sense of the question. My patch does > > remove a use of pname, but there is another one on the line above, in the > > call to platform_get_resource_byname. Perhaps the definition of pname > > could be inlined at this use, but it is a common pattern throughout the > > function. > > > in other functions this looks like that: > r = platform_get_resource_byname(parent, IORESOURCE_MEM, "control"); > > i did not dive into the driver but from the part i see makeing this into: > > es = platform_get_resource_byname(pdev, IORESOURCE_MEM,"base-address"); > > would render pname obsolete. This function always uses pname for platform_get_resource_byname (4 calls) and of_property_read_u32 (2 calls). So perhaps it is better to leave it as is. julia -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
Am 19.08.2013 12:12, schrieb Julia Lawall: > On Mon, 19 Aug 2013, walter harms wrote: > >> >> >> Am 19.08.2013 10:51, schrieb Julia Lawall: >>> From: Julia Lawall >>> >>> Remove unneeded error handling on the result of a call to >>> platform_get_resource_byname when the value is passed to >>> devm_ioremap_resource. >>> >>> A simplified version of the semantic patch that makes this change is as >>> follows: (http://coccinelle.lip6.fr/) >>> >>> // >>> @@ >>> expression pdev,res,e,e1; >>> expression ret != 0; >>> identifier l; >>> @@ >>> >>> res = platform_get_resource_byname(...); >>> - if (res == NULL) { ... \(goto l;\|return ret;\) } >>> e = devm_ioremap_resource(e1, res); >>> // >>> >>> Signed-off-by: Julia Lawall >>> >>> --- >>> drivers/regulator/ti-abb-regulator.c | 10 -- >>> 1 file changed, 10 deletions(-) >>> >>> diff --git a/drivers/regulator/ti-abb-regulator.c >>> b/drivers/regulator/ti-abb-regulator.c >>> index 3753ed0..d8e3e12 100644 >>> --- a/drivers/regulator/ti-abb-regulator.c >>> +++ b/drivers/regulator/ti-abb-regulator.c >>> @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) >>> /* Map ABB resources */ >>> pname = "base-address"; >>> res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); >>> - if (!res) { >>> - dev_err(dev, "Missing '%s' IO resource\n", pname); >>> - ret = -ENODEV; >>> - goto err; >>> - } >>> abb->base = devm_ioremap_resource(dev, res); >>> if (IS_ERR(abb->base)) { >>> ret = PTR_ERR(abb->base); >> >> >> is pname used by anything else ? (also below) > > I'm not sure to understand the sense of the question. My patch does > remove a use of pname, but there is another one on the line above, in the > call to platform_get_resource_byname. Perhaps the definition of pname > could be inlined at this use, but it is a common pattern throughout the > function. > in other functions this looks like that: r = platform_get_resource_byname(parent, IORESOURCE_MEM, "control"); i did not dive into the driver but from the part i see makeing this into: es = platform_get_resource_byname(pdev, IORESOURCE_MEM,"base-address"); would render pname obsolete. re, wh -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
The function affected by this patch also calls devm_ioremap_nocache twice, with no form of request_mem_region. I wonder if these calls should also use devm_ioremap_resource? julia On Mon, 19 Aug 2013, walter harms wrote: > > > Am 19.08.2013 10:51, schrieb Julia Lawall: > > From: Julia Lawall > > > > Remove unneeded error handling on the result of a call to > > platform_get_resource_byname when the value is passed to > > devm_ioremap_resource. > > > > A simplified version of the semantic patch that makes this change is as > > follows: (http://coccinelle.lip6.fr/) > > > > // > > @@ > > expression pdev,res,e,e1; > > expression ret != 0; > > identifier l; > > @@ > > > > res = platform_get_resource_byname(...); > > - if (res == NULL) { ... \(goto l;\|return ret;\) } > > e = devm_ioremap_resource(e1, res); > > // > > > > Signed-off-by: Julia Lawall > > > > --- > > drivers/regulator/ti-abb-regulator.c | 10 -- > > 1 file changed, 10 deletions(-) > > > > diff --git a/drivers/regulator/ti-abb-regulator.c > > b/drivers/regulator/ti-abb-regulator.c > > index 3753ed0..d8e3e12 100644 > > --- a/drivers/regulator/ti-abb-regulator.c > > +++ b/drivers/regulator/ti-abb-regulator.c > > @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) > > /* Map ABB resources */ > > pname = "base-address"; > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); > > - if (!res) { > > - dev_err(dev, "Missing '%s' IO resource\n", pname); > > - ret = -ENODEV; > > - goto err; > > - } > > abb->base = devm_ioremap_resource(dev, res); > > if (IS_ERR(abb->base)) { > > ret = PTR_ERR(abb->base); > > > is pname used by anything else ? (also below) > > re, > wh > > > @@ -770,11 +765,6 @@ static int ti_abb_probe(struct platform_device *pdev) > > > > pname = "ldo-address"; > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); > > - if (!res) { > > - dev_dbg(dev, "Missing '%s' IO resource\n", pname); > > - ret = -ENODEV; > > - goto skip_opt; > > - } > > abb->ldo_base = devm_ioremap_resource(dev, res); > > if (IS_ERR(abb->ldo_base)) { > > ret = PTR_ERR(abb->ldo_base); > > > > -- > > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" > > in > > the body of a message to majord...@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
On Mon, 19 Aug 2013, walter harms wrote: > > > Am 19.08.2013 10:51, schrieb Julia Lawall: > > From: Julia Lawall > > > > Remove unneeded error handling on the result of a call to > > platform_get_resource_byname when the value is passed to > > devm_ioremap_resource. > > > > A simplified version of the semantic patch that makes this change is as > > follows: (http://coccinelle.lip6.fr/) > > > > // > > @@ > > expression pdev,res,e,e1; > > expression ret != 0; > > identifier l; > > @@ > > > > res = platform_get_resource_byname(...); > > - if (res == NULL) { ... \(goto l;\|return ret;\) } > > e = devm_ioremap_resource(e1, res); > > // > > > > Signed-off-by: Julia Lawall > > > > --- > > drivers/regulator/ti-abb-regulator.c | 10 -- > > 1 file changed, 10 deletions(-) > > > > diff --git a/drivers/regulator/ti-abb-regulator.c > > b/drivers/regulator/ti-abb-regulator.c > > index 3753ed0..d8e3e12 100644 > > --- a/drivers/regulator/ti-abb-regulator.c > > +++ b/drivers/regulator/ti-abb-regulator.c > > @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) > > /* Map ABB resources */ > > pname = "base-address"; > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); > > - if (!res) { > > - dev_err(dev, "Missing '%s' IO resource\n", pname); > > - ret = -ENODEV; > > - goto err; > > - } > > abb->base = devm_ioremap_resource(dev, res); > > if (IS_ERR(abb->base)) { > > ret = PTR_ERR(abb->base); > > > is pname used by anything else ? (also below) I'm not sure to understand the sense of the question. My patch does remove a use of pname, but there is another one on the line above, in the call to platform_get_resource_byname. Perhaps the definition of pname could be inlined at this use, but it is a common pattern throughout the function. julia -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
On Mon, 19 Aug 2013, walter harms wrote: > > > Am 19.08.2013 10:51, schrieb Julia Lawall: > > From: Julia Lawall > > > > Remove unneeded error handling on the result of a call to > > platform_get_resource_byname when the value is passed to > > devm_ioremap_resource. > > > > A simplified version of the semantic patch that makes this change is as > > follows: (http://coccinelle.lip6.fr/) > > > > // > > @@ > > expression pdev,res,e,e1; > > expression ret != 0; > > identifier l; > > @@ > > > > res = platform_get_resource_byname(...); > > - if (res == NULL) { ... \(goto l;\|return ret;\) } > > e = devm_ioremap_resource(e1, res); > > // > > > > Signed-off-by: Julia Lawall > > > > --- > > drivers/regulator/ti-abb-regulator.c | 10 -- > > 1 file changed, 10 deletions(-) > > > > diff --git a/drivers/regulator/ti-abb-regulator.c > > b/drivers/regulator/ti-abb-regulator.c > > index 3753ed0..d8e3e12 100644 > > --- a/drivers/regulator/ti-abb-regulator.c > > +++ b/drivers/regulator/ti-abb-regulator.c > > @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) > > /* Map ABB resources */ > > pname = "base-address"; > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); > > - if (!res) { > > - dev_err(dev, "Missing '%s' IO resource\n", pname); > > - ret = -ENODEV; > > - goto err; > > - } > > abb->base = devm_ioremap_resource(dev, res); > > if (IS_ERR(abb->base)) { > > ret = PTR_ERR(abb->base); > > > is pname used by anything else ? (also below) I'll check. Thanks for the feedback. julia > > re, > wh > > > @@ -770,11 +765,6 @@ static int ti_abb_probe(struct platform_device *pdev) > > > > pname = "ldo-address"; > > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); > > - if (!res) { > > - dev_dbg(dev, "Missing '%s' IO resource\n", pname); > > - ret = -ENODEV; > > - goto skip_opt; > > - } > > abb->ldo_base = devm_ioremap_resource(dev, res); > > if (IS_ERR(abb->ldo_base)) { > > ret = PTR_ERR(abb->ldo_base); > > > > -- > > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" > > in > > the body of a message to majord...@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
Am 19.08.2013 10:51, schrieb Julia Lawall: > From: Julia Lawall > > Remove unneeded error handling on the result of a call to > platform_get_resource_byname when the value is passed to > devm_ioremap_resource. > > A simplified version of the semantic patch that makes this change is as > follows: (http://coccinelle.lip6.fr/) > > // > @@ > expression pdev,res,e,e1; > expression ret != 0; > identifier l; > @@ > > res = platform_get_resource_byname(...); > - if (res == NULL) { ... \(goto l;\|return ret;\) } > e = devm_ioremap_resource(e1, res); > // > > Signed-off-by: Julia Lawall > > --- > drivers/regulator/ti-abb-regulator.c | 10 -- > 1 file changed, 10 deletions(-) > > diff --git a/drivers/regulator/ti-abb-regulator.c > b/drivers/regulator/ti-abb-regulator.c > index 3753ed0..d8e3e12 100644 > --- a/drivers/regulator/ti-abb-regulator.c > +++ b/drivers/regulator/ti-abb-regulator.c > @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) > /* Map ABB resources */ > pname = "base-address"; > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); > - if (!res) { > - dev_err(dev, "Missing '%s' IO resource\n", pname); > - ret = -ENODEV; > - goto err; > - } > abb->base = devm_ioremap_resource(dev, res); > if (IS_ERR(abb->base)) { > ret = PTR_ERR(abb->base); is pname used by anything else ? (also below) re, wh > @@ -770,11 +765,6 @@ static int ti_abb_probe(struct platform_device *pdev) > > pname = "ldo-address"; > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); > - if (!res) { > - dev_dbg(dev, "Missing '%s' IO resource\n", pname); > - ret = -ENODEV; > - goto skip_opt; > - } > abb->ldo_base = devm_ioremap_resource(dev, res); > if (IS_ERR(abb->ldo_base)) { > ret = PTR_ERR(abb->ldo_base); > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
From: Julia Lawall Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression pdev,res,e,e1; expression ret != 0; identifier l; @@ res = platform_get_resource_byname(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); // Signed-off-by: Julia Lawall --- drivers/regulator/ti-abb-regulator.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/regulator/ti-abb-regulator.c b/drivers/regulator/ti-abb-regulator.c index 3753ed0..d8e3e12 100644 --- a/drivers/regulator/ti-abb-regulator.c +++ b/drivers/regulator/ti-abb-regulator.c @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) /* Map ABB resources */ pname = "base-address"; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_err(dev, "Missing '%s' IO resource\n", pname); - ret = -ENODEV; - goto err; - } abb->base = devm_ioremap_resource(dev, res); if (IS_ERR(abb->base)) { ret = PTR_ERR(abb->base); @@ -770,11 +765,6 @@ static int ti_abb_probe(struct platform_device *pdev) pname = "ldo-address"; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_dbg(dev, "Missing '%s' IO resource\n", pname); - ret = -ENODEV; - goto skip_opt; - } abb->ldo_base = devm_ioremap_resource(dev, res); if (IS_ERR(abb->ldo_base)) { ret = PTR_ERR(abb->ldo_base); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
From: Julia Lawall julia.law...@lip6.fr Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // smpl @@ expression pdev,res,e,e1; expression ret != 0; identifier l; @@ res = platform_get_resource_byname(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); // /smpl Signed-off-by: Julia Lawall julia.law...@lip6.fr --- drivers/regulator/ti-abb-regulator.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/regulator/ti-abb-regulator.c b/drivers/regulator/ti-abb-regulator.c index 3753ed0..d8e3e12 100644 --- a/drivers/regulator/ti-abb-regulator.c +++ b/drivers/regulator/ti-abb-regulator.c @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) /* Map ABB resources */ pname = base-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_err(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto err; - } abb-base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-base)) { ret = PTR_ERR(abb-base); @@ -770,11 +765,6 @@ static int ti_abb_probe(struct platform_device *pdev) pname = ldo-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_dbg(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto skip_opt; - } abb-ldo_base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-ldo_base)) { ret = PTR_ERR(abb-ldo_base); -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
Am 19.08.2013 10:51, schrieb Julia Lawall: From: Julia Lawall julia.law...@lip6.fr Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // smpl @@ expression pdev,res,e,e1; expression ret != 0; identifier l; @@ res = platform_get_resource_byname(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); // /smpl Signed-off-by: Julia Lawall julia.law...@lip6.fr --- drivers/regulator/ti-abb-regulator.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/regulator/ti-abb-regulator.c b/drivers/regulator/ti-abb-regulator.c index 3753ed0..d8e3e12 100644 --- a/drivers/regulator/ti-abb-regulator.c +++ b/drivers/regulator/ti-abb-regulator.c @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) /* Map ABB resources */ pname = base-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_err(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto err; - } abb-base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-base)) { ret = PTR_ERR(abb-base); is pname used by anything else ? (also below) re, wh @@ -770,11 +765,6 @@ static int ti_abb_probe(struct platform_device *pdev) pname = ldo-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_dbg(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto skip_opt; - } abb-ldo_base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-ldo_base)) { ret = PTR_ERR(abb-ldo_base); -- To unsubscribe from this list: send the line unsubscribe kernel-janitors in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
On Mon, 19 Aug 2013, walter harms wrote: Am 19.08.2013 10:51, schrieb Julia Lawall: From: Julia Lawall julia.law...@lip6.fr Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // smpl @@ expression pdev,res,e,e1; expression ret != 0; identifier l; @@ res = platform_get_resource_byname(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); // /smpl Signed-off-by: Julia Lawall julia.law...@lip6.fr --- drivers/regulator/ti-abb-regulator.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/regulator/ti-abb-regulator.c b/drivers/regulator/ti-abb-regulator.c index 3753ed0..d8e3e12 100644 --- a/drivers/regulator/ti-abb-regulator.c +++ b/drivers/regulator/ti-abb-regulator.c @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) /* Map ABB resources */ pname = base-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_err(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto err; - } abb-base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-base)) { ret = PTR_ERR(abb-base); is pname used by anything else ? (also below) I'll check. Thanks for the feedback. julia re, wh @@ -770,11 +765,6 @@ static int ti_abb_probe(struct platform_device *pdev) pname = ldo-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_dbg(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto skip_opt; - } abb-ldo_base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-ldo_base)) { ret = PTR_ERR(abb-ldo_base); -- To unsubscribe from this list: send the line unsubscribe kernel-janitors in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe kernel-janitors in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
On Mon, 19 Aug 2013, walter harms wrote: Am 19.08.2013 10:51, schrieb Julia Lawall: From: Julia Lawall julia.law...@lip6.fr Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // smpl @@ expression pdev,res,e,e1; expression ret != 0; identifier l; @@ res = platform_get_resource_byname(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); // /smpl Signed-off-by: Julia Lawall julia.law...@lip6.fr --- drivers/regulator/ti-abb-regulator.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/regulator/ti-abb-regulator.c b/drivers/regulator/ti-abb-regulator.c index 3753ed0..d8e3e12 100644 --- a/drivers/regulator/ti-abb-regulator.c +++ b/drivers/regulator/ti-abb-regulator.c @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) /* Map ABB resources */ pname = base-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_err(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto err; - } abb-base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-base)) { ret = PTR_ERR(abb-base); is pname used by anything else ? (also below) I'm not sure to understand the sense of the question. My patch does remove a use of pname, but there is another one on the line above, in the call to platform_get_resource_byname. Perhaps the definition of pname could be inlined at this use, but it is a common pattern throughout the function. julia -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
The function affected by this patch also calls devm_ioremap_nocache twice, with no form of request_mem_region. I wonder if these calls should also use devm_ioremap_resource? julia On Mon, 19 Aug 2013, walter harms wrote: Am 19.08.2013 10:51, schrieb Julia Lawall: From: Julia Lawall julia.law...@lip6.fr Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // smpl @@ expression pdev,res,e,e1; expression ret != 0; identifier l; @@ res = platform_get_resource_byname(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); // /smpl Signed-off-by: Julia Lawall julia.law...@lip6.fr --- drivers/regulator/ti-abb-regulator.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/regulator/ti-abb-regulator.c b/drivers/regulator/ti-abb-regulator.c index 3753ed0..d8e3e12 100644 --- a/drivers/regulator/ti-abb-regulator.c +++ b/drivers/regulator/ti-abb-regulator.c @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) /* Map ABB resources */ pname = base-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_err(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto err; - } abb-base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-base)) { ret = PTR_ERR(abb-base); is pname used by anything else ? (also below) re, wh @@ -770,11 +765,6 @@ static int ti_abb_probe(struct platform_device *pdev) pname = ldo-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_dbg(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto skip_opt; - } abb-ldo_base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-ldo_base)) { ret = PTR_ERR(abb-ldo_base); -- To unsubscribe from this list: send the line unsubscribe kernel-janitors in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe kernel-janitors in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
Am 19.08.2013 12:12, schrieb Julia Lawall: On Mon, 19 Aug 2013, walter harms wrote: Am 19.08.2013 10:51, schrieb Julia Lawall: From: Julia Lawall julia.law...@lip6.fr Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // smpl @@ expression pdev,res,e,e1; expression ret != 0; identifier l; @@ res = platform_get_resource_byname(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); // /smpl Signed-off-by: Julia Lawall julia.law...@lip6.fr --- drivers/regulator/ti-abb-regulator.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/regulator/ti-abb-regulator.c b/drivers/regulator/ti-abb-regulator.c index 3753ed0..d8e3e12 100644 --- a/drivers/regulator/ti-abb-regulator.c +++ b/drivers/regulator/ti-abb-regulator.c @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) /* Map ABB resources */ pname = base-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_err(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto err; - } abb-base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-base)) { ret = PTR_ERR(abb-base); is pname used by anything else ? (also below) I'm not sure to understand the sense of the question. My patch does remove a use of pname, but there is another one on the line above, in the call to platform_get_resource_byname. Perhaps the definition of pname could be inlined at this use, but it is a common pattern throughout the function. in other functions this looks like that: r = platform_get_resource_byname(parent, IORESOURCE_MEM, control); i did not dive into the driver but from the part i see makeing this into: es = platform_get_resource_byname(pdev, IORESOURCE_MEM,base-address); would render pname obsolete. re, wh -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 5/6] regulator: ti-abb: simplify platform_get_resource_byname/devm_ioremap_resource
On Mon, 19 Aug 2013, walter harms wrote: Am 19.08.2013 12:12, schrieb Julia Lawall: On Mon, 19 Aug 2013, walter harms wrote: Am 19.08.2013 10:51, schrieb Julia Lawall: From: Julia Lawall julia.law...@lip6.fr Remove unneeded error handling on the result of a call to platform_get_resource_byname when the value is passed to devm_ioremap_resource. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // smpl @@ expression pdev,res,e,e1; expression ret != 0; identifier l; @@ res = platform_get_resource_byname(...); - if (res == NULL) { ... \(goto l;\|return ret;\) } e = devm_ioremap_resource(e1, res); // /smpl Signed-off-by: Julia Lawall julia.law...@lip6.fr --- drivers/regulator/ti-abb-regulator.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/drivers/regulator/ti-abb-regulator.c b/drivers/regulator/ti-abb-regulator.c index 3753ed0..d8e3e12 100644 --- a/drivers/regulator/ti-abb-regulator.c +++ b/drivers/regulator/ti-abb-regulator.c @@ -717,11 +717,6 @@ static int ti_abb_probe(struct platform_device *pdev) /* Map ABB resources */ pname = base-address; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname); - if (!res) { - dev_err(dev, Missing '%s' IO resource\n, pname); - ret = -ENODEV; - goto err; - } abb-base = devm_ioremap_resource(dev, res); if (IS_ERR(abb-base)) { ret = PTR_ERR(abb-base); is pname used by anything else ? (also below) I'm not sure to understand the sense of the question. My patch does remove a use of pname, but there is another one on the line above, in the call to platform_get_resource_byname. Perhaps the definition of pname could be inlined at this use, but it is a common pattern throughout the function. in other functions this looks like that: r = platform_get_resource_byname(parent, IORESOURCE_MEM, control); i did not dive into the driver but from the part i see makeing this into: es = platform_get_resource_byname(pdev, IORESOURCE_MEM,base-address); would render pname obsolete. This function always uses pname for platform_get_resource_byname (4 calls) and of_property_read_u32 (2 calls). So perhaps it is better to leave it as is. julia -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/