diff options
Diffstat (limited to 'target/linux/bcm63xx/patches-4.14/001-4.15-11-bcm63xx_enet-use-managed-functions-for-clock-ioremap.patch')
-rw-r--r-- | target/linux/bcm63xx/patches-4.14/001-4.15-11-bcm63xx_enet-use-managed-functions-for-clock-ioremap.patch | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/target/linux/bcm63xx/patches-4.14/001-4.15-11-bcm63xx_enet-use-managed-functions-for-clock-ioremap.patch b/target/linux/bcm63xx/patches-4.14/001-4.15-11-bcm63xx_enet-use-managed-functions-for-clock-ioremap.patch deleted file mode 100644 index cf0971c911..0000000000 --- a/target/linux/bcm63xx/patches-4.14/001-4.15-11-bcm63xx_enet-use-managed-functions-for-clock-ioremap.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 179a445ae4ef36ec44f4aea18e5f42d21334d186 Mon Sep 17 00:00:00 2001 -From: Jonas Gorski <jonas.gorski@gmail.com> -Date: Sat, 25 Feb 2017 12:39:25 +0100 -Subject: [PATCH 4/6] bcm63xx_enet: use managed functions for clock/ioremap - -Use managed functions where possible to reduce the amount of resource -handling on error and remove paths. - -Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> ---- - drivers/net/ethernet/broadcom/bcm63xx_enet.c | 54 +++++++--------------------- - 1 file changed, 12 insertions(+), 42 deletions(-) - ---- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c -+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c -@@ -1768,14 +1768,14 @@ static int bcm_enet_probe(struct platfor - clk_name = "enet1"; - } - -- priv->mac_clk = clk_get(&pdev->dev, clk_name); -+ priv->mac_clk = devm_clk_get(&pdev->dev, clk_name); - if (IS_ERR(priv->mac_clk)) { - ret = PTR_ERR(priv->mac_clk); - goto out; - } - ret = clk_prepare_enable(priv->mac_clk); - if (ret) -- goto out_put_clk_mac; -+ goto out; - - /* initialize default and fetch platform data */ - priv->rx_ring_size = BCMENET_DEF_RX_DESC; -@@ -1803,7 +1803,7 @@ static int bcm_enet_probe(struct platfor - - if (priv->mac_id == 0 && priv->has_phy && !priv->use_external_mii) { - /* using internal PHY, enable clock */ -- priv->phy_clk = clk_get(&pdev->dev, "ephy"); -+ priv->phy_clk = devm_clk_get(&pdev->dev, "ephy"); - if (IS_ERR(priv->phy_clk)) { - ret = PTR_ERR(priv->phy_clk); - priv->phy_clk = NULL; -@@ -1811,7 +1811,7 @@ static int bcm_enet_probe(struct platfor - } - ret = clk_prepare_enable(priv->phy_clk); - if (ret) -- goto out_put_clk_phy; -+ goto out_disable_clk_mac; - } - - /* do minimal hardware init to be able to probe mii bus */ -@@ -1908,14 +1908,8 @@ out_uninit_hw: - if (priv->phy_clk) - clk_disable_unprepare(priv->phy_clk); - --out_put_clk_phy: -- if (priv->phy_clk) -- clk_put(priv->phy_clk); -- - out_disable_clk_mac: - clk_disable_unprepare(priv->mac_clk); --out_put_clk_mac: -- clk_put(priv->mac_clk); - out: - free_netdev(dev); - return ret; -@@ -1951,12 +1945,10 @@ static int bcm_enet_remove(struct platfo - } - - /* disable hw block clocks */ -- if (priv->phy_clk) { -+ if (priv->phy_clk) - clk_disable_unprepare(priv->phy_clk); -- clk_put(priv->phy_clk); -- } -+ - clk_disable_unprepare(priv->mac_clk); -- clk_put(priv->mac_clk); - - free_netdev(dev); - return 0; -@@ -2739,26 +2731,20 @@ static int bcm_enetsw_probe(struct platf - if (ret) - goto out; - -- if (!request_mem_region(res_mem->start, resource_size(res_mem), -- "bcm63xx_enetsw")) { -- ret = -EBUSY; -+ priv->base = devm_ioremap_resource(&pdev->dev, res_mem); -+ if (IS_ERR(priv->base)) { -+ ret = PTR_ERR(priv->base); - goto out; - } - -- priv->base = ioremap(res_mem->start, resource_size(res_mem)); -- if (priv->base == NULL) { -- ret = -ENOMEM; -- goto out_release_mem; -- } -- -- priv->mac_clk = clk_get(&pdev->dev, "enetsw"); -+ priv->mac_clk = devm_clk_get(&pdev->dev, "enetsw"); - if (IS_ERR(priv->mac_clk)) { - ret = PTR_ERR(priv->mac_clk); -- goto out_unmap; -+ goto out; - } - ret = clk_prepare_enable(priv->mac_clk); - if (ret) -- goto out_put_clk; -+ goto out; - - priv->rx_chan = 0; - priv->tx_chan = 1; -@@ -2790,15 +2776,6 @@ static int bcm_enetsw_probe(struct platf - - out_disable_clk: - clk_disable_unprepare(priv->mac_clk); -- --out_put_clk: -- clk_put(priv->mac_clk); -- --out_unmap: -- iounmap(priv->base); -- --out_release_mem: -- release_mem_region(res_mem->start, resource_size(res_mem)); - out: - free_netdev(dev); - return ret; -@@ -2810,20 +2787,13 @@ static int bcm_enetsw_remove(struct plat - { - struct bcm_enet_priv *priv; - struct net_device *dev; -- struct resource *res; - - /* stop netdevice */ - dev = platform_get_drvdata(pdev); - priv = netdev_priv(dev); - unregister_netdev(dev); - -- /* release device resources */ -- iounmap(priv->base); -- res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -- release_mem_region(res->start, resource_size(res)); -- - clk_disable_unprepare(priv->mac_clk); -- clk_put(priv->mac_clk); - - free_netdev(dev); - return 0; |