From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755045AbbHNNFt (ORCPT ); Fri, 14 Aug 2015 09:05:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:37944 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754890AbbHNNFr (ORCPT ); Fri, 14 Aug 2015 09:05:47 -0400 From: Prarit Bhargava To: linux-kernel@vger.kernel.org Cc: Prarit Bhargava , Tomas Winkler , Greg Kroah-Hartman , Joe Perches , "David S. Miller" , Jiri Kosina , Sharon Dvir , "Suthikulpanit, Suravee" , Heikki Krogerus , James Hogan , Daniel Thompson , Michael Opdenacker , David Cohen , Felipe Balbi , Ralf Baechle Subject: [PATCH] mei, make modules.alias UUID information easier to read Date: Fri, 14 Aug 2015 09:05:40 -0400 Message-Id: <1439557540-1989-1-git-send-email-prarit@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2nd try on this ... P. ---8<--- scripts/mod/file2alias.c:add_uuid() munges a UUID into a single string which does not conform to the standard little endian UUID. This patch changes add_uuid() to use the UUID correctly so that future drivers which use UUID matches can simply use the %pUL format, and modifies the mei driver with those changes. Cc: Tomas Winkler Cc: Greg Kroah-Hartman Cc: Joe Perches Cc: "David S. Miller" Cc: Jiri Kosina Cc: Sharon Dvir Cc: "Suthikulpanit, Suravee" Cc: Heikki Krogerus Cc: James Hogan Cc: Daniel Thompson Cc: Michael Opdenacker Cc: David Cohen Cc: Felipe Balbi Cc: Ralf Baechle Signed-off-by: Prarit Bhargava --- drivers/misc/mei/bus.c | 6 ++---- include/linux/mod_devicetable.h | 4 ---- scripts/mod/file2alias.c | 9 ++++++--- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c index 458aa5a..457e132 100644 --- a/drivers/misc/mei/bus.c +++ b/drivers/misc/mei/bus.c @@ -141,8 +141,7 @@ static ssize_t modalias_show(struct device *dev, struct device_attribute *a, const uuid_le *uuid = mei_me_cl_uuid(device->me_cl); size_t len; - len = snprintf(buf, PAGE_SIZE, "mei:%s:" MEI_CL_UUID_FMT ":", - device->name, MEI_CL_UUID_ARGS(uuid->b)); + len = snprintf(buf, PAGE_SIZE, "mei:%s:%pUl:", device->name, uuid); return (len >= PAGE_SIZE) ? (PAGE_SIZE - 1) : len; } @@ -167,8 +166,7 @@ static int mei_cl_uevent(struct device *dev, struct kobj_uevent_env *env) if (add_uevent_var(env, "MEI_CL_NAME=%s", device->name)) return -ENOMEM; - if (add_uevent_var(env, "MODALIAS=mei:%s:" MEI_CL_UUID_FMT ":", - device->name, MEI_CL_UUID_ARGS(uuid->b))) + if (add_uevent_var(env, "MODALIAS=mei:%s:%pUl:", device->name, uuid)) return -ENOMEM; return 0; diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 34f25b7..becda6f 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -601,10 +601,6 @@ struct ipack_device_id { #define MEI_CL_MODULE_PREFIX "mei:" #define MEI_CL_NAME_SIZE 32 -#define MEI_CL_UUID_FMT "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x" -#define MEI_CL_UUID_ARGS(_u) \ - _u[0], _u[1], _u[2], _u[3], _u[4], _u[5], _u[6], _u[7], \ - _u[8], _u[9], _u[10], _u[11], _u[12], _u[13], _u[14], _u[15] /** * struct mei_cl_device_id - MEI client device identifier diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 5f20882..8a46c60 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -137,10 +137,13 @@ static inline void add_wildcard(char *str) static inline void add_uuid(char *str, uuid_le uuid) { int len = strlen(str); - int i; - for (i = 0; i < 16; i++) - sprintf(str + len + (i << 1), "%02x", uuid.b[i]); + sprintf(str + len, + "%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x", + uuid.b[3], uuid.b[2], uuid.b[1], uuid.b[0], + uuid.b[5], uuid.b[4], uuid.b[7], uuid.b[6], + uuid.b[8], uuid.b[9], uuid.b[10], uuid.b[11], + uuid.b[12], uuid.b[13], uuid.b[14], uuid.b[15]); } /** -- 1.7.9.3