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