return err;
 }
 
-static int niu_of_remove(struct platform_device *op)
+static void niu_of_remove(struct platform_device *op)
 {
        struct net_device *dev = platform_get_drvdata(op);
 
 
                free_netdev(dev);
        }
-       return 0;
 }
 
 static const struct of_device_id niu_match[] = {
                .of_match_table = niu_match,
        },
        .probe          = niu_of_probe,
-       .remove         = niu_of_remove,
+       .remove_new     = niu_of_remove,
 };
 
 #endif /* CONFIG_SPARC64 */
 
        return bigmac_ether_init(op, qec_op);
 }
 
-static int bigmac_sbus_remove(struct platform_device *op)
+static void bigmac_sbus_remove(struct platform_device *op)
 {
        struct bigmac *bp = platform_get_drvdata(op);
        struct device *parent = op->dev.parent;
                          bp->bblock_dvma);
 
        free_netdev(net_dev);
-
-       return 0;
 }
 
 static const struct of_device_id bigmac_sbus_match[] = {
                .of_match_table = bigmac_sbus_match,
        },
        .probe          = bigmac_sbus_probe,
-       .remove         = bigmac_sbus_remove,
+       .remove_new     = bigmac_sbus_remove,
 };
 
 module_platform_driver(bigmac_sbus_driver);
 
        return qec_ether_init(op);
 }
 
-static int qec_sbus_remove(struct platform_device *op)
+static void qec_sbus_remove(struct platform_device *op)
 {
        struct sunqe *qp = platform_get_drvdata(op);
        struct net_device *net_dev = qp->dev;
                          qp->buffers, qp->buffers_dvma);
 
        free_netdev(net_dev);
-
-       return 0;
 }
 
 static const struct of_device_id qec_sbus_match[] = {
                .of_match_table = qec_sbus_match,
        },
        .probe          = qec_sbus_probe,
-       .remove         = qec_sbus_remove,
+       .remove_new     = qec_sbus_remove,
 };
 
 static int __init qec_init(void)