module.c 920 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
  2. /*
  3. * Copyright (c) 2015, 2017 Oracle. All rights reserved.
  4. */
  5. /* rpcrdma.ko module initialization
  6. */
  7. #include <linux/types.h>
  8. #include <linux/compiler.h>
  9. #include <linux/module.h>
  10. #include <linux/init.h>
  11. #include <linux/sunrpc/svc_rdma.h>
  12. #include <asm/swab.h>
  13. #include "xprt_rdma.h"
  14. #define CREATE_TRACE_POINTS
  15. #include <trace/events/rpcrdma.h>
  16. MODULE_AUTHOR("Open Grid Computing and Network Appliance, Inc.");
  17. MODULE_DESCRIPTION("RPC/RDMA Transport");
  18. MODULE_LICENSE("Dual BSD/GPL");
  19. MODULE_ALIAS("svcrdma");
  20. MODULE_ALIAS("xprtrdma");
  21. static void __exit rpc_rdma_cleanup(void)
  22. {
  23. xprt_rdma_cleanup();
  24. svc_rdma_cleanup();
  25. }
  26. static int __init rpc_rdma_init(void)
  27. {
  28. int rc;
  29. rc = svc_rdma_init();
  30. if (rc)
  31. goto out;
  32. rc = xprt_rdma_init();
  33. if (rc)
  34. svc_rdma_cleanup();
  35. out:
  36. return rc;
  37. }
  38. module_init(rpc_rdma_init);
  39. module_exit(rpc_rdma_cleanup);