diff mbox series

[v2,2/2] uuid: Make guid_t completely internal type to the kernel

Message ID 20201030184950.26732-2-andriy.shevchenko@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [v2,1/2] modpost: Mark uuid_le type only for MEI | expand

Commit Message

Andy Shevchenko Oct. 30, 2020, 6:49 p.m. UTC
The guid_t type was defined in UAPI by mistake.
Keep it an internal type and leave uuid_le UAPI
for it's only user, i.e. MEI.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: converted uuid_le_cmp() to old type
 include/linux/uuid.h      | 20 ++++++++++++++++----
 include/uapi/linux/uuid.h | 14 +++++---------
 2 files changed, 21 insertions(+), 13 deletions(-)

Comments

Andy Shevchenko Nov. 16, 2020, 11:40 a.m. UTC | #1
On Fri, Oct 30, 2020 at 08:49:50PM +0200, Andy Shevchenko wrote:
> The guid_t type was defined in UAPI by mistake.
> Keep it an internal type and leave uuid_le UAPI
> for it's only user, i.e. MEI.

Any comments on this series?
Christoph Hellwig Nov. 24, 2020, 1:39 p.m. UTC | #2
On Fri, Oct 30, 2020 at 08:49:50PM +0200, Andy Shevchenko wrote:
> diff --git a/include/uapi/linux/uuid.h b/include/uapi/linux/uuid.h
> index e5a7eecef7c3..c3e175f686f4 100644
> --- a/include/uapi/linux/uuid.h
> +++ b/include/uapi/linux/uuid.h
> @@ -1,6 +1,6 @@
>  /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
>  /*
> - * UUID/GUID definition
> + * MEI UUID definition
>   *
>   * Copyright (C) 2010, Intel Corp.
>   *	Huang Ying <ying.huang@intel.com>
> @@ -22,21 +22,17 @@
>  
>  typedef struct {
>  	__u8 b[16];
> -} guid_t;
> +} uuid_le;

IMHO we should kill this header entirely and move the definition to
<uapi/linux/mei.h> under a new name so that no one picks up the
definition by accident.
Andy Shevchenko Nov. 24, 2020, 2:07 p.m. UTC | #3
On Tue, Nov 24, 2020 at 02:39:45PM +0100, Christoph Hellwig wrote:
> On Fri, Oct 30, 2020 at 08:49:50PM +0200, Andy Shevchenko wrote:
> > diff --git a/include/uapi/linux/uuid.h b/include/uapi/linux/uuid.h
> > index e5a7eecef7c3..c3e175f686f4 100644
> > --- a/include/uapi/linux/uuid.h
> > +++ b/include/uapi/linux/uuid.h
> > @@ -1,6 +1,6 @@
> >  /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> >  /*
> > - * UUID/GUID definition
> > + * MEI UUID definition
> >   *
> >   * Copyright (C) 2010, Intel Corp.
> >   *	Huang Ying <ying.huang@intel.com>
> > @@ -22,21 +22,17 @@
> >  
> >  typedef struct {
> >  	__u8 b[16];
> > -} guid_t;
> > +} uuid_le;
> 
> IMHO we should kill this header entirely and move the definition to
> <uapi/linux/mei.h> under a new name so that no one picks up the
> definition by accident.

I would like to do that in a separate series. Here I don't change the status
quo about using it, but for moving it will require to touch MEI code.
Christoph Hellwig Nov. 24, 2020, 2:38 p.m. UTC | #4
On Tue, Nov 24, 2020 at 04:07:45PM +0200, Andy Shevchenko wrote:
> > 
> > IMHO we should kill this header entirely and move the definition to
> > <uapi/linux/mei.h> under a new name so that no one picks up the
> > definition by accident.
> 
> I would like to do that in a separate series. Here I don't change the status
> quo about using it, but for moving it will require to touch MEI code.

Maybe just keep a dummy empty uapi/linux/uuid.h if that is so much
of a problem.
diff mbox series

Patch

diff --git a/include/linux/uuid.h b/include/linux/uuid.h
index 8cdc0d3567cd..5be158a49e11 100644
--- a/include/linux/uuid.h
+++ b/include/linux/uuid.h
@@ -8,15 +8,25 @@ 
 #ifndef _LINUX_UUID_H_
 #define _LINUX_UUID_H_
 
-#include <uapi/linux/uuid.h>
 #include <linux/string.h>
 
 #define UUID_SIZE 16
 
+typedef struct {
+	__u8 b[UUID_SIZE];
+} guid_t;
+
 typedef struct {
 	__u8 b[UUID_SIZE];
 } uuid_t;
 
+#define GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)			\
+((guid_t)								\
+{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
+   (b) & 0xff, ((b) >> 8) & 0xff,					\
+   (c) & 0xff, ((c) >> 8) & 0xff,					\
+   (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
+
 #define UUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)			\
 ((uuid_t)								\
 {{ ((a) >> 24) & 0xff, ((a) >> 16) & 0xff, ((a) >> 8) & 0xff, (a) & 0xff, \
@@ -97,10 +107,12 @@  extern const u8 uuid_index[16];
 int guid_parse(const char *uuid, guid_t *u);
 int uuid_parse(const char *uuid, uuid_t *u);
 
-/* backwards compatibility, don't use in new code */
-static inline int uuid_le_cmp(const guid_t u1, const guid_t u2)
+/* MEI UUID type, don't use anywhere else */
+#include <uapi/linux/uuid.h>
+
+static inline int uuid_le_cmp(const uuid_le u1, const uuid_le u2)
 {
-	return memcmp(&u1, &u2, sizeof(guid_t));
+	return memcmp(&u1, &u2, sizeof(uuid_le));
 }
 
 #endif
diff --git a/include/uapi/linux/uuid.h b/include/uapi/linux/uuid.h
index e5a7eecef7c3..c3e175f686f4 100644
--- a/include/uapi/linux/uuid.h
+++ b/include/uapi/linux/uuid.h
@@ -1,6 +1,6 @@ 
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 /*
- * UUID/GUID definition
+ * MEI UUID definition
  *
  * Copyright (C) 2010, Intel Corp.
  *	Huang Ying <ying.huang@intel.com>
@@ -22,21 +22,17 @@ 
 
 typedef struct {
 	__u8 b[16];
-} guid_t;
+} uuid_le;
 
-#define GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)			\
-((guid_t)								\
+#define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)		\
+((uuid_le)								\
 {{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
    (b) & 0xff, ((b) >> 8) & 0xff,					\
    (c) & 0xff, ((c) >> 8) & 0xff,					\
    (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
 
-/* backwards compatibility, don't use in new code */
-typedef guid_t uuid_le;
-#define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)		\
-	GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)
 #define NULL_UUID_LE							\
 	UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00,	\
-	     0x00, 0x00, 0x00, 0x00)
+		0x00, 0x00, 0x00, 0x00)
 
 #endif /* _UAPI_LINUX_UUID_H_ */