RE: [PATCH] ethernet: Use devm_platform_ioremap_resource() in three functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Markus Elfring <Markus.Elfring@xxxxxx>
> Sent: Wednesday, September 18, 2019 7:01 PM
> To: netdev@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; David S.
> Miller <davem@xxxxxxxxxxxxx>; Hans Ulli Kroll <ulli.kroll@xxxxxxxxxxxxxx>;
> Hauke Mehrtens <hauke@xxxxxxxxxx>; Linus Walleij
> <linus.walleij@xxxxxxxxxx>; Michal Simek <michals@xxxxxxxxxx>; Radhey
> Shyam Pandey <radheys@xxxxxxxxxx>
> Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>; kernel-janitors@xxxxxxxxxxxxxxx;
> Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>; Himanshu Jha
> <himanshujha199640@xxxxxxxxx>
> Subject: [PATCH] ethernet: Use devm_platform_ioremap_resource() in three
> functions

Prefer using a separate patch for each driver. Also skip mentioning
"three functions" in commit description.  

> 
> From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> Date: Wed, 18 Sep 2019 15:15:06 +0200
> 
> Simplify these function implementations by using a known wrapper function.

Minor nit- Better to mention about these funcs in commit description.
Something like- uses devm_platform_ioremap_resource() instead of using
platform_get_resource() and devm_ioremap_resource() together to simplify.

> 
> This issue was detected by using the Coccinelle software.
> 
> Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/net/ethernet/cortina/gemini.c             |  6 +-----
>  drivers/net/ethernet/lantiq_xrx200.c              | 11 +----------
>  drivers/net/ethernet/xilinx/xilinx_axienet_main.c |  9 +--------
>  3 files changed, 3 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/net/ethernet/cortina/gemini.c
> b/drivers/net/ethernet/cortina/gemini.c
> index e736ce2c58ca..f009415ee4d8 100644
> --- a/drivers/net/ethernet/cortina/gemini.c
> +++ b/drivers/net/ethernet/cortina/gemini.c
> @@ -2549,17 +2549,13 @@ static int gemini_ethernet_probe(struct
> platform_device *pdev)
>  	struct device *dev = &pdev->dev;
>  	struct gemini_ethernet *geth;
>  	unsigned int retry = 5;
> -	struct resource *res;
>  	u32 val;
> 
>  	/* Global registers */
>  	geth = devm_kzalloc(dev, sizeof(*geth), GFP_KERNEL);
>  	if (!geth)
>  		return -ENOMEM;
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res)
> -		return -ENODEV;
> -	geth->base = devm_ioremap_resource(dev, res);
> +	geth->base = devm_platform_ioremap_resource(pdev, 0);
>  	if (IS_ERR(geth->base))
>  		return PTR_ERR(geth->base);
>  	geth->dev = dev;
> diff --git a/drivers/net/ethernet/lantiq_xrx200.c
> b/drivers/net/ethernet/lantiq_xrx200.c
> index 900affbdcc0e..0a7ea45b9e59 100644
> --- a/drivers/net/ethernet/lantiq_xrx200.c
> +++ b/drivers/net/ethernet/lantiq_xrx200.c
> @@ -424,7 +424,6 @@ static int xrx200_probe(struct platform_device *pdev)
>  {
>  	struct device *dev = &pdev->dev;
>  	struct device_node *np = dev->of_node;
> -	struct resource *res;
>  	struct xrx200_priv *priv;
>  	struct net_device *net_dev;
>  	const u8 *mac;
> @@ -443,15 +442,7 @@ static int xrx200_probe(struct platform_device *pdev)
>  	SET_NETDEV_DEV(net_dev, dev);
>  	net_dev->min_mtu = ETH_ZLEN;
>  	net_dev->max_mtu = XRX200_DMA_DATA_LEN;
> -
> -	/* load the memory ranges */
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(dev, "failed to get resources\n");
> -		return -ENOENT;
> -	}
> -
> -	priv->pmac_reg = devm_ioremap_resource(dev, res);
> +	priv->pmac_reg = devm_platform_ioremap_resource(pdev, 0);
>  	if (IS_ERR(priv->pmac_reg)) {
>  		dev_err(dev, "failed to request and remap io ranges\n");
>  		return PTR_ERR(priv->pmac_reg);
> diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> index 4fc627fb4d11..92783aaaa0a2 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> @@ -1787,14 +1787,7 @@ static int axienet_probe(struct platform_device
> *pdev)
>  		of_node_put(np);
>  		lp->eth_irq = platform_get_irq(pdev, 0);
>  	} else {
> -		/* Check for these resources directly on the Ethernet node. */
> -		struct resource *res = platform_get_resource(pdev,
> -
> IORESOURCE_MEM, 1);
> -		if (!res) {
> -			dev_err(&pdev->dev, "unable to get DMA memory
> resource\n");
> -			goto free_netdev;
> -		}
> -		lp->dma_regs = devm_ioremap_resource(&pdev->dev, res);
> +		lp->dma_regs = devm_platform_ioremap_resource(pdev, 1);
>  		lp->rx_irq = platform_get_irq(pdev, 1);
>  		lp->tx_irq = platform_get_irq(pdev, 0);
>  		lp->eth_irq = platform_get_irq(pdev, 2);
> --
> 2.23.0





[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux