MIPS: Make init_vdso a subsys_initcall.
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / net / sunrpc / sunrpc_syms.c
blobf438347d817b2bb5889ea6d364db5abeceb819e9
1 /*
2 * linux/net/sunrpc/sunrpc_syms.c
4 * Symbols exported by the sunrpc module.
6 * Copyright (C) 1997 Olaf Kirch <okir@monad.swb.de>
7 */
9 #include <linux/module.h>
11 #include <linux/types.h>
12 #include <linux/uio.h>
13 #include <linux/unistd.h>
14 #include <linux/init.h>
16 #include <linux/sunrpc/sched.h>
17 #include <linux/sunrpc/clnt.h>
18 #include <linux/sunrpc/svc.h>
19 #include <linux/sunrpc/svcsock.h>
20 #include <linux/sunrpc/auth.h>
21 #include <linux/workqueue.h>
22 #include <linux/sunrpc/rpc_pipe_fs.h>
23 #include <linux/sunrpc/xprtsock.h>
25 extern struct cache_detail ip_map_cache, unix_gid_cache;
27 extern void cleanup_rpcb_clnt(void);
29 static int __init
30 init_sunrpc(void)
32 int err = register_rpc_pipefs();
33 if (err)
34 goto out;
35 err = rpc_init_mempool();
36 if (err) {
37 unregister_rpc_pipefs();
38 goto out;
40 #ifdef RPC_DEBUG
41 rpc_register_sysctl();
42 #endif
43 #ifdef CONFIG_PROC_FS
44 rpc_proc_init();
45 #endif
46 cache_register(&ip_map_cache);
47 cache_register(&unix_gid_cache);
48 svc_init_xprt_sock(); /* svc sock transport */
49 init_socket_xprt(); /* clnt sock transport */
50 rpcauth_init_module();
51 out:
52 return err;
55 static void __exit
56 cleanup_sunrpc(void)
58 cleanup_rpcb_clnt();
59 rpcauth_remove_module();
60 cleanup_socket_xprt();
61 svc_cleanup_xprt_sock();
62 unregister_rpc_pipefs();
63 rpc_destroy_mempool();
64 cache_unregister(&ip_map_cache);
65 cache_unregister(&unix_gid_cache);
66 #ifdef RPC_DEBUG
67 rpc_unregister_sysctl();
68 #endif
69 #ifdef CONFIG_PROC_FS
70 rpc_proc_exit();
71 #endif
72 rcu_barrier(); /* Wait for completion of call_rcu()'s */
74 MODULE_LICENSE("GPL");
75 fs_initcall(init_sunrpc); /* Ensure we're initialised before nfs */
76 module_exit(cleanup_sunrpc);