xref: /openbmc/linux/net/sunrpc/sunrpc_syms.c (revision 405d8f8b)
11da177e4SLinus Torvalds /*
21da177e4SLinus Torvalds  * linux/net/sunrpc/sunrpc_syms.c
31da177e4SLinus Torvalds  *
41da177e4SLinus Torvalds  * Symbols exported by the sunrpc module.
51da177e4SLinus Torvalds  *
61da177e4SLinus Torvalds  * Copyright (C) 1997 Olaf Kirch <okir@monad.swb.de>
71da177e4SLinus Torvalds  */
81da177e4SLinus Torvalds 
91da177e4SLinus Torvalds #include <linux/module.h>
101da177e4SLinus Torvalds 
111da177e4SLinus Torvalds #include <linux/types.h>
121da177e4SLinus Torvalds #include <linux/uio.h>
131da177e4SLinus Torvalds #include <linux/unistd.h>
141da177e4SLinus Torvalds #include <linux/init.h>
151da177e4SLinus Torvalds 
161da177e4SLinus Torvalds #include <linux/sunrpc/sched.h>
171da177e4SLinus Torvalds #include <linux/sunrpc/clnt.h>
181da177e4SLinus Torvalds #include <linux/sunrpc/svc.h>
191da177e4SLinus Torvalds #include <linux/sunrpc/svcsock.h>
201da177e4SLinus Torvalds #include <linux/sunrpc/auth.h>
211da177e4SLinus Torvalds #include <linux/workqueue.h>
221da177e4SLinus Torvalds #include <linux/sunrpc/rpc_pipe_fs.h>
2349c36fccS\"Talpey, Thomas\ #include <linux/sunrpc/xprtsock.h>
241da177e4SLinus Torvalds 
253fc605a2SNeilBrown extern struct cache_detail ip_map_cache, unix_gid_cache;
261da177e4SLinus Torvalds 
271da177e4SLinus Torvalds static int __init
281da177e4SLinus Torvalds init_sunrpc(void)
291da177e4SLinus Torvalds {
301da177e4SLinus Torvalds 	int err = register_rpc_pipefs();
311da177e4SLinus Torvalds 	if (err)
321da177e4SLinus Torvalds 		goto out;
335bd5f581SAkinobu Mita 	err = rpc_init_mempool();
345bd5f581SAkinobu Mita 	if (err) {
355bd5f581SAkinobu Mita 		unregister_rpc_pipefs();
361da177e4SLinus Torvalds 		goto out;
375bd5f581SAkinobu Mita 	}
381da177e4SLinus Torvalds #ifdef RPC_DEBUG
391da177e4SLinus Torvalds 	rpc_register_sysctl();
401da177e4SLinus Torvalds #endif
411da177e4SLinus Torvalds #ifdef CONFIG_PROC_FS
421da177e4SLinus Torvalds 	rpc_proc_init();
431da177e4SLinus Torvalds #endif
441da177e4SLinus Torvalds 	cache_register(&ip_map_cache);
453fc605a2SNeilBrown 	cache_register(&unix_gid_cache);
46360d8738STom Tucker 	svc_init_xprt_sock();	/* svc sock transport */
47360d8738STom Tucker 	init_socket_xprt();	/* clnt sock transport */
48f5c2187cSTrond Myklebust 	rpcauth_init_module();
491da177e4SLinus Torvalds out:
501da177e4SLinus Torvalds 	return err;
511da177e4SLinus Torvalds }
521da177e4SLinus Torvalds 
531da177e4SLinus Torvalds static void __exit
541da177e4SLinus Torvalds cleanup_sunrpc(void)
551da177e4SLinus Torvalds {
56f5c2187cSTrond Myklebust 	rpcauth_remove_module();
57282b32e1SChuck Lever 	cleanup_socket_xprt();
58360d8738STom Tucker 	svc_cleanup_xprt_sock();
591da177e4SLinus Torvalds 	unregister_rpc_pipefs();
601da177e4SLinus Torvalds 	rpc_destroy_mempool();
61df95a9d4SJ. Bruce Fields 	cache_unregister(&ip_map_cache);
62df95a9d4SJ. Bruce Fields 	cache_unregister(&unix_gid_cache);
631da177e4SLinus Torvalds #ifdef RPC_DEBUG
641da177e4SLinus Torvalds 	rpc_unregister_sysctl();
651da177e4SLinus Torvalds #endif
661da177e4SLinus Torvalds #ifdef CONFIG_PROC_FS
671da177e4SLinus Torvalds 	rpc_proc_exit();
681da177e4SLinus Torvalds #endif
6975de874fSJesper Dangaard Brouer 	rcu_barrier(); /* Wait for completion of call_rcu()'s */
701da177e4SLinus Torvalds }
711da177e4SLinus Torvalds MODULE_LICENSE("GPL");
72405d8f8bSTrond Myklebust fs_initcall(init_sunrpc); /* Ensure we're initialised before nfs */
731da177e4SLinus Torvalds module_exit(cleanup_sunrpc);
74