Skip to contentSkip to conversation

staging : android : uapi : fix coding style

PATCH In review Seunghun Lee 5 participants 6 messages Apr 16, 2014 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 staging : android : uapi : fix coding style

This patch fix checkpatch.pl warnings and errors.

---
 drivers/staging/android/uapi/binder.h |    2 +-
 drivers/staging/android/uapi/ion.h    |   20 +++++++++-----------
 2 files changed, 10 insertions(+), 12 deletions(-)
drivers/staging/android/uapi/binder.h +1 -1
index 904adb7..dba4cef 100644
@@ -169,7 +169,7 @@ struct binder_ptr_cookie {
 struct binder_handle_cookie {
 	__u32 handle;
 	binder_uintptr_t cookie;
-} __attribute__((packed));
+} __packed;
 
 struct binder_pri_desc {
 	__s32 priority;
drivers/staging/android/uapi/ion.h +9 -11
index f09e7c1..36332dc 100644
@@ -20,19 +20,17 @@
 #include <linux/ioctl.h>
 #include <linux/types.h>
 
-typedef int ion_user_handle_t;
-
 /**
  * enum ion_heap_types - list of all possible types of heaps
  * @ION_HEAP_TYPE_SYSTEM:	 memory allocated via vmalloc
  * @ION_HEAP_TYPE_SYSTEM_CONTIG: memory allocated via kmalloc
  * @ION_HEAP_TYPE_CARVEOUT:	 memory allocated from a prereserved
- * 				 carveout heap, allocations are physically
- * 				 contiguous
+ *				 carveout heap, allocations are physically
+ *				 contiguous
  * @ION_HEAP_TYPE_DMA:		 memory allocated via DMA API
  * @ION_NUM_HEAPS:		 helper for iterating over heaps, a bit mask
- * 				 is used to identify the heaps, so only 32
- * 				 total heap types are supported
+ *				 is used to identify the heaps, so only 32
+ *				 total heap types are supported
  */
 enum ion_heap_type {
 	ION_HEAP_TYPE_SYSTEM,
@@ -50,7 +48,7 @@ enum ion_heap_type {
 #define ION_HEAP_CARVEOUT_MASK		(1 << ION_HEAP_TYPE_CARVEOUT)
 #define ION_HEAP_TYPE_DMA_MASK		(1 << ION_HEAP_TYPE_DMA)
 
-#define ION_NUM_HEAP_IDS		sizeof(unsigned int) * 8
+#define ION_NUM_HEAP_IDS		(sizeof(unsigned int) * 8)
 
 /**
  * allocation flags - the lower 16 bits are used by core ion, the upper 16
@@ -78,7 +76,7 @@ enum ion_heap_type {
  * @align:		required alignment of the allocation
  * @heap_id_mask:	mask of heap ids to allocate from
  * @flags:		flags passed to heap
- * @handle:		pointer that will be populated with a cookie to use to 
+ * @handle:		pointer that will be populated with a cookie to use to
  *			refer to this allocation
  *
  * Provided by userspace as an argument to the ioctl
@@ -88,7 +86,7 @@ struct ion_allocation_data {
 	size_t align;
 	unsigned int heap_id_mask;
 	unsigned int flags;
-	ion_user_handle_t handle;
+	int handle;
 };
 
 /**
@@ -102,7 +100,7 @@ struct ion_allocation_data {
  * provides the file descriptor and the kernel returns the handle.
  */
 struct ion_fd_data {
-	ion_user_handle_t handle;
+	int handle;
 	int fd;
 };
 
@@ -111,7 +109,7 @@ struct ion_fd_data {
  * @handle:	a handle
  */
 struct ion_handle_data {
-	ion_user_handle_t handle;
+	int handle;
 };
 
 /**
Signature · 1 line
1.7.9.5
#1 lore raw

(adding John Stultz)

Quoted 1 line · Seunghun Lee

This patch fix checkpatch.pl warnings and errors.

[]

drivers/staging/android/uapi/binder.h

Quoted 1 line
drivers/staging/android/uapi/binder.h +0 -0

[]

drivers/staging/android/uapi/binder.h struct binder_ptr_cookie { · line 172

Quoted 6 lines
drivers/staging/android/uapi/binder.h +1 -1
@@ -169,7 +169,7 @@ struct binder_ptr_cookie {
 struct binder_handle_cookie {
 	__u32 handle;
 	binder_uintptr_t cookie;
-} __attribute__((packed));
+} __packed;

If this .h file is meant to be a user-space #include, then it should not use the kernel specific __packed but keep the __attribute__((packed))

It does use __u32 though and that's generally kernel specific.

John? Does any of these binder uapi files need a bit more sorting out?

#2 lore raw
Quoted 5 lines · Joe Perches
Quoted 1 line · Seunghun Lee

This patch fix checkpatch.pl warnings and errors.

[]

drivers/staging/android/uapi/binder.h

Quoted 1 line
drivers/staging/android/uapi/binder.h +0 -0

[]

Quoted 9 lines

drivers/staging/android/uapi/binder.h struct binder_ptr_cookie { · line 172

Quoted 6 lines
drivers/staging/android/uapi/binder.h +1 -1
@@ -169,7 +169,7 @@ struct binder_ptr_cookie {
 struct binder_handle_cookie {
 	__u32 handle;
 	binder_uintptr_t cookie;
-} __attribute__((packed));
+} __packed;

If this .h file is meant to be a user-space #include, then it should not use the kernel specific __packed but keep the __attribute__((packed))

Agreed.

Quoted 2 lines

It does use __u32 though and that's generally kernel specific.

Hmm. Theres a ton of __u32 usage in include/uapi/* as well as typedefs for it too.
include/uapi/asm-generic/int-l64.h:typedef unsigned int __u32; include/uapi/asm-generic/int-ll64.h:typedef unsigned int __u32;

Quoted 2 lines

John? Does any of these binder uapi files need a bit more sorting out?

I suspect this is ok, but Cc'ing Colin to give him a heads up, as it would probably cause trouble w/ their libc headers first.

thanks
-john

#3 lore raw

(resending without the html)

Quoted 27 lines · John Stultz
Quoted 5 lines · Joe Perches
Quoted 1 line · Seunghun Lee

This patch fix checkpatch.pl warnings and errors.

[]

drivers/staging/android/uapi/binder.h

Quoted 1 line
drivers/staging/android/uapi/binder.h +0 -0

[]

Quoted 9 lines

drivers/staging/android/uapi/binder.h struct binder_ptr_cookie { · line 172

Quoted 6 lines
drivers/staging/android/uapi/binder.h +1 -1
@@ -169,7 +169,7 @@ struct binder_ptr_cookie {
 struct binder_handle_cookie {
     __u32 handle;
     binder_uintptr_t cookie;
-} __attribute__((packed));
+} __packed;

If this .h file is meant to be a user-space #include, then it should not use the kernel specific __packed but keep the __attribute__((packed))

Agreed.

Quoted 2 lines

It does use __u32 though and that's generally kernel specific.

Hmm. Theres a ton of __u32 usage in include/uapi/* as well as typedefs for it too.
include/uapi/asm-generic/int-l64.h:typedef unsigned int __u32; include/uapi/asm-generic/int-ll64.h:typedef unsigned int __u32;

Quoted 4 lines
Quoted 2 lines

John? Does any of these binder uapi files need a bit more sorting out?

I suspect this is ok, but Cc'ing Colin to give him a heads up, as it would probably cause trouble w/ their libc headers first.

__u32 is explicitly for use in userspace headers so it doesn't conflict with userspace definitions of u32, uint32_t, etc. It gets set through #include <linux/types.h> when a copy of include/uapi is in the include path.

Quoted 1 line

From Documentation/CodingStyle:

(e) Types safe for use in userspace.

In certain structures which are visible to userspace, we cannot require C99 types and cannot use the 'u32' form above. Thus, we use __u32 and similar types in all structures which are shared with userspace.

#4 lore raw
In reply to Seunghun Lee

Subject is not correct format. Should be:

[PATCH] staging: android: uapi: fix coding style

Quoted 2 lines · Seunghun Lee

This patch fix checkpatch.pl warnings and errors.

Patch does too many things at once. Split it up.

Quoted 24 lines
---
 drivers/staging/android/uapi/binder.h |    2 +-
 drivers/staging/android/uapi/ion.h    |   20 +++++++++-----------
 2 files changed, 10 insertions(+), 12 deletions(-)
drivers/staging/android/uapi/binder.h +1 -1
index 904adb7..dba4cef 100644
@@ -169,7 +169,7 @@ struct binder_ptr_cookie {
 struct binder_handle_cookie {
 	__u32 handle;
 	binder_uintptr_t cookie;
-} __attribute__((packed));
+} __packed;
 
 struct binder_pri_desc {
 	__s32 priority;
drivers/staging/android/uapi/ion.h +0 -0
index f09e7c1..36332dc 100644

drivers/staging/android/uapi/ion.h line 23

Quoted 4 lines
drivers/staging/android/uapi/ion.h +0 -1
@@ -20,19 +20,17 @@
 #include <linux/ioctl.h>
 #include <linux/types.h>
 
-typedef int ion_user_handle_t;

This typedef is probably a valid use. Plus it looks to be part of the user space API. Just leave it alone.

regards,
dan carpenter

author
#5 lore raw
Quoted 36 lines · Dan Carpenter

Subject is not correct format. Should be:

[PATCH] staging: android: uapi: fix coding style

Quoted 2 lines · Seunghun Lee

This patch fix checkpatch.pl warnings and errors.

Patch does too many things at once. Split it up.

Quoted 27 lines
---
  drivers/staging/android/uapi/binder.h |    2 +-
  drivers/staging/android/uapi/ion.h    |   20 +++++++++-----------
  2 files changed, 10 insertions(+), 12 deletions(-)
drivers/staging/android/uapi/binder.h +1 -1
index 904adb7..dba4cef 100644
@@ -169,7 +169,7 @@ struct binder_ptr_cookie {
  struct binder_handle_cookie {
  	__u32 handle;
  	binder_uintptr_t cookie;
-} __attribute__((packed));
+} __packed;
 
  struct binder_pri_desc {
  	__s32 priority;
drivers/staging/android/uapi/ion.h +0 -0
index f09e7c1..36332dc 100644
@@ -20,19 +20,17 @@
  #include <linux/ioctl.h>
  #include <linux/types.h>
 
Quoted 7 lines

drivers/staging/android/uapi/ion.h line 23

Quoted 1 line
drivers/staging/android/uapi/ion.h +0 -1
-typedef int ion_user_handle_t;

This typedef is probably a valid use. Plus it looks to be part of the user space API. Just leave it alone.

regards,
dan carpenter

Thanks for review.
You're right, I sent the wrong patch.
I'll resend it.
Thanks.