From 0e9403a0fbf704b40ae80c2379b643caed924a5e Mon Sep 17 00:00:00 2001 From: Viresh Kumar Date: Tue, 22 Dec 2015 22:04:34 +0530 Subject: [PATCH] greybus: interface: Expose DDBL1 manufacturing and production id in sysfs These ids are already fetched from the SVC, but were never exposed to sysfs. Userspace may be interested in using these values and hence these must be exposed to it. Signed-off-by: Viresh Kumar Reviewed-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- .../greybus/Documentation/sysfs-bus-greybus | 16 ++++++++++++++++ .../sysfs/greybus1/1-2/ddbl1_manufacturer_id | 0 .../sysfs/greybus1/1-2/ddbl1_product_id | 0 .../sysfs/greybus1/1-4/ddbl1_manufacturer_id | 0 .../sysfs/greybus1/1-4/ddbl1_product_id | 0 .../sysfs/greybus2/2-3/ddbl1_manufacturer_id | 0 .../sysfs/greybus2/2-3/ddbl1_product_id | 0 drivers/staging/greybus/interface.c | 4 ++++ 8 files changed, 20 insertions(+) create mode 100644 drivers/staging/greybus/Documentation/sysfs/greybus1/1-2/ddbl1_manufacturer_id create mode 100644 drivers/staging/greybus/Documentation/sysfs/greybus1/1-2/ddbl1_product_id create mode 100644 drivers/staging/greybus/Documentation/sysfs/greybus1/1-4/ddbl1_manufacturer_id create mode 100644 drivers/staging/greybus/Documentation/sysfs/greybus1/1-4/ddbl1_product_id create mode 100644 drivers/staging/greybus/Documentation/sysfs/greybus2/2-3/ddbl1_manufacturer_id create mode 100644 drivers/staging/greybus/Documentation/sysfs/greybus2/2-3/ddbl1_product_id diff --git a/drivers/staging/greybus/Documentation/sysfs-bus-greybus b/drivers/staging/greybus/Documentation/sysfs-bus-greybus index a0363bfbdd4b..2cd17c706940 100644 --- a/drivers/staging/greybus/Documentation/sysfs-bus-greybus +++ b/drivers/staging/greybus/Documentation/sysfs-bus-greybus @@ -14,6 +14,22 @@ Description: An Interface I on the bus N, where I is the 1-byte interface ID. +What: /sys/bus/greybus/device/N-I/ddbl1_manufacturer_id +Date: October 2015 +KernelVersion: 4.XX +Contact: Greg Kroah-Hartman +Description: + Unipro Device Descriptor Block Level 1 manufacturer ID for the + greybus Interface. + +What: /sys/bus/greybus/device/N-I/ddbl1_product_id +Date: October 2015 +KernelVersion: 4.XX +Contact: Greg Kroah-Hartman +Description: + Unipro Device Descriptor Block Level 1 product ID for the + greybus Interface. + What: /sys/bus/greybus/device/N-I/interface_id Date: October 2015 KernelVersion: 4.XX diff --git a/drivers/staging/greybus/Documentation/sysfs/greybus1/1-2/ddbl1_manufacturer_id b/drivers/staging/greybus/Documentation/sysfs/greybus1/1-2/ddbl1_manufacturer_id new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/drivers/staging/greybus/Documentation/sysfs/greybus1/1-2/ddbl1_product_id b/drivers/staging/greybus/Documentation/sysfs/greybus1/1-2/ddbl1_product_id new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/drivers/staging/greybus/Documentation/sysfs/greybus1/1-4/ddbl1_manufacturer_id b/drivers/staging/greybus/Documentation/sysfs/greybus1/1-4/ddbl1_manufacturer_id new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/drivers/staging/greybus/Documentation/sysfs/greybus1/1-4/ddbl1_product_id b/drivers/staging/greybus/Documentation/sysfs/greybus1/1-4/ddbl1_product_id new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/drivers/staging/greybus/Documentation/sysfs/greybus2/2-3/ddbl1_manufacturer_id b/drivers/staging/greybus/Documentation/sysfs/greybus2/2-3/ddbl1_manufacturer_id new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/drivers/staging/greybus/Documentation/sysfs/greybus2/2-3/ddbl1_product_id b/drivers/staging/greybus/Documentation/sysfs/greybus2/2-3/ddbl1_product_id new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/drivers/staging/greybus/interface.c b/drivers/staging/greybus/interface.c index c43992d783f4..c4b9e1486828 100644 --- a/drivers/staging/greybus/interface.c +++ b/drivers/staging/greybus/interface.c @@ -20,6 +20,8 @@ static ssize_t field##_show(struct device *dev, \ } \ static DEVICE_ATTR_RO(field) +gb_interface_attr(ddbl1_manufacturer_id, "0x%08x"); +gb_interface_attr(ddbl1_product_id, "0x%08x"); gb_interface_attr(interface_id, "%u"); gb_interface_attr(vendor_id, "0x%08x"); gb_interface_attr(product_id, "0x%08x"); @@ -27,6 +29,8 @@ gb_interface_attr(vendor_string, "%s"); gb_interface_attr(product_string, "%s"); static struct attribute *interface_attrs[] = { + &dev_attr_ddbl1_manufacturer_id.attr, + &dev_attr_ddbl1_product_id.attr, &dev_attr_interface_id.attr, &dev_attr_vendor_id.attr, &dev_attr_product_id.attr,