GNU Linux-libre 4.14.313-gnu1
[releases.git] / net / sunrpc / xprtrdma / module.c
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 MODULE_ALIAS("rpcrdma6");
23
24 static void __exit rpc_rdma_cleanup(void)
25 {
26         xprt_rdma_cleanup();
27         svc_rdma_cleanup();
28 }
29
30 static int __init rpc_rdma_init(void)
31 {
32         int rc;
33
34         rc = svc_rdma_init();
35         if (rc)
36                 goto out;
37
38         rc = xprt_rdma_init();
39         if (rc)
40                 svc_rdma_cleanup();
41
42 out:
43         return rc;
44 }
45
46 module_init(rpc_rdma_init);
47 module_exit(rpc_rdma_cleanup);