module.c 946 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. MODULE_ALIAS("rpcrdma6");
  22. static void __exit rpc_rdma_cleanup(void)
  23. {
  24. xprt_rdma_cleanup();
  25. svc_rdma_cleanup();
  26. }
  27. static int __init rpc_rdma_init(void)
  28. {
  29. int rc;
  30. rc = svc_rdma_init();
  31. if (rc)
  32. goto out;
  33. rc = xprt_rdma_init();
  34. if (rc)
  35. svc_rdma_cleanup();
  36. out:
  37. return rc;
  38. }
  39. module_init(rpc_rdma_init);
  40. module_exit(rpc_rdma_cleanup);