netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] net: ethernet: freescale: use devm_ioremap_resource()
@ 2013-05-13 19:37 Laurent Navet
  2013-05-14  6:21 ` Frank Li
  2013-05-28 18:32 ` Fabio Estevam
  0 siblings, 2 replies; 5+ messages in thread
From: Laurent Navet @ 2013-05-13 19:37 UTC (permalink / raw)
  To: davem
  Cc: Frank.Li, fabio.estevam, shawn.guo, joe, netdev, linux-kernel,
	Laurent Navet

Replace a call to deprecated devm_request_and_ioremap by devm_ioremap_resource.
also remove tests on 'r' since devm_ioremap_resource() checks for it
in a better way.

Found with coccicheck and this semantic patch:
 scripts/coccinelle/api/devm_ioremap_resource.cocci

Signed-off-by: Laurent Navet <laurent.navet@gmail.com>
---
 drivers/net/ethernet/freescale/fec_main.c |   13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
index aff0310..0afc7ff 100644
--- a/drivers/net/ethernet/freescale/fec_main.c
+++ b/drivers/net/ethernet/freescale/fec_main.c
@@ -1843,8 +1843,6 @@ fec_probe(struct platform_device *pdev)
 		pdev->id_entry = of_id->data;
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r)
-		return -ENXIO;
 
 	/* Init network device */
 	ndev = alloc_etherdev(sizeof(struct fec_enet_private));
@@ -1861,17 +1859,16 @@ fec_probe(struct platform_device *pdev)
 	    (pdev->id_entry->driver_data & FEC_QUIRK_HAS_GBIT))
 		fep->pause_flag |= FEC_PAUSE_FLAG_AUTONEG;
 
-	fep->hwp = devm_request_and_ioremap(&pdev->dev, r);
+	fep->hwp = devm_ioremap_resource(&pdev->dev, r);
+	if (IS_ERR(fep->hwp)) {
+		ret = PTR_ERR(fep->hwp);
+		goto failed_ioremap;
+	}
 	fep->pdev = pdev;
 	fep->dev_id = dev_id++;
 
 	fep->bufdesc_ex = 0;
 
-	if (!fep->hwp) {
-		ret = -ENOMEM;
-		goto failed_ioremap;
-	}
-
 	platform_set_drvdata(pdev, ndev);
 
 	ret = of_get_phy_mode(pdev->dev.of_node);
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] net: ethernet: freescale: use devm_ioremap_resource()
  2013-05-13 19:37 [PATCH] net: ethernet: freescale: use devm_ioremap_resource() Laurent Navet
@ 2013-05-14  6:21 ` Frank Li
  2013-05-14  7:09   ` Laurent Navet
  2013-05-28 18:32 ` Fabio Estevam
  1 sibling, 1 reply; 5+ messages in thread
From: Frank Li @ 2013-05-14  6:21 UTC (permalink / raw)
  To: Laurent Navet
  Cc: David Miller, Frank.Li, Fabio Estevam, Shawn Guo, joe, netdev,
	kernel list

2013/5/14 Laurent Navet <laurent.navet@gmail.com>:
> Replace a call to deprecated devm_request_and_ioremap by devm_ioremap_resource.
> also remove tests on 'r' since devm_ioremap_resource() checks for it
> in a better way.
>
> Found with coccicheck and this semantic patch:
>  scripts/coccinelle/api/devm_ioremap_resource.cocci
>
> Signed-off-by: Laurent Navet <laurent.navet@gmail.com>
> ---
>  drivers/net/ethernet/freescale/fec_main.c |   13 +++++--------
>  1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c
> index aff0310..0afc7ff 100644
> --- a/drivers/net/ethernet/freescale/fec_main.c
> +++ b/drivers/net/ethernet/freescale/fec_main.c
> @@ -1843,8 +1843,6 @@ fec_probe(struct platform_device *pdev)
>                 pdev->id_entry = of_id->data;
>
>         r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -       if (!r)
> -               return -ENXIO;
>

why remove this check?

>         /* Init network device */
>         ndev = alloc_etherdev(sizeof(struct fec_enet_private));
> @@ -1861,17 +1859,16 @@ fec_probe(struct platform_device *pdev)
>             (pdev->id_entry->driver_data & FEC_QUIRK_HAS_GBIT))
>                 fep->pause_flag |= FEC_PAUSE_FLAG_AUTONEG;
>
> -       fep->hwp = devm_request_and_ioremap(&pdev->dev, r);
> +       fep->hwp = devm_ioremap_resource(&pdev->dev, r);
> +       if (IS_ERR(fep->hwp)) {
> +               ret = PTR_ERR(fep->hwp);
> +               goto failed_ioremap;
> +       }
>         fep->pdev = pdev;
>         fep->dev_id = dev_id++;
>
>         fep->bufdesc_ex = 0;
>
> -       if (!fep->hwp) {
> -               ret = -ENOMEM;
> -               goto failed_ioremap;
> -       }
> -
>         platform_set_drvdata(pdev, ndev);
>
>         ret = of_get_phy_mode(pdev->dev.of_node);
> --
> 1.7.10.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] net: ethernet: freescale: use devm_ioremap_resource()
  2013-05-14  6:21 ` Frank Li
