diff options
author | Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> | 2014-03-20 10:00:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-20 17:22:10 -0400 |
commit | f738a13d8365b0f824f3f20450b413f55374f175 (patch) | |
tree | 788926a610e69f46818ec6e831948f99d9675c9a | |
parent | daacf03f0bbfefee3df107c3f7659d22e22538a7 (diff) |
sh_eth: Remove goto statements that jump straight to a return
"goto" is well accepted for error paths in the kernel but should not be
used unnecessarily. Return the correct value directly instead of using a
goto when possible.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/renesas/sh_eth.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c index ace6da257440..e4bff181c910 100644 --- a/drivers/net/ethernet/renesas/sh_eth.c +++ b/drivers/net/ethernet/renesas/sh_eth.c | |||
@@ -873,7 +873,7 @@ static int sh_eth_reset(struct net_device *ndev) | |||
873 | 873 | ||
874 | ret = sh_eth_check_reset(ndev); | 874 | ret = sh_eth_check_reset(ndev); |
875 | if (ret) | 875 | if (ret) |
876 | goto out; | 876 | return ret; |
877 | 877 | ||
878 | /* Table Init */ | 878 | /* Table Init */ |
879 | sh_eth_write(ndev, 0x0, TDLAR); | 879 | sh_eth_write(ndev, 0x0, TDLAR); |
@@ -900,7 +900,6 @@ static int sh_eth_reset(struct net_device *ndev) | |||
900 | EDMR); | 900 | EDMR); |
901 | } | 901 | } |
902 | 902 | ||
903 | out: | ||
904 | return ret; | 903 | return ret; |
905 | } | 904 | } |
906 | 905 | ||
@@ -1264,7 +1263,7 @@ static int sh_eth_dev_init(struct net_device *ndev, bool start) | |||
1264 | /* Soft Reset */ | 1263 | /* Soft Reset */ |
1265 | ret = sh_eth_reset(ndev); | 1264 | ret = sh_eth_reset(ndev); |
1266 | if (ret) | 1265 | if (ret) |
1267 | goto out; | 1266 | return ret; |
1268 | 1267 | ||
1269 | if (mdp->cd->rmiimode) | 1268 | if (mdp->cd->rmiimode) |
1270 | sh_eth_write(ndev, 0x1, RMIIMODE); | 1269 | sh_eth_write(ndev, 0x1, RMIIMODE); |
@@ -1343,7 +1342,6 @@ static int sh_eth_dev_init(struct net_device *ndev, bool start) | |||
1343 | netif_start_queue(ndev); | 1342 | netif_start_queue(ndev); |
1344 | } | 1343 | } |
1345 | 1344 | ||
1346 | out: | ||
1347 | return ret; | 1345 | return ret; |
1348 | } | 1346 | } |
1349 | 1347 | ||
@@ -2605,10 +2603,8 @@ static int sh_mdio_init(struct sh_eth_private *mdp, | |||
2605 | 2603 | ||
2606 | /* create bit control struct for PHY */ | 2604 | /* create bit control struct for PHY */ |
2607 | bitbang = devm_kzalloc(dev, sizeof(struct bb_info), GFP_KERNEL); | 2605 | bitbang = devm_kzalloc(dev, sizeof(struct bb_info), GFP_KERNEL); |
2608 | if (!bitbang) { | 2606 | if (!bitbang) |
2609 | ret = -ENOMEM; | 2607 | return -ENOMEM; |
2610 | goto out; | ||
2611 | } | ||
2612 | 2608 | ||
2613 | /* bitbang init */ | 2609 | /* bitbang init */ |
2614 | bitbang->addr = mdp->addr + mdp->reg_offset[PIR]; | 2610 | bitbang->addr = mdp->addr + mdp->reg_offset[PIR]; |
@@ -2621,10 +2617,8 @@ static int sh_mdio_init(struct sh_eth_private *mdp, | |||
2621 | 2617 | ||
2622 | /* MII controller setting */ | 2618 | /* MII controller setting */ |
2623 | mdp->mii_bus = alloc_mdio_bitbang(&bitbang->ctrl); | 2619 | mdp->mii_bus = alloc_mdio_bitbang(&bitbang->ctrl); |
2624 | if (!mdp->mii_bus) { | 2620 | if (!mdp->mii_bus) |
2625 | ret = -ENOMEM; | 2621 | return -ENOMEM; |
2626 | goto out; | ||
2627 | } | ||
2628 | 2622 | ||
2629 | /* Hook up MII support for ethtool */ | 2623 | /* Hook up MII support for ethtool */ |
2630 | mdp->mii_bus->name = "sh_mii"; | 2624 | mdp->mii_bus->name = "sh_mii"; |
@@ -2659,8 +2653,6 @@ static int sh_mdio_init(struct sh_eth_private *mdp, | |||
2659 | 2653 | ||
2660 | out_free_bus: | 2654 | out_free_bus: |
2661 | free_mdio_bitbang(mdp->mii_bus); | 2655 | free_mdio_bitbang(mdp->mii_bus); |
2662 | |||
2663 | out: | ||
2664 | return ret; | 2656 | return ret; |
2665 | } | 2657 | } |
2666 | 2658 | ||
@@ -2773,15 +2765,12 @@ static int sh_eth_drv_probe(struct platform_device *pdev) | |||
2773 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 2765 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
2774 | if (unlikely(res == NULL)) { | 2766 | if (unlikely(res == NULL)) { |
2775 | dev_err(&pdev->dev, "invalid resource\n"); | 2767 | dev_err(&pdev->dev, "invalid resource\n"); |
2776 | ret = -EINVAL; | 2768 | return -EINVAL; |
2777 | goto out; | ||
2778 | } | 2769 | } |
2779 | 2770 | ||
2780 | ndev = alloc_etherdev(sizeof(struct sh_eth_private)); | 2771 | ndev = alloc_etherdev(sizeof(struct sh_eth_private)); |
2781 | if (!ndev) { | 2772 | if (!ndev) |
2782 | ret = -ENOMEM; | 2773 | return -ENOMEM; |
2783 | goto out; | ||
2784 | } | ||
2785 | 2774 | ||
2786 | /* The sh Ether-specific entries in the device structure. */ | 2775 | /* The sh Ether-specific entries in the device structure. */ |
2787 | ndev->base_addr = res->start; | 2776 | ndev->base_addr = res->start; |
@@ -2922,7 +2911,6 @@ out_release: | |||
2922 | if (ndev) | 2911 | if (ndev) |
2923 | free_netdev(ndev); | 2912 | free_netdev(ndev); |
2924 | 2913 | ||
2925 | out: | ||
2926 | return ret; | 2914 | return ret; |
2927 | } | 2915 | } |
2928 | 2916 | ||