summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus
diff options
context:
space:
mode:
authorJohan Hovold2015-11-25 15:59:01 +0100
committerGreg Kroah-Hartman2015-11-26 00:27:06 +0100
commita97015c9e99d8421b80cdf9652a456f4cd93fc1e (patch)
tree6bf1367f603b3e9696e5d900d7f22cad8a155429 /drivers/staging/greybus
parentgreybus: bundle: use hexadecimal notation for class attribute (diff)
downloadkernel-qcow2-linux-a97015c9e99d8421b80cdf9652a456f4cd93fc1e.tar.gz
kernel-qcow2-linux-a97015c9e99d8421b80cdf9652a456f4cd93fc1e.tar.xz
kernel-qcow2-linux-a97015c9e99d8421b80cdf9652a456f4cd93fc1e.zip
greybus: bundle: add bundle_id attribute
Add a bundle_id attribute for the interface-unique id of a bundle that user space can use for matching. Signed-off-by: Johan Hovold <johan@hovoldconsulting.com> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus')
-rw-r--r--drivers/staging/greybus/Documentation/sysfs-bus-greybus7
-rw-r--r--drivers/staging/greybus/bundle.c10
2 files changed, 17 insertions, 0 deletions
diff --git a/drivers/staging/greybus/Documentation/sysfs-bus-greybus b/drivers/staging/greybus/Documentation/sysfs-bus-greybus
index 88ed2d8905cc..9329a31647cd 100644
--- a/drivers/staging/greybus/Documentation/sysfs-bus-greybus
+++ b/drivers/staging/greybus/Documentation/sysfs-bus-greybus
@@ -104,6 +104,13 @@ Contact: Greg Kroah-Hartman <greg@kroah.com>
Description:
The greybus class of the bundle B.
+What: /sys/bus/greybus/device/N-I.B/bundle_id
+Date: October 2015
+KernelVersion: 4.XX
+Contact: Greg Kroah-Hartman <greg@kroah.com>
+Description:
+ The interface-unique id of the bundle B.
+
What: /sys/bus/greybus/device/N-I.B/state
Date: October 2015
KernelVersion: 4.XX
diff --git a/drivers/staging/greybus/bundle.c b/drivers/staging/greybus/bundle.c
index 61c9a6d68561..f746438bc962 100644
--- a/drivers/staging/greybus/bundle.c
+++ b/drivers/staging/greybus/bundle.c
@@ -18,6 +18,15 @@ static ssize_t bundle_class_show(struct device *dev,
}
static DEVICE_ATTR_RO(bundle_class);
+static ssize_t bundle_id_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct gb_bundle *bundle = to_gb_bundle(dev);
+
+ return sprintf(buf, "%u\n", bundle->id);
+}
+static DEVICE_ATTR_RO(bundle_id);
+
static ssize_t state_show(struct device *dev, struct device_attribute *attr,
char *buf)
{
@@ -49,6 +58,7 @@ static DEVICE_ATTR_RW(state);
static struct attribute *bundle_attrs[] = {
&dev_attr_bundle_class.attr,
+ &dev_attr_bundle_id.attr,
&dev_attr_state.attr,
NULL,
};