From a97015c9e99d8421b80cdf9652a456f4cd93fc1e Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan@hovoldconsulting.com>
Date: Wed, 25 Nov 2015 15:59:01 +0100
Subject: [PATCH] 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>
---
 .../staging/greybus/Documentation/sysfs-bus-greybus    |  7 +++++++
 drivers/staging/greybus/bundle.c                       | 10 ++++++++++
 2 files changed, 17 insertions(+)

diff --git a/drivers/staging/greybus/Documentation/sysfs-bus-greybus b/drivers/staging/greybus/Documentation/sysfs-bus-greybus
index 88ed2d8905cce..9329a31647cd7 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 61c9a6d68561a..f746438bc9625 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,
 };
-- 
2.30.2