uuid: Decouple guid_t and uuid_le types and respective macros
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 24 Jan 2023 13:38:38 +0000 (15:38 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Jan 2023 14:57:19 +0000 (15:57 +0100)
The guid_t type and respective macros are being used internally only.
The uuid_le has its user outside the kernel. Decouple these types and
macros, and make guid_t completely internal type to the kernel.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230124133838.22645-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
MAINTAINERS
include/linux/uuid.h
include/uapi/linux/uuid.h

index 1397e8db4cf16e8adc1d91cddbae55591b58a029..1f61dc5c7847a0b126aa316fe428aa1a125760c6 100644 (file)
@@ -10566,6 +10566,7 @@ F:      drivers/watchdog/mei_wdt.c
 F:     include/linux/mei_aux.h
 F:     include/linux/mei_cl_bus.h
 F:     include/uapi/linux/mei.h
+F:     include/uapi/linux/uuid.h
 F:     samples/mei/*
 
 INTEL MAX 10 BMC MFD DRIVER
@@ -21829,7 +21830,6 @@ L:      linux-kernel@vger.kernel.org
 S:     Maintained
 T:     git git://git.infradead.org/users/hch/uuid.git
 F:     include/linux/uuid.h
-F:     include/uapi/linux/uuid.h
 F:     lib/test_uuid.c
 F:     lib/uuid.c
 
index 8cdc0d3567cddc4ec33c7ef3dd468ddd11421f4e..5be158a49e11f417e749a1d8f0667c83c16d1410 100644 (file)
@@ -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
index c0f4bd9b040edfef983d2cb8a3e85196eda1e195..96ac684a4b2f3c9705be994f4a621512153f69b3 100644 (file)
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 /* DO NOT USE in new code! This is solely for MEI due to legacy reasons */
 /*
- * UUID/GUID definition
+ * MEI UUID definition
  *
  * Copyright (C) 2010, Intel Corp.
  *     Huang Ying <ying.huang@intel.com>
 
 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)