net: ethernet: ti: ale: use devm_kzalloc in cpsw_ale_create()
authorGrygorii Strashko <grygorii.strashko@ti.com>
Fri, 1 Dec 2017 00:21:19 +0000 (18:21 -0600)
committerDavid S. Miller <davem@davemloft.net>
Fri, 1 Dec 2017 21:36:32 +0000 (16:36 -0500)
Use cpsw_ale_create in cpsw_ale_create(). This also makes
cpsw_ale_destroy() function nop, so remove it.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/cpsw.c
drivers/net/ethernet/ti/cpsw_ale.c
drivers/net/ethernet/ti/cpsw_ale.h
drivers/net/ethernet/ti/netcp_ethss.c

index 64bdd92b2bbf8a435bc6c6ae5acaaaf22ebf0164..a60a378b8b298e8a3d3031ed9916187fe80c2663 100644 (file)
@@ -3087,14 +3087,14 @@ static int cpsw_probe(struct platform_device *pdev)
        cpsw->cpts = cpts_create(cpsw->dev, cpts_regs, cpsw->dev->of_node);
        if (IS_ERR(cpsw->cpts)) {
                ret = PTR_ERR(cpsw->cpts);
-               goto clean_ale_ret;
+               goto clean_dma_ret;
        }
 
        ndev->irq = platform_get_irq(pdev, 1);
        if (ndev->irq < 0) {
                dev_err(priv->dev, "error getting irq resource\n");
                ret = ndev->irq;
-               goto clean_ale_ret;
+               goto clean_dma_ret;
        }
 
        of_id = of_match_device(cpsw_of_mtable, &pdev->dev);
@@ -3118,7 +3118,7 @@ static int cpsw_probe(struct platform_device *pdev)
        if (ret) {
                dev_err(priv->dev, "error registering net device\n");
                ret = -ENODEV;
-               goto clean_ale_ret;
+               goto clean_dma_ret;
        }
 
        if (cpsw->data.dual_emac) {
@@ -3141,7 +3141,7 @@ static int cpsw_probe(struct platform_device *pdev)
        irq = platform_get_irq(pdev, 1);
        if (irq < 0) {
                ret = irq;
-               goto clean_ale_ret;
+               goto clean_dma_ret;
        }
 
        cpsw->irqs_table[0] = irq;
@@ -3149,14 +3149,14 @@ static int cpsw_probe(struct platform_device *pdev)
                               0, dev_name(&pdev->dev), cpsw);
        if (ret < 0) {
                dev_err(priv->dev, "error attaching irq (%d)\n", ret);
-               goto clean_ale_ret;
+               goto clean_dma_ret;
        }
 
        /* TX IRQ */
        irq = platform_get_irq(pdev, 2);
        if (irq < 0) {
                ret = irq;
-               goto clean_ale_ret;
+               goto clean_dma_ret;
        }
 
        cpsw->irqs_table[1] = irq;
@@ -3164,7 +3164,7 @@ static int cpsw_probe(struct platform_device *pdev)
                               0, dev_name(&pdev->dev), cpsw);
        if (ret < 0) {
                dev_err(priv->dev, "error attaching irq (%d)\n", ret);
-               goto clean_ale_ret;
+               goto clean_dma_ret;
        }
 
        cpsw_notice(priv, probe,
@@ -3177,8 +3177,6 @@ static int cpsw_probe(struct platform_device *pdev)
 
 clean_unregister_netdev_ret:
        unregister_netdev(ndev);
-clean_ale_ret:
-       cpsw_ale_destroy(cpsw->ale);
 clean_dma_ret:
        cpdma_ctlr_destroy(cpsw->dma);
 clean_dt_ret:
@@ -3208,7 +3206,6 @@ static int cpsw_remove(struct platform_device *pdev)
        unregister_netdev(ndev);
 
        cpts_release(cpsw->cpts);
-       cpsw_ale_destroy(cpsw->ale);
        cpdma_ctlr_destroy(cpsw->dma);
        cpsw_remove_dt(pdev);
        pm_runtime_put_sync(&pdev->dev);
index 53aa721c928d57b0eae41c6c15cfd4c56ada396a..e5132482527a2d6f94a685c3ff9b8b5bab816e8b 100644 (file)
@@ -802,7 +802,7 @@ struct cpsw_ale *cpsw_ale_create(struct cpsw_ale_params *params)
        struct cpsw_ale *ale;
        u32 rev, ale_entries;
 
-       ale = kzalloc(sizeof(*ale), GFP_KERNEL);
+       ale = devm_kzalloc(params->dev, sizeof(*ale), GFP_KERNEL);
        if (!ale)
                return NULL;
 
@@ -881,15 +881,6 @@ struct cpsw_ale *cpsw_ale_create(struct cpsw_ale_params *params)
 }
 EXPORT_SYMBOL_GPL(cpsw_ale_create);
 
-int cpsw_ale_destroy(struct cpsw_ale *ale)
-{
-       if (!ale)
-               return -EINVAL;
-       kfree(ale);
-       return 0;
-}
-EXPORT_SYMBOL_GPL(cpsw_ale_destroy);
-
 void cpsw_ale_dump(struct cpsw_ale *ale, u32 *data)
 {
        int i;
index 25d24e8d0904b5135e303aa09c72a65cf81b19de..d4fe9016429b37cc7d7fab78d894892982cee9bb 100644 (file)
@@ -100,7 +100,6 @@ enum cpsw_ale_port_state {
 #define ALE_ENTRY_WORDS        DIV_ROUND_UP(ALE_ENTRY_BITS, 32)
 
 struct cpsw_ale *cpsw_ale_create(struct cpsw_ale_params *params);
-int cpsw_ale_destroy(struct cpsw_ale *ale);
 
 void cpsw_ale_start(struct cpsw_ale *ale);
 void cpsw_ale_stop(struct cpsw_ale *ale);
index 12765e4f0ec3c486a625e8c2d26c1f868e6b8d66..56dbc0b9fedcaf0fd113c71a29f7d9e1b792e3fd 100644 (file)
@@ -3689,7 +3689,6 @@ static int gbe_remove(struct netcp_device *netcp_device, void *inst_priv)
        del_timer_sync(&gbe_dev->timer);
        cpts_release(gbe_dev->cpts);
        cpsw_ale_stop(gbe_dev->ale);
-       cpsw_ale_destroy(gbe_dev->ale);
        netcp_txpipe_close(&gbe_dev->tx_pipe);
        free_secondary_ports(gbe_dev);