65 lines
1.2 KiB
C
65 lines
1.2 KiB
C
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
|
/*
|
|
* Copyright (c) 2015, 2017 Oracle. All rights reserved.
|
|
*/
|
|
|
|
/* rpcrdma.ko module initialization
|
|
*/
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/compiler.h>
|
|
#include <linux/module.h>
|
|
#include <linux/init.h>
|
|
#include <linux/sunrpc/svc_rdma.h>
|
|
#include <linux/sunrpc/rdma_rn.h>
|
|
|
|
#include <asm/swab.h>
|
|
|
|
#include "xprt_rdma.h"
|
|
|
|
#define CREATE_TRACE_POINTS
|
|
#include <trace/events/rpcrdma.h>
|
|
|
|
MODULE_AUTHOR("Open Grid Computing and Network Appliance, Inc.");
|
|
MODULE_DESCRIPTION("RPC/RDMA Transport");
|
|
MODULE_LICENSE("Dual BSD/GPL");
|
|
MODULE_ALIAS("svcrdma");
|
|
MODULE_ALIAS("xprtrdma");
|
|
MODULE_ALIAS("rpcrdma6");
|
|
|
|
static void __exit rpc_rdma_cleanup(void)
|
|
{
|
|
xprt_rdma_cleanup();
|
|
svc_rdma_cleanup();
|
|
rpcrdma_ib_client_unregister();
|
|
}
|
|
|
|
static int __init rpc_rdma_init(void)
|
|
{
|
|
int rc;
|
|
|
|
rc = rpcrdma_ib_client_register();
|
|
if (rc)
|
|
goto out_rc;
|
|
|
|
rc = svc_rdma_init();
|
|
if (rc)
|
|
goto out_ib_client;
|
|
|
|
rc = xprt_rdma_init();
|
|
if (rc)
|
|
goto out_svc_rdma;
|
|
|
|
return 0;
|
|
|
|
out_svc_rdma:
|
|
svc_rdma_cleanup();
|
|
out_ib_client:
|
|
rpcrdma_ib_client_unregister();
|
|
out_rc:
|
|
return rc;
|
|
}
|
|
|
|
module_init(rpc_rdma_init);
|
|
module_exit(rpc_rdma_cleanup);
|