@ 2013-05-14  7:09   ` Laurent Navet
  2013-05-14 13:56     ` Frank Li
  0 siblings, 1 reply; 5+ messages in thread
From: Laurent Navet @ 2013-05-14  7:09 UTC (permalink / raw)
  To: Frank Li
  Cc: David Miller, Frank.Li, Fabio Estevam, Shawn Guo, joe, netdev,
	kernel list

>> --- a/drivers/net/ethernet/freescale/fec_main.c
>> +++ b/drivers/net/ethernet/freescale/fec_main.c
>> @@ -1843,8 +1843,6 @@ fec_probe(struct platform_device *pdev)
>>                 pdev->id_entry = of_id->data;
>>
>>         r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> -       if (!r)
>> -               return -ENXIO;
>>
>
> why remove this check?

it's already checked in devm_ioremap_resource in a better way,

void __iomem *devm_ioremap_resource(struct device *dev, struct resource *res)
 {
...
         if (!res || resource_type(res) != IORESOURCE_MEM) {
                 dev_err(dev, "invalid resource\n");
                 return ERR_PTR(-EINVAL);
         }
...

Laurent.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] net: ethernet: freescale: use devm_ioremap_resource()
  2013-05-14  7:09   ` Laurent Navet
@ 2013-05-14 13:56     ` Frank Li
  0 siblings, 0 replies; 5+ messages in thread
From: Frank Li @ 2013-05-14 13:56 UTC (permalink / raw)
  To: Laurent Navet
  Cc: David Miller, Frank.Li, Fabio Estevam, Shawn Guo, joe, netdev,
	kernel list

2013/5/14 Laurent Navet <laurent.navet@gmail.com>:
> struct resource *res)
>  {
> ...
>          if (!res || resource_type(res) != IORESOURCE_MEM) {
>                  dev_err(dev, "invalid resource\n");
>                  return ERR_PTR(-EINVAL);

Okay, thanks.
Acked

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] net: ethernet: freescale: use devm_ioremap_resource()
  2013-05-13 19:37 [PATCH] net: ethernet: freescale: use devm_ioremap_resource() Laurent Navet
  2013-05-14  6:21 ` Frank Li
@ 2013-05-28 18:32 ` Fabio Estevam
  1 sibling, 0 replies; 5+ messages in thread
From: Fabio Estevam @ 2013-05-28 18:32 UTC (permalink / raw)
  To: Laurent Navet
  Cc: davem, Frank.Li, fabio.estevam, shawn.guo, joe, netdev, linux-kernel

Hi Laurent,

On Mon, May 13, 2013 at 4:37 PM, Laurent Navet <laurent.navet@gmail.com> wrote:
> Replace a call to deprecated devm_request_and_ioremap by devm_ioremap_resource.
> also remove tests on 'r' since devm_ioremap_resource() checks for it
> in a better way.
>
> Found with coccicheck and this semantic patch:
>  scripts/coccinelle/api/devm_ioremap_resource.cocci
>
> Signed-off-by: Laurent Navet <laurent.navet@gmail.com>

I was about to do the same change, then I saw your patch :-)

Looks good:

Tested-by: Fabio Estevam <fabio.estevam@freescale.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-05-28 18:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-13 19:37 [PATCH] net: ethernet: freescale: use devm_ioremap_resource() Laurent Navet
2013-05-14  6:21 ` Frank Li
2013-05-14  7:09   ` Laurent Navet
2013-05-14 13:56     ` Frank Li
2013-05-28 18:32 ` Fabio Estevam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).