return ret;
 }
 
-static int bcmasp_remove(struct platform_device *pdev)
+static void bcmasp_remove(struct platform_device *pdev)
 {
        struct bcmasp_priv *priv = dev_get_drvdata(&pdev->dev);
 
        if (!priv)
-               return 0;
+               return;
 
        priv->destroy_wol(priv);
        bcmasp_remove_intfs(priv);
-
-       return 0;
 }
 
 static void bcmasp_shutdown(struct platform_device *pdev)
 
 static struct platform_driver bcmasp_driver = {
        .probe = bcmasp_probe,
-       .remove = bcmasp_remove,
+       .remove_new = bcmasp_remove,
        .shutdown = bcmasp_shutdown,
        .driver = {
                .name = "brcm,asp-v2",
 
        return err;
 }
 
-static int bcm4908_enet_remove(struct platform_device *pdev)
+static void bcm4908_enet_remove(struct platform_device *pdev)
 {
        struct bcm4908_enet *enet = platform_get_drvdata(pdev);
 
        netif_napi_del(&enet->rx_ring.napi);
        netif_napi_del(&enet->tx_ring.napi);
        bcm4908_enet_dma_free(enet);
-
-       return 0;
 }
 
 static const struct of_device_id bcm4908_enet_of_match[] = {
                .of_match_table = bcm4908_enet_of_match,
        },
        .probe  = bcm4908_enet_probe,
-       .remove = bcm4908_enet_remove,
+       .remove_new = bcm4908_enet_remove,
 };
 module_platform_driver(bcm4908_enet_driver);
 
 
 /*
  * exit func, stops hardware and unregisters netdevice
  */
-static int bcm_enet_remove(struct platform_device *pdev)
+static void bcm_enet_remove(struct platform_device *pdev)
 {
        struct bcm_enet_priv *priv;
        struct net_device *dev;
        clk_disable_unprepare(priv->mac_clk);
 
        free_netdev(dev);
-       return 0;
 }
 
 static struct platform_driver bcm63xx_enet_driver = {
        .probe  = bcm_enet_probe,
-       .remove = bcm_enet_remove,
+       .remove_new = bcm_enet_remove,
        .driver = {
                .name   = "bcm63xx_enet",
        },
 
 
 /* exit func, stops hardware and unregisters netdevice */
-static int bcm_enetsw_remove(struct platform_device *pdev)
+static void bcm_enetsw_remove(struct platform_device *pdev)
 {
        struct bcm_enet_priv *priv;
        struct net_device *dev;
        clk_disable_unprepare(priv->mac_clk);
 
        free_netdev(dev);
-       return 0;
 }
 
 static struct platform_driver bcm63xx_enetsw_driver = {
        .probe  = bcm_enetsw_probe,
-       .remove = bcm_enetsw_remove,
+       .remove_new = bcm_enetsw_remove,
        .driver = {
                .name   = "bcm63xx_enetsw",
        },
 
        return ret;
 }
 
-static int bcm_sysport_remove(struct platform_device *pdev)
+static void bcm_sysport_remove(struct platform_device *pdev)
 {
        struct net_device *dev = dev_get_drvdata(&pdev->dev);
        struct bcm_sysport_priv *priv = netdev_priv(dev);
                of_phy_deregister_fixed_link(dn);
        free_netdev(dev);
        dev_set_drvdata(&pdev->dev, NULL);
-
-       return 0;
 }
 
 static int bcm_sysport_suspend_to_wol(struct bcm_sysport_priv *priv)
 
 static struct platform_driver bcm_sysport_driver = {
        .probe  = bcm_sysport_probe,
-       .remove = bcm_sysport_remove,
+       .remove_new = bcm_sysport_remove,
        .driver =  {
                .name = "brcm-systemport",
                .of_match_table = bcm_sysport_of_match,
 
        return bgmac_enet_probe(bgmac);
 }
 
-static int bgmac_remove(struct platform_device *pdev)
+static void bgmac_remove(struct platform_device *pdev)
 {
        struct bgmac *bgmac = platform_get_drvdata(pdev);
 
        bgmac_enet_remove(bgmac);
-
-       return 0;
 }
 
 #ifdef CONFIG_PM
                .pm = BGMAC_PM_OPS
        },
        .probe = bgmac_probe,
-       .remove = bgmac_remove,
+       .remove_new = bgmac_remove,
 };
 
 module_platform_driver(bgmac_enet_driver);
 
        return err;
 }
 
-static int bcmgenet_remove(struct platform_device *pdev)
+static void bcmgenet_remove(struct platform_device *pdev)
 {
        struct bcmgenet_priv *priv = dev_to_priv(&pdev->dev);
 
        unregister_netdev(priv->dev);
        bcmgenet_mii_exit(priv->dev);
        free_netdev(priv->dev);
-
-       return 0;
 }
 
 static void bcmgenet_shutdown(struct platform_device *pdev)
 
 static struct platform_driver bcmgenet_driver = {
        .probe  = bcmgenet_probe,
-       .remove = bcmgenet_remove,
+       .remove_new = bcmgenet_remove,
        .shutdown = bcmgenet_shutdown,
        .driver = {
                .name   = "bcmgenet",
 
        return err;
 }
 
-static int sbmac_remove(struct platform_device *pldev)
+static void sbmac_remove(struct platform_device *pldev)
 {
        struct net_device *dev = platform_get_drvdata(pldev);
        struct sbmac_softc *sc = netdev_priv(dev);
        mdiobus_free(sc->mii_bus);
        iounmap(sc->sbm_base);
        free_netdev(dev);
-
-       return 0;
 }
 
 static struct platform_driver sbmac_driver = {
        .probe = sbmac_probe,
-       .remove = sbmac_remove,
+       .remove_new = sbmac_remove,
        .driver = {
                .name = sbmac_string,
        },