summaryrefslogtreecommitdiff
path: root/drivers/misc/tifm_core.c
diff options
context:
space:
mode:
authorAlex Dubov <oakad@yahoo.com>2007-04-12 10:59:20 +0400
committerPierre Ossman <drzeus@drzeus.cx>2007-05-01 15:04:14 +0400
commit4e64f223857b138e3474bedc967d51db25c414b3 (patch)
tree002cadb95b16ff082c999ea931318c6c662ef494 /drivers/misc/tifm_core.c
parent88de1b2fed2bbe9eb1b7310195be84cf143efb4f (diff)
downloadlinux-4e64f223857b138e3474bedc967d51db25c414b3.tar.xz
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>
Diffstat (limited to 'drivers/misc/tifm_core.c')
-rw-r--r--drivers/misc/tifm_core.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/drivers/misc/tifm_core.c b/drivers/misc/tifm_core.c
index 1e591989835d..70220beb3e04 100644
--- a/drivers/misc/tifm_core.c
+++ b/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)