diff options
author | Alex Dubov <oakad@yahoo.com> | 2007-04-12 16:59:20 +1000 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-05-01 13:04:14 +0200 |
commit | 4e64f223857b138e3474bedc967d51db25c414b3 (patch) | |
tree | 002cadb95b16ff082c999ea931318c6c662ef494 /drivers/misc | |
parent | 88de1b2fed2bbe9eb1b7310195be84cf143efb4f (diff) | |
download | linux-stable-4e64f223857b138e3474bedc967d51db25c414b3.tar.gz linux-stable-4e64f223857b138e3474bedc967d51db25c414b3.tar.bz2 linux-stable-4e64f223857b138e3474bedc967d51db25c414b3.zip |
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')
-rw-r--r-- | drivers/misc/tifm_core.c | 27 |
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) |