return rc;
 }
 
-static int cpmac_remove(struct platform_device *pdev)
+static void cpmac_remove(struct platform_device *pdev)
 {
        struct net_device *dev = platform_get_drvdata(pdev);
 
        unregister_netdev(dev);
        free_netdev(dev);
-
-       return 0;
 }
 
 static struct platform_driver cpmac_driver = {
                .name   = "cpmac",
        },
        .probe  = cpmac_probe,
-       .remove = cpmac_remove,
+       .remove_new = cpmac_remove,
 };
 
 int __init cpmac_init(void)
 
  * Called when removing the device driver. We disable clock usage and release
  * the resources taken up by the driver and unregister network device
  */
-static int davinci_emac_remove(struct platform_device *pdev)
+static void davinci_emac_remove(struct platform_device *pdev)
 {
        struct net_device *ndev = platform_get_drvdata(pdev);
        struct emac_priv *priv = netdev_priv(ndev);
        if (of_phy_is_fixed_link(np))
                of_phy_deregister_fixed_link(np);
        free_netdev(ndev);
-
-       return 0;
 }
 
 static int davinci_emac_suspend(struct device *dev)
                .of_match_table = davinci_emac_of_match,
        },
        .probe = davinci_emac_probe,
-       .remove = davinci_emac_remove,
+       .remove_new = davinci_emac_remove,
 };
 
 /**
 
        return ret;
 }
 
-static int davinci_mdio_remove(struct platform_device *pdev)
+static void davinci_mdio_remove(struct platform_device *pdev)
 {
        struct davinci_mdio_data *data = platform_get_drvdata(pdev);
 
 
        pm_runtime_dont_use_autosuspend(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
                .of_match_table = of_match_ptr(davinci_mdio_of_mtable),
        },
        .probe = davinci_mdio_probe,
-       .remove = davinci_mdio_remove,
+       .remove_new = davinci_mdio_remove,
 };
 
 static int __init davinci_mdio_init(void)
 
        return ret;
 }
 
-static int netcp_remove(struct platform_device *pdev)
+static void netcp_remove(struct platform_device *pdev)
 {
        struct netcp_device *netcp_device = platform_get_drvdata(pdev);
        struct netcp_intf *netcp_intf, *netcp_tmp;
        pm_runtime_put_sync(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
        platform_set_drvdata(pdev, NULL);
-       return 0;
 }
 
 static const struct of_device_id of_match[] = {
                .of_match_table = of_match,
        },
        .probe = netcp_probe,
-       .remove = netcp_remove,
+       .remove_new = netcp_remove,
 };
 module_platform_driver(netcp_driver);