IB/rdmavt: Add IB user context allocation and de-alloction functions
Adding IB user context alloc and dealloc functions to rdmavt so that the drivers that use rdmavt can use these functions instead of defining their own functions. Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Harish Chegondi <harish.chegondi@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
committed by
Doug Ledford
parent
894c727b6a
commit
6c43cf4b48
@ -189,6 +189,16 @@ static int rvt_query_gid(struct ib_device *ibdev, u8 port,
|
|||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct rvt_ucontext {
|
||||||
|
struct ib_ucontext ibucontext;
|
||||||
|
};
|
||||||
|
|
||||||
|
static inline struct rvt_ucontext *to_iucontext(struct ib_ucontext
|
||||||
|
*ibucontext)
|
||||||
|
{
|
||||||
|
return container_of(ibucontext, struct rvt_ucontext, ibucontext);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rvt_alloc_ucontext - Allocate a user context
|
* rvt_alloc_ucontext - Allocate a user context
|
||||||
* @ibdev: Vers IB dev
|
* @ibdev: Vers IB dev
|
||||||
@ -197,7 +207,12 @@ static int rvt_query_gid(struct ib_device *ibdev, u8 port,
|
|||||||
static struct ib_ucontext *rvt_alloc_ucontext(struct ib_device *ibdev,
|
static struct ib_ucontext *rvt_alloc_ucontext(struct ib_device *ibdev,
|
||||||
struct ib_udata *udata)
|
struct ib_udata *udata)
|
||||||
{
|
{
|
||||||
return ERR_PTR(-EOPNOTSUPP);
|
struct rvt_ucontext *context;
|
||||||
|
|
||||||
|
context = kmalloc(sizeof(*context), GFP_KERNEL);
|
||||||
|
if (!context)
|
||||||
|
return ERR_PTR(-ENOMEM);
|
||||||
|
return &context->ibucontext;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -206,7 +221,8 @@ static struct ib_ucontext *rvt_alloc_ucontext(struct ib_device *ibdev,
|
|||||||
*/
|
*/
|
||||||
static int rvt_dealloc_ucontext(struct ib_ucontext *context)
|
static int rvt_dealloc_ucontext(struct ib_ucontext *context)
|
||||||
{
|
{
|
||||||
return -EOPNOTSUPP;
|
kfree(to_iucontext(context));
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int rvt_get_port_immutable(struct ib_device *ibdev, u8 port_num,
|
static int rvt_get_port_immutable(struct ib_device *ibdev, u8 port_num,
|
||||||
|
Reference in New Issue
Block a user