greybus: interface: Prefix hexadecimal values with '0x'

In order to clearly specify the base of values printed using sysfs
files, prefix hexadecimal values with '0x'. Also force the minimum width
(to be printed) for hexadecimal values to their sizes.

To make it more readable make the second argument to gb_interface_attr()
a proper string.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
diff --git a/drivers/staging/greybus/interface.c b/drivers/staging/greybus/interface.c
index ecc64be..c43992d 100644
--- a/drivers/staging/greybus/interface.c
+++ b/drivers/staging/greybus/interface.c
@@ -16,15 +16,15 @@
 			    char *buf)					\
 {									\
 	struct gb_interface *intf = to_gb_interface(dev);		\
-	return scnprintf(buf, PAGE_SIZE, "%"#type"\n", intf->field);	\
+	return scnprintf(buf, PAGE_SIZE, type"\n", intf->field);	\
 }									\
 static DEVICE_ATTR_RO(field)
 
-gb_interface_attr(interface_id, u);
-gb_interface_attr(vendor_id, x);
-gb_interface_attr(product_id, x);
-gb_interface_attr(vendor_string, s);
-gb_interface_attr(product_string, s);
+gb_interface_attr(interface_id, "%u");
+gb_interface_attr(vendor_id, "0x%08x");
+gb_interface_attr(product_id, "0x%08x");
+gb_interface_attr(vendor_string, "%s");
+gb_interface_attr(product_string, "%s");
 
 static struct attribute *interface_attrs[] = {
 	&dev_attr_interface_id.attr,