From bbd1494580462fa35bdd2073dba3902fb53981bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= <krh@redhat.com>
Date: Tue, 20 Mar 2007 20:58:35 -0400
Subject: [PATCH] firewire: Export GUID as sysfs attribute.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
---
 drivers/firewire/fw-device.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/firewire/fw-device.c b/drivers/firewire/fw-device.c
index 71bb9d1e8196..2bf86aa1c9bc 100644
--- a/drivers/firewire/fw-device.c
+++ b/drivers/firewire/fw-device.c
@@ -348,8 +348,7 @@ static struct device_attribute fw_unit_attributes[] = {
 };
 
 static ssize_t
-config_rom_show(struct device *dev,
-		struct device_attribute *attr, char *buf)
+config_rom_show(struct device *dev, struct device_attribute *attr, char *buf)
 {
 	struct fw_device *device = fw_device(dev);
 
@@ -358,8 +357,20 @@ config_rom_show(struct device *dev,
 	return device->config_rom_length * 4;
 }
 
+static ssize_t
+guid_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
+	struct fw_device *device = fw_device(dev);
+	u64 guid;
+
+	guid = ((u64)device->config_rom[3] << 32) | device->config_rom[4];
+
+	return snprintf(buf, PAGE_SIZE, "0x%016llx\n", guid);
+}
+
 static struct device_attribute fw_device_attributes[] = {
 	__ATTR_RO(config_rom),
+	__ATTR_RO(guid),
 	__ATTR_NULL,
 };
 
-- 
GitLab