From: Andy Shevchenko <andriy.shevche...@linux.intel.com>

It appears that uuid_t use in STM code abuses UUID API. Moreover,
this type is only useful when we parse user input. Due to above
replace uuid_t with u8 uuid[16] and use uuid_t only when parse
user input.

Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
Signed-off-by: Alexander Shishkin <alexander.shish...@linux.intel.com>
---
 drivers/hwtracing/stm/p_sys-t.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/drivers/hwtracing/stm/p_sys-t.c b/drivers/hwtracing/stm/p_sys-t.c
index 360b5c03df95..04d13b3785d3 100644
--- a/drivers/hwtracing/stm/p_sys-t.c
+++ b/drivers/hwtracing/stm/p_sys-t.c
@@ -76,7 +76,7 @@ enum sys_t_message_string_subtype {
                                 MIPI_SYST_SEVERITY(MAX))
 
 struct sys_t_policy_node {
-       uuid_t          uuid;
+       u8              uuid[UUID_SIZE];
        bool            do_len;
        unsigned long   ts_interval;
        unsigned long   clocksync_interval;
@@ -92,7 +92,7 @@ static void sys_t_policy_node_init(void *priv)
 {
        struct sys_t_policy_node *pn = priv;
 
-       generate_random_uuid(pn->uuid.b);
+       generate_random_uuid(pn->uuid);
 }
 
 static int sys_t_output_open(void *priv, struct stm_output *output)
@@ -120,7 +120,7 @@ static ssize_t sys_t_policy_uuid_show(struct config_item 
*item,
 {
        struct sys_t_policy_node *pn = to_pdrv_policy_node(item);
 
-       return sprintf(page, "%pU\n", &pn->uuid);
+       return sprintf(page, "%pU\n", pn->uuid);
 }
 
 static ssize_t
@@ -129,13 +129,17 @@ sys_t_policy_uuid_store(struct config_item *item, const 
char *page,
 {
        struct mutex *mutexp = &item->ci_group->cg_subsys->su_mutex;
        struct sys_t_policy_node *pn = to_pdrv_policy_node(item);
+       uuid_t uuid;
        int ret;
 
        mutex_lock(mutexp);
-       ret = uuid_parse(page, &pn->uuid);
+       ret = uuid_parse(page, &uuid);
        mutex_unlock(mutexp);
+       if (ret)
+               return ret;
 
-       return ret < 0 ? ret : count;
+       export_uuid(pn->uuid, &uuid);
+       return count;
 }
 
 CONFIGFS_ATTR(sys_t_policy_, uuid);
@@ -322,7 +326,7 @@ static ssize_t sys_t_write(struct stm_data *data, struct 
stm_output *output,
                return sz;
 
        /* GUID */
-       sz = stm_data_write(data, m, c, false, op->node.uuid.b, UUID_SIZE);
+       sz = stm_data_write(data, m, c, false, op->node.uuid, 
sizeof(op->node.uuid));
        if (sz <= 0)
                return sz;
 
-- 
2.30.2

Reply via email to