@@ -54,7 +54,6 @@ EXPORT_SYMBOL(fence_context_alloc);
/**
* fence_timeline_create - create a new fence_timeline
* @num: [in] amount of contexts to allocate
- * @ops: [in] timeline ops of the caller
* @size: [in] size to allocate struct fence_timeline
* @drv_name: [in] name of the driver
* @name: [in] name of the timeline
@@ -63,9 +62,8 @@ EXPORT_SYMBOL(fence_context_alloc);
* It allocs and initializes a new fence_timeline with a proper fence context
* number assigned to it.
*/
-struct fence_timeline *fence_timeline_create(unsigned num,
- struct fence_timeline_ops *ops,
- int size, const char *drv_name,
+struct fence_timeline *fence_timeline_create(unsigned num, int size,
+ const char *drv_name,
const char *name)
{
struct fence_timeline *timeline;
@@ -78,7 +76,6 @@ struct fence_timeline *fence_timeline_create(unsigned num,
return NULL;
kref_init(&timeline->kref);
- timeline->ops = ops;
timeline->context = fence_context_alloc(1);
strlcpy(timeline->name, name, sizeof(timeline->name));
strlcpy(timeline->drv_name, drv_name, sizeof(timeline->drv_name));
@@ -38,28 +38,10 @@ struct fence *sw_sync_pt_create(struct sw_sync_timeline *obj, u32 value)
}
EXPORT_SYMBOL(sw_sync_pt_create);
-static int sw_sync_fill_driver_data(struct fence *fence,
- void *data, int size)
-{
- struct sw_sync_pt *pt = (struct sw_sync_pt *)fence;
-
- if (size < sizeof(pt->value))
- return -ENOMEM;
-
- memcpy(data, &pt->value, sizeof(pt->value));
-
- return sizeof(pt->value);
-}
-
-static struct fence_timeline_ops sw_sync_timeline_ops = {
- .fill_driver_data = sw_sync_fill_driver_data,
-};
-
struct sw_sync_timeline *sw_sync_timeline_create(const char *name)
{
struct sw_sync_timeline *obj = (struct sw_sync_timeline *)
- fence_timeline_create(1, &sw_sync_timeline_ops,
- sizeof(struct sw_sync_timeline),
+ fence_timeline_create(1, sizeof(struct sw_sync_timeline),
"sw_sync", name);
return obj;
@@ -30,22 +30,9 @@
#include <linux/printk.h>
#include <linux/rcupdate.h>
-struct fence_timeline;
struct fence;
struct fence_ops;
struct fence_cb;
-/**
- * struct fence_timeline_ops - fence context implementation ops
- * @fill_driver_data: write implementation specific driver data to data.
- * should return an error if there is not enough room
- * as specified by size. This information is returned
- * to userspace by SYNC_IOC_FENCE_INFO.
- * @pt_value_str: fill str with the value of the sync_pt
- */
-struct fence_timeline_ops {
- /* optional */
- int (*fill_driver_data)(struct fence *fence, void *data, int size);
-};
/**
* struct fence_timeline - timeline for software synchronization primitive
@@ -63,7 +50,6 @@ struct fence_timeline {
struct kref kref;
char name[32];
char drv_name[32];
- const struct fence_timeline_ops *ops;
bool destroyed;
unsigned int value;
int context;
@@ -75,9 +61,8 @@ struct fence_timeline {
#endif
};
-struct fence_timeline *fence_timeline_create(unsigned num,
- struct fence_timeline_ops *ops,
- int size, const char *drv_name,
+struct fence_timeline *fence_timeline_create(unsigned num, int size,
+ const char *drv_name,
const char *name);
void fence_timeline_get(struct fence_timeline *timeline);
void fence_timeline_put(struct fence_timeline *timeline);