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

Commit ef30afef authored by Gustavo Padovan's avatar Gustavo Padovan Committed by Greg Kroah-Hartman
Browse files

staging/android: remove struct sync_timeline_ops



Move drv_name, the last field of sync_timeline_ops, to sync_timeline
and remove sync_timeline_ops.

struct sync_timeline_ops was just an extra abstraction on top of
fence_ops, and in the last few commits we removed all it ops in favor
of cleaner fence_ops.

Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: default avatarSumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5c1401f8
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -38,16 +38,11 @@ struct fence *sw_sync_pt_create(struct sw_sync_timeline *obj, u32 value)
}
EXPORT_SYMBOL(sw_sync_pt_create);

static struct sync_timeline_ops sw_sync_timeline_ops = {
	.driver_name = "sw_sync",
};

struct sw_sync_timeline *sw_sync_timeline_create(const char *name)
{
	struct sw_sync_timeline *obj = (struct sw_sync_timeline *)
		sync_timeline_create(&sw_sync_timeline_ops,
				     sizeof(struct sw_sync_timeline),
				     name);
		sync_timeline_create(sizeof(struct sw_sync_timeline),
				     "sw_sync", name);

	return obj;
}
+4 −4
Original line number Diff line number Diff line
@@ -30,8 +30,8 @@

static const struct fence_ops android_fence_ops;

struct sync_timeline *sync_timeline_create(const struct sync_timeline_ops *ops,
					   int size, const char *name)
struct sync_timeline *sync_timeline_create(int size, const char *drv_name,
					   const char *name)
{
	struct sync_timeline *obj;

@@ -43,9 +43,9 @@ struct sync_timeline *sync_timeline_create(const struct sync_timeline_ops *ops,
		return NULL;

	kref_init(&obj->kref);
	obj->ops = ops;
	obj->context = fence_context_alloc(1);
	strlcpy(obj->name, name, sizeof(obj->name));
	strlcpy(obj->drv_name, drv_name, sizeof(obj->drv_name));

	INIT_LIST_HEAD(&obj->child_list_head);
	INIT_LIST_HEAD(&obj->active_list_head);
@@ -139,7 +139,7 @@ static const char *android_fence_get_driver_name(struct fence *fence)
{
	struct sync_timeline *parent = fence_parent(fence);

	return parent->ops->driver_name;
	return parent->drv_name;
}

static const char *android_fence_get_timeline_name(struct fence *fence)
+9 −19
Original line number Diff line number Diff line
@@ -23,20 +23,10 @@
#include <linux/sync_file.h>
#include <uapi/linux/sync_file.h>

struct sync_timeline;

/**
 * struct sync_timeline_ops - sync object implementation ops
 * @driver_name:	name of the implementation
 */
struct sync_timeline_ops {
	const char *driver_name;
};

/**
 * struct sync_timeline - sync object
 * @kref:		reference count on fence.
 * @ops:		ops that define the implementation of the sync_timeline
 * @drv_name:		drv_name of the driver using the sync_timeline
 * @name:		name of the sync_timeline. Useful for debugging
 * @destroyed:		set when sync_timeline is destroyed
 * @child_list_head:	list of children sync_pts for this sync_timeline
@@ -47,7 +37,7 @@ struct sync_timeline_ops {
 */
struct sync_timeline {
	struct kref		kref;
	const struct sync_timeline_ops	*ops;
	char			drv_name[32];
	char			name[32];

	/* protected by child_list_lock */
@@ -76,17 +66,17 @@ static inline struct sync_timeline *fence_parent(struct fence *fence)

/**
 * sync_timeline_create() - creates a sync object
 * @ops:	specifies the implementation ops for the object
 * @size:	size to allocate for this obj
 * @drv_name:	sync_timeline driver name
 * @name:	sync_timeline name
 *
 * Creates a new sync_timeline which will use the implementation specified by
 * @ops.  @size bytes will be allocated allowing for implementation specific
 * data to be kept after the generic sync_timeline struct. Returns the
 * sync_timeline object or NULL in case of error.
 * Creates a new sync_timeline. @size bytes will be allocated allowing
 * for implementation specific data to be kept after the generic
 * sync_timeline struct. Returns the sync_timeline object or NULL in
 * case of error.
 */
struct sync_timeline *sync_timeline_create(const struct sync_timeline_ops *ops,
					   int size, const char *name);
struct sync_timeline *sync_timeline_create(int size, const char *drv_name,
					   const char *name);

/**
 * sync_timeline_destroy() - destroys a sync object
+1 −2
Original line number Diff line number Diff line
@@ -133,8 +133,7 @@ static void sync_print_obj(struct seq_file *s, struct sync_timeline *obj)
	struct list_head *pos;
	unsigned long flags;

	seq_printf(s, "%s %s: %d\n", obj->name, obj->ops->driver_name,
		   obj->value);
	seq_printf(s, "%s %s: %d\n", obj->name, obj->drv_name, obj->value);

	spin_lock_irqsave(&obj->child_list_lock, flags);
	list_for_each(pos, &obj->child_list_head) {