Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1322090

[PATCH 04/10] staging/android: remove driver_data from struct fence_info

From Gustavo Padovan <gustavo@padovan.org>
Newsgroups linux.kernel
Subject [PATCH 04/10] staging/android: remove driver_data from struct fence_info
Date 2016-01-29 22:30 +0100
Message-ID <qWoMa-IK-13@gated-at.bofh.it> (permalink)
References <qWoM9-IK-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>

It is unclear in what situations driver_data should be used thus better do
not upstream it for now. If a need arises in the future a discussion can
be started to re-add it.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
---
 drivers/staging/android/sw_sync.c   | 14 --------------
 drivers/staging/android/sync.c      | 21 ---------------------
 drivers/staging/android/sync.h      |  7 -------
 drivers/staging/android/uapi/sync.h |  5 +----
 4 files changed, 1 insertion(+), 46 deletions(-)

diff --git a/drivers/staging/android/sw_sync.c b/drivers/staging/android/sw_sync.c
index 3bee959..af39ff5 100644
--- a/drivers/staging/android/sw_sync.c
+++ b/drivers/staging/android/sw_sync.c
@@ -47,19 +47,6 @@ static int sw_sync_fence_has_signaled(struct fence *fence)
 	return (pt->value > obj->value) ? 0 : 1;
 }
 
-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 void sw_sync_timeline_value_str(struct sync_timeline *sync_timeline,
 				       char *str, int size)
 {
@@ -78,7 +65,6 @@ static void sw_sync_fence_value_str(struct fence *fence, char *str, int size)
 static struct sync_timeline_ops sw_sync_timeline_ops = {
 	.driver_name = "sw_sync",
 	.has_signaled = sw_sync_fence_has_signaled,
-	.fill_driver_data = sw_sync_fill_driver_data,
 	.timeline_value_str = sw_sync_timeline_value_str,
 	.fence_value_str = sw_sync_fence_value_str,
 };
diff --git a/drivers/staging/android/sync.c b/drivers/staging/android/sync.c
index a1cf9fd..ced6e61 100644
--- a/drivers/staging/android/sync.c
+++ b/drivers/staging/android/sync.c
@@ -351,16 +351,6 @@ static bool android_fence_enable_signaling(struct fence *fence)
 	return true;
 }
 
