xref: /openbmc/linux/net/sunrpc/xprtrdma/module.c (revision b96fc2f3)
1 /*
2  * Copyright (c) 2015 Oracle.  All rights reserved.
3  */
4 
5 /* rpcrdma.ko module initialization
6  */
7 
8 #include <linux/module.h>
9 #include <linux/init.h>
10 #include <linux/sunrpc/svc_rdma.h>
11 #include "xprt_rdma.h"
12 
13 #if IS_ENABLED(CONFIG_SUNRPC_DEBUG)
14 # define RPCDBG_FACILITY	RPCDBG_TRANS
15 #endif
16 
17 MODULE_AUTHOR("Open Grid Computing and Network Appliance, Inc.");
18 MODULE_DESCRIPTION("RPC/RDMA Transport");
19 MODULE_LICENSE("Dual BSD/GPL");
20 MODULE_ALIAS("svcrdma");
21 MODULE_ALIAS("xprtrdma");
22 
23 static void __exit rpc_rdma_cleanup(void)
24 {
25 	xprt_rdma_cleanup();
26 	svc_rdma_cleanup();
27 }
28 
29 static int __init rpc_rdma_init(void)
30 {
31 	int rc;
32 
33 	rc = svc_rdma_init();
34 	if (rc)
35 		goto out;
36 
37 	rc = xprt_rdma_init();
38 	if (rc)
39 		svc_rdma_cleanup();
40 
41 out:
42 	return rc;
43 }
44 
45 module_init(rpc_rdma_init);
46 module_exit(rpc_rdma_cleanup);
47