Browse Source

tifm: add sysfs attribute for tifm devices

A sysfs attribute reflecting current media type is added.

Signed-off-by: Alex Dubov <oakad@yahoo.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Alex Dubov 18 years ago
parent
commit
4e64f22385
1 changed files with 20 additions and 7 deletions
  1. 20 7
      drivers/misc/tifm_core.c

+ 20 - 7
drivers/misc/tifm_core.c

@@ -142,14 +142,27 @@ static int tifm_device_resume(struct device *dev)
 
 #endif /* CONFIG_PM */
 
+static ssize_t type_show(struct device *dev, struct device_attribute *attr,
+			 char *buf)
+{
+	struct tifm_dev *sock = container_of(dev, struct tifm_dev, dev);
+	return sprintf(buf, "%x", sock->type);
+}
+
+static struct device_attribute tifm_dev_attrs[] = {
+	__ATTR(type, S_IRUGO, type_show, NULL),
+	__ATTR_NULL
+};
+
 static struct bus_type tifm_bus_type = {
-	.name    = "tifm",
-	.match   = tifm_bus_match,
-	.uevent  = tifm_uevent,
-	.probe   = tifm_device_probe,
-	.remove  = tifm_device_remove,
-	.suspend = tifm_device_suspend,
-	.resume  = tifm_device_resume
+	.name           = "tifm",
+	.dev_attrs      = tifm_dev_attrs,
+	.match          = tifm_bus_match,
+	.uevent         = tifm_uevent,
+	.probe          = tifm_device_probe,
+	.remove         = tifm_device_remove,
+	.suspend        = tifm_device_suspend,
+	.resume         = tifm_device_resume
 };
 
 static void tifm_free(struct class_device *cdev)