From 0cd89cf8dc6e649fb8b8b5c72850e7050e7d640e Mon Sep 17 00:00:00 2001 From: Dongjin Kim Date: Tue, 29 Jan 2019 03:18:06 +0900 Subject: [PATCH] ODROID-COMMON: efuse: fix to print true UUID from /sys/class/efuse/uuid Change-Id: Ic27fcef584be7a05ff384fa7cd350c34fdf9315c Signed-off-by: Dongjin Kim --- drivers/amlogic/efuse/efuse64.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/amlogic/efuse/efuse64.c b/drivers/amlogic/efuse/efuse64.c index 10fe93b145fa..ed4e2f9414f8 100644 --- a/drivers/amlogic/efuse/efuse64.c +++ b/drivers/amlogic/efuse/efuse64.c @@ -482,12 +482,20 @@ ssize_t efuse_user_attr_show(char *name, char *buf) pr_err("ERROR: read %zd byte(s) not %d byte(s) data\n", ret, info.size); - for (i = 0; i < info.size; i++) { - if (i%16 == 0) - len += sprintf(buf + len, "\n"); - if (i%16 == 0) - len += sprintf(buf + len, "0x%02x: ", i); - len += sprintf(buf + len, "%02x ", local_buf[i]); + if (strcmp(name, "uuid")) { + for (i = 0; i < info.size; i++) { + if (i%16 == 0) + len += sprintf(buf + len, "\n"); + if (i%16 == 0) + len += sprintf(buf + len, "0x%02x: ", i); + len += sprintf(buf + len, "%02x ", local_buf[i]); + } + } else { + for (i = 0; i < info.size; i++) { + if ((i == 8) || (i == 12) || (i == 16) || (i == 20)) + len += sprintf(buf + len, "-"); + len += sprintf(buf + len, "%c", local_buf[i]); + } } len += sprintf(buf + len, "\n"); ret = len;