return ret;
 }
 
-static int bcm_sf2_sw_remove(struct platform_device *pdev)
+static void bcm_sf2_sw_remove(struct platform_device *pdev)
 {
        struct bcm_sf2_priv *priv = platform_get_drvdata(pdev);
 
        if (!priv)
-               return 0;
+               return;
 
        priv->wol_ports_mask = 0;
        /* Disable interrupts */
        clk_disable_unprepare(priv->clk);
        if (priv->type == BCM7278_DEVICE_ID)
                reset_control_assert(priv->rcdev);
-
-       return 0;
 }
 
 static void bcm_sf2_sw_shutdown(struct platform_device *pdev)
 
 static struct platform_driver bcm_sf2_driver = {
        .probe  = bcm_sf2_sw_probe,
-       .remove = bcm_sf2_sw_remove,
+       .remove_new = bcm_sf2_sw_remove,
        .shutdown = bcm_sf2_sw_shutdown,
        .driver = {
                .name = "brcm-sf2",