Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51d0a2b4 authored by Jason Gunthorpe's avatar Jason Gunthorpe
Browse files

IB/uverbs: Remove struct uverbs_root_spec and all supporting code



Everything now uses the uverbs_uapi data structure.

Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 3a863577
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -35,7 +35,7 @@ ib_ucm-y := ucm.o


ib_uverbs-y :=			uverbs_main.o uverbs_cmd.o uverbs_marshall.o \
ib_uverbs-y :=			uverbs_main.o uverbs_cmd.o uverbs_marshall.o \
				rdma_core.o uverbs_std_types.o uverbs_ioctl.o \
				rdma_core.o uverbs_std_types.o uverbs_ioctl.o \
				uverbs_ioctl_merge.o uverbs_std_types_cq.o \
				uverbs_std_types_cq.o \
				uverbs_std_types_flow_action.o uverbs_std_types_dm.o \
				uverbs_std_types_flow_action.o uverbs_std_types_dm.o \
				uverbs_std_types_mr.o uverbs_std_types_counters.o \
				uverbs_std_types_mr.o uverbs_std_types_counters.o \
				uverbs_uapi.o
				uverbs_uapi.o
+0 −45
Original line number Original line Diff line number Diff line
@@ -42,51 +42,6 @@
#include "core_priv.h"
#include "core_priv.h"
#include "rdma_core.h"
#include "rdma_core.h"


int uverbs_ns_idx(u16 *id, unsigned int ns_count)
{
	int ret = (*id & UVERBS_ID_NS_MASK) >> UVERBS_ID_NS_SHIFT;

	if (ret >= ns_count)
		return -EINVAL;

	*id &= ~UVERBS_ID_NS_MASK;
	return ret;
}

const struct uverbs_object_spec *uverbs_get_object(struct ib_uverbs_file *ufile,
						   uint16_t object)
{
	const struct uverbs_root_spec *object_hash = ufile->device->specs_root;
	const struct uverbs_object_spec_hash *objects;
	int ret = uverbs_ns_idx(&object, object_hash->num_buckets);

	if (ret < 0)
		return NULL;

	objects = object_hash->object_buckets[ret];

	if (object >= objects->num_objects)
		return NULL;

	return objects->objects[object];
}

const struct uverbs_method_spec *uverbs_get_method(const struct uverbs_object_spec *object,
						   uint16_t method)
{
	const struct uverbs_method_spec_hash *methods;
	int ret = uverbs_ns_idx(&method, object->num_buckets);

	if (ret < 0)
		return NULL;

	methods = object->method_buckets[ret];
	if (method >= methods->num_methods)
		return NULL;

	return methods->methods[method];
}

void uverbs_uobject_get(struct ib_uobject *uobject)
void uverbs_uobject_get(struct ib_uobject *uobject)
{
{
	kref_get(&uobject->ref);
	kref_get(&uobject->ref);
+0 −6
Original line number Original line Diff line number Diff line
@@ -45,12 +45,6 @@


struct ib_uverbs_device;
struct ib_uverbs_device;


int uverbs_ns_idx(u16 *id, unsigned int ns_count);
const struct uverbs_object_spec *uverbs_get_object(struct ib_uverbs_file *ufile,
						   uint16_t object);
const struct uverbs_method_spec *uverbs_get_method(const struct uverbs_object_spec *object,
						   uint16_t method);

void uverbs_destroy_ufile_hw(struct ib_uverbs_file *ufile,
void uverbs_destroy_ufile_hw(struct ib_uverbs_file *ufile,
			     enum rdma_remove_reason reason);
			     enum rdma_remove_reason reason);


+0 −1
Original line number Original line Diff line number Diff line
@@ -111,7 +111,6 @@ struct ib_uverbs_device {
	struct mutex				lists_mutex; /* protect lists */
	struct mutex				lists_mutex; /* protect lists */
	struct list_head			uverbs_file_list;
	struct list_head			uverbs_file_list;
	struct list_head			uverbs_events_file_list;
	struct list_head			uverbs_events_file_list;
	struct uverbs_root_spec			*specs_root;
	struct uverbs_api			*uapi;
	struct uverbs_api			*uapi;
};
};


+0 −662

File deleted.

Preview size limit exceeded, changes collapsed.

Loading