Merge tag 'pm-4.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
[linux-2.6-microblaze.git] / include / rdma / rdma_cm.h
index 6538a5c..6909347 100644 (file)
@@ -38,6 +38,7 @@
 #include <linux/in6.h>
 #include <rdma/ib_addr.h>
 #include <rdma/ib_sa.h>
+#include <uapi/rdma/rdma_user_cm.h>
 
 /*
  * Upon receiving a device removal event, users must destroy the associated
@@ -64,14 +65,6 @@ enum rdma_cm_event_type {
 
 const char *__attribute_const__ rdma_event_msg(enum rdma_cm_event_type event);
 
-enum rdma_port_space {
-       RDMA_PS_SDP   = 0x0001,
-       RDMA_PS_IPOIB = 0x0002,
-       RDMA_PS_IB    = 0x013F,
-       RDMA_PS_TCP   = 0x0106,
-       RDMA_PS_UDP   = 0x0111,
-};
-
 #define RDMA_IB_IP_PS_MASK   0xFFFFFFFFFFFF0000ULL
 #define RDMA_IB_IP_PS_TCP    0x0000000001060000ULL
 #define RDMA_IB_IP_PS_UDP    0x0000000001110000ULL
@@ -120,20 +113,6 @@ struct rdma_cm_event {
        } param;
 };
 
-enum rdma_cm_state {
-       RDMA_CM_IDLE,
-       RDMA_CM_ADDR_QUERY,
-       RDMA_CM_ADDR_RESOLVED,
-       RDMA_CM_ROUTE_QUERY,
-       RDMA_CM_ROUTE_RESOLVED,
-       RDMA_CM_CONNECT,
-       RDMA_CM_DISCONNECT,
-       RDMA_CM_ADDR_BOUND,
-       RDMA_CM_LISTEN,
-       RDMA_CM_DEVICE_REMOVAL,
-       RDMA_CM_DESTROYING
-};
-
 struct rdma_cm_id;
 
 /**
@@ -152,11 +131,17 @@ struct rdma_cm_id {
        struct ib_qp            *qp;
        rdma_cm_event_handler    event_handler;
        struct rdma_route        route;
-       enum rdma_port_space     ps;
+       enum rdma_ucm_port_space ps;
        enum ib_qp_type          qp_type;
        u8                       port_num;
 };
 
+struct rdma_cm_id *__rdma_create_id(struct net *net,
+                                   rdma_cm_event_handler event_handler,
+                                   void *context, enum rdma_ucm_port_space ps,
+                                   enum ib_qp_type qp_type,
+                                   const char *caller);
+
 /**
  * rdma_create_id - Create an RDMA identifier.
  *
@@ -169,10 +154,9 @@ struct rdma_cm_id {
  *
  * The id holds a reference on the network namespace until it is destroyed.
  */
-struct rdma_cm_id *rdma_create_id(struct net *net,
-                                 rdma_cm_event_handler event_handler,
-                                 void *context, enum rdma_port_space ps,
-                                 enum ib_qp_type qp_type);
+#define rdma_create_id(net, event_handler, context, ps, qp_type) \
+       __rdma_create_id((net), (event_handler), (context), (ps), (qp_type), \
+                        KBUILD_MODNAME)
 
 /**
   * rdma_destroy_id - Destroys an RDMA identifier.
@@ -284,6 +268,9 @@ int rdma_connect(struct rdma_cm_id *id, struct rdma_conn_param *conn_param);
  */
 int rdma_listen(struct rdma_cm_id *id, int backlog);
 
+int __rdma_accept(struct rdma_cm_id *id, struct rdma_conn_param *conn_param,
+                 const char *caller);
+
 /**
  * rdma_accept - Called to accept a connection request or response.
  * @id: Connection identifier associated with the request.
@@ -299,7 +286,8 @@ int rdma_listen(struct rdma_cm_id *id, int backlog);
  * state of the qp associated with the id is modified to error, such that any
  * previously posted receive buffers would be flushed.
  */
-int rdma_accept(struct rdma_cm_id *id, struct rdma_conn_param *conn_param);
+#define rdma_accept(id, conn_param) \
+       __rdma_accept((id), (conn_param),  KBUILD_MODNAME)
 
 /**
  * rdma_notify - Notifies the RDMA CM of an asynchronous event that has