summaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/fw-device.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/firewire/fw-device.c b/drivers/firewire/fw-device.c
index 71bb9d1e819..2bf86aa1c9b 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,
};