]> rtime.felk.cvut.cz Git - linux-imx.git/commitdiff
firewire: core: add is_local sysfs device attribute
authorClemens Ladisch <clemens@ladisch.de>
Sun, 17 Jun 2012 14:40:36 +0000 (16:40 +0200)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Sat, 30 Jun 2012 08:49:06 +0000 (10:49 +0200)
Making this information available in sysfs allows to differentiate
between controllers in the local and remote Linux PCs, and thus is
useful for servers that are started with udev rules.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/core-device.c
include/linux/firewire.h

index 4d460ef871610d6309a47561bf0c531344e2b7cd..7a05fd24d68b9c126719ac320620dee9343f49a4 100644 (file)
@@ -398,6 +398,14 @@ static ssize_t guid_show(struct device *dev,
        return ret;
 }
 
+static ssize_t is_local_show(struct device *dev,
+                            struct device_attribute *attr, char *buf)
+{
+       struct fw_device *device = fw_device(dev);
+
+       return sprintf(buf, "%u\n", device->is_local);
+}
+
 static int units_sprintf(char *buf, const u32 *directory)
 {
        struct fw_csr_iterator ci;
@@ -447,6 +455,7 @@ static ssize_t units_show(struct device *dev,
 static struct device_attribute fw_device_attributes[] = {
        __ATTR_RO(config_rom),
        __ATTR_RO(guid),
+       __ATTR_RO(is_local),
        __ATTR_RO(units),
        __ATTR_NULL,
 };
index d77f60c6d1edf753e646e6604ada288a251b06e3..cb2445e2e10e06d6e505cd2cedd368839f95e309 100644 (file)
@@ -138,7 +138,7 @@ struct fw_card {
 struct fw_attribute_group {
        struct attribute_group *groups[2];
        struct attribute_group group;
-       struct attribute *attrs[12];
+       struct attribute *attrs[13];
 };
 
 enum fw_device_state {