+static const char *gb_interface_type_string(struct gb_interface *intf)
+{
+ static const char * const types[] = {
+ [GB_SVC_INTF_TYPE_UNKNOWN] = "unknown",
+ [GB_SVC_INTF_TYPE_DUMMY] = "dummy",
+ [GB_SVC_INTF_TYPE_UNIPRO] = "unipro",
+ [GB_SVC_INTF_TYPE_GREYBUS] = "greybus",
+ };
+
+ return types[intf->type];
+}
+
+static ssize_t interface_type_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct gb_interface *intf = to_gb_interface(dev);
+
+ return sprintf(buf, "%s\n", gb_interface_type_string(intf));
+}
+static DEVICE_ATTR_RO(interface_type);
+