extern int ip_vs_app_pkt_out(struct ip_vs_conn *, struct sk_buff *skb);
 extern int ip_vs_app_pkt_in(struct ip_vs_conn *, struct sk_buff *skb);
-extern int ip_vs_app_init(void);
-extern void ip_vs_app_cleanup(void);
 
 void ip_vs_bind_pe(struct ip_vs_service *svc, struct ip_vs_pe *pe);
 void ip_vs_unbind_pe(struct ip_vs_service *svc);
                             __u8 syncid);
 extern int stop_sync_thread(struct net *net, int state);
 extern void ip_vs_sync_conn(struct net *net, struct ip_vs_conn *cp);
-extern int ip_vs_sync_init(void);
-extern void ip_vs_sync_cleanup(void);
 
 
 /*
  *      IPVS rate estimator prototypes (from ip_vs_est.c)
  */
-extern int ip_vs_estimator_init(void);
-extern void ip_vs_estimator_cleanup(void);
 extern void ip_vs_start_estimator(struct net *net, struct ip_vs_stats *stats);
 extern void ip_vs_stop_estimator(struct net *net, struct ip_vs_stats *stats);
 extern void ip_vs_zero_estimator(struct ip_vs_stats *stats);
 
 {
        proc_net_remove(net, "ip_vs_app");
 }
-
-int __init ip_vs_app_init(void)
-{
-       return 0;
-}
-
-
-void ip_vs_app_cleanup(void)
-{
-}
 
 {
        int ret;
 
-       ip_vs_estimator_init();
        ret = ip_vs_control_init();
        if (ret < 0) {
                pr_err("can't setup control.\n");
-               goto cleanup_estimator;
+               goto exit;
        }
 
        ip_vs_protocol_init();
 
-       ret = ip_vs_app_init();
-       if (ret < 0) {
-               pr_err("can't setup application helper.\n");
-               goto cleanup_protocol;
-       }
-
        ret = ip_vs_conn_init();
        if (ret < 0) {
                pr_err("can't setup connection table.\n");
-               goto cleanup_app;
-       }
-
-       ret = ip_vs_sync_init();
-       if (ret < 0) {
-               pr_err("can't setup sync data.\n");
-               goto cleanup_conn;
+               goto cleanup_protocol;
        }
 
        ret = register_pernet_subsys(&ipvs_core_ops);   /* Alloc ip_vs struct */
        if (ret < 0)
-               goto cleanup_sync;
+               goto cleanup_conn;
 
        ret = register_pernet_device(&ipvs_core_dev_ops);
        if (ret < 0)
        unregister_pernet_device(&ipvs_core_dev_ops);
 cleanup_sub:
        unregister_pernet_subsys(&ipvs_core_ops);
-cleanup_sync:
-       ip_vs_sync_cleanup();
 cleanup_conn:
        ip_vs_conn_cleanup();
-cleanup_app:
-       ip_vs_app_cleanup();
 cleanup_protocol:
        ip_vs_protocol_cleanup();
        ip_vs_control_cleanup();
-cleanup_estimator:
-       ip_vs_estimator_cleanup();
+exit:
        return ret;
 }
 
        nf_unregister_hooks(ip_vs_ops, ARRAY_SIZE(ip_vs_ops));
        unregister_pernet_device(&ipvs_core_dev_ops);
        unregister_pernet_subsys(&ipvs_core_ops);       /* free ip_vs struct */
-       ip_vs_sync_cleanup();
        ip_vs_conn_cleanup();
-       ip_vs_app_cleanup();
        ip_vs_protocol_cleanup();
        ip_vs_control_cleanup();
-       ip_vs_estimator_cleanup();
        pr_info("ipvs unloaded.\n");
 }
 
 
 {
        del_timer_sync(&net_ipvs(net)->est_timer);
 }
-
-int __init ip_vs_estimator_init(void)
-{
-       return 0;
-}
-
-void ip_vs_estimator_cleanup(void)
-{
-}
 
        if (retc && retc != -ESRCH)
                pr_err("Failed to stop Backup Daemon\n");
 }
-
-int __init ip_vs_sync_init(void)
-{
-       return 0;
-}
-
-void ip_vs_sync_cleanup(void)
-{
-}