-static int android_fence_fill_driver_data(struct fence *fence,
-					  void *data, int size)
-{
-	struct sync_timeline *parent = fence_parent(fence);
-
-	if (!parent->ops->fill_driver_data)
-		return 0;
-	return parent->ops->fill_driver_data(fence, data, size);
-}
-
 static void android_fence_value_str(struct fence *fence,
 				    char *str, int size)
 {
@@ -394,7 +384,6 @@ static const struct fence_ops android_fence_ops = {
 	.signaled = android_fence_signaled,
 	.wait = fence_default_wait,
 	.release = android_fence_release,
-	.fill_driver_data = android_fence_fill_driver_data,
 	.fence_value_str = android_fence_value_str,
 	.timeline_value_str = android_fence_timeline_value_str,
 };
@@ -493,22 +482,12 @@ err_put_fd:
 static int sync_fill_fence_info(struct fence *fence, void *data, int size)
 {
 	struct fence_info *info = data;
-	int ret;
 
 	if (size < sizeof(*info))
 		return -ENOMEM;
 
 	info->len = sizeof(struct sync_pt_info);
 
-	if (fence->ops->fill_driver_data) {
-		ret = fence->ops->fill_driver_data(fence, info->driver_data,
-						   size - sizeof(*info));
-		if (ret < 0)
-			return ret;
-
-		info->len += ret;
-	}
-
 	strlcpy(info->obj_name, fence->ops->get_timeline_name(fence),
 		sizeof(info->obj_name));
 	strlcpy(info->driver_name, fence->ops->get_driver_name(fence),
diff --git a/drivers/staging/android/sync.h b/drivers/staging/android/sync.h
index af1af99..d2a1734 100644
--- a/drivers/staging/android/sync.h
+++ b/drivers/staging/android/sync.h
@@ -32,10 +32,6 @@ struct sync_file;
  *			  1 if pt has signaled
  *			  0 if pt has not signaled
  *			 <0 on error
- * @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.
  * @timeline_value_str: fill str with the value of the sync_timeline's counter
  * @fence_value_str:	fill str with the value of the fence
  */
@@ -46,9 +42,6 @@ struct sync_timeline_ops {
 	int (*has_signaled)(struct fence *fence);
 
 	/* optional */
-	int (*fill_driver_data)(struct fence *fence, void *data, int size);
-
-	/* optional */
 	void (*timeline_value_str)(struct sync_timeline *timeline, char *str,
 				   int size);
 
diff --git a/drivers/staging/android/uapi/sync.h b/drivers/staging/android/uapi/sync.h
index 70d05ad..cdc0f04 100644
--- a/drivers/staging/android/uapi/sync.h
+++ b/drivers/staging/android/uapi/sync.h
@@ -28,12 +28,11 @@ struct sync_merge_data {
 
 /**
  * struct fence_info - detailed fence information
- * @len:		length of fence_info including any driver_data
+ * @len:		length of fence_info
  * @obj_name:		name of parent sync_timeline
  * @driver_name:	name of driver implementing the parent
  * @status:		status of the fence 0:active 1:signaled <0:error
  * @timestamp_ns:	timestamp of status change in nanoseconds
- * @driver_data:	any driver dependent data
  */
 struct fence_info {
 	__u32	len;
@@ -41,8 +40,6 @@ struct fence_info {
 	char	driver_name[32];
 	__s32	status;
 	__u64	timestamp_ns;
-
-	__u8	driver_data[0];
 };
 
 /**
-- 
2.5.0

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/10] android sync framework: clean up IOCTLs and ABI. Gustavo Padovan <gustavo@padovan.org> - 2016-01-29 22:30 +0100
  [PATCH 04/10] staging/android: remove driver_data from struct fence_info Gustavo Padovan <gustavo@padovan.org> - 2016-01-29 22:30 +0100
  [PATCH 05/10] staging/android: remove len field from struct fence_info Gustavo Padovan <gustavo@padovan.org> - 2016-01-29 22:30 +0100
  [PATCH 06/10] staging/android: turn fence_info into a __64 pointer Gustavo Padovan <gustavo@padovan.org> - 2016-01-29 22:30 +0100
    Re: [PATCH 06/10] staging/android: turn fence_info into a __64 pointer Emil Velikov <emil.l.velikov@gmail.com> - 2016-01-30 19:10 +0100
    Re: [PATCH 06/10] staging/android: turn fence_info into a __64  pointer Maarten Lankhorst <maarten.lankhorst@linux.intel.com> - 2016-02-01 09:50 +0100
      Re: [PATCH 06/10] staging/android: turn fence_info into a __64  pointer Gustavo Padovan <gustavo@padovan.org> - 2016-02-01 19:10 +0100
        Re: [PATCH 06/10] staging/android: turn fence_info into a __64  pointer Gustavo Padovan <gustavo@padovan.org> - 2016-02-02 14:10 +0100
  [PATCH 01/10] staging/android: remove SYNC_WAIT ioctl Gustavo Padovan <gustavo@padovan.org> - 2016-01-29 22:30 +0100
  [PATCH 08/10] staging/android: rename SYNC_IOC_FENCE_INFO Gustavo Padovan <gustavo@padovan.org> - 2016-01-29 22:30 +0100
  [PATCH 09/10] staging/android: add flags member to sync ioctl structs Gustavo Padovan <gustavo@padovan.org> - 2016-01-29 22:30 +0100
    Re: [PATCH 09/10] staging/android: add flags member to sync ioctl structs Emil Velikov <emil.l.velikov@gmail.com> - 2016-01-30 19:20 +0100
      Re: [PATCH 09/10] staging/android: add flags member to sync ioctl  structs Gustavo Padovan <gustavo@padovan.org> - 2016-02-01 14:30 +0100
    Re: [PATCH 09/10] staging/android: add flags member to sync ioctl  structs Maarten Lankhorst <maarten.lankhorst@linux.intel.com> - 2016-02-01 09:50 +0100

csiph-web