return rc;
 }
 
-static int temac_remove(struct platform_device *pdev)
+static void temac_remove(struct platform_device *pdev)
 {
        struct net_device *ndev = platform_get_drvdata(pdev);
        struct temac_local *lp = netdev_priv(ndev);
        if (lp->phy_node)
                of_node_put(lp->phy_node);
        temac_mdio_teardown(lp);
-       return 0;
 }
 
 static const struct of_device_id temac_of_match[] = {
 
 static struct platform_driver temac_driver = {
        .probe = temac_probe,
-       .remove = temac_remove,
+       .remove_new = temac_remove,
        .driver = {
                .name = "xilinx_temac",
                .of_match_table = temac_of_match,
 
        return ret;
 }
 
-static int axienet_remove(struct platform_device *pdev)
+static void axienet_remove(struct platform_device *pdev)
 {
        struct net_device *ndev = platform_get_drvdata(pdev);
        struct axienet_local *lp = netdev_priv(ndev);
        clk_disable_unprepare(lp->axi_clk);
 
        free_netdev(ndev);
-
-       return 0;
 }
 
 static void axienet_shutdown(struct platform_device *pdev)
 
 static struct platform_driver axienet_driver = {
        .probe = axienet_probe,
-       .remove = axienet_remove,
+       .remove_new = axienet_remove,
        .shutdown = axienet_shutdown,
        .driver = {
                 .name = "xilinx_axienet",
 
  *
  * Return:     0, always.
  */
-static int xemaclite_of_remove(struct platform_device *of_dev)
+static void xemaclite_of_remove(struct platform_device *of_dev)
 {
        struct net_device *ndev = platform_get_drvdata(of_dev);
 
        lp->phy_node = NULL;
 
        free_netdev(ndev);
-
-       return 0;
 }
 
 #ifdef CONFIG_NET_POLL_CONTROLLER
                .of_match_table = xemaclite_of_match,
        },
        .probe          = xemaclite_of_probe,
-       .remove         = xemaclite_of_remove,
+       .remove_new     = xemaclite_of_remove,
 };
 
 module_platform_driver(xemaclite_of_driver);