staging/iio: iio_hwmon: Use device tree node name for hwmon name attribute
authorGuenter Roeck <linux@roeck-us.net>
Wed, 20 Mar 2013 15:52:00 +0000 (15:52 +0000)
committerJonathan Cameron <jic23@kernel.org>
Wed, 20 Mar 2013 21:37:59 +0000 (21:37 +0000)
So far, all instances of iio_hwmon set their hwmon name attribute
to "iio_hwmon", which is not very descriptive. Set it to the device tree
node name if available, and only revert to iio_hwmon otherwise.

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/staging/iio/iio_hwmon.c

index 93af756..aafa453 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/err.h>
 #include <linux/platform_device.h>
 #include <linux/hwmon.h>
+#include <linux/of.h>
 #include <linux/hwmon-sysfs.h>
 #include <linux/iio/consumer.h>
 #include <linux/iio/types.h>
@@ -58,7 +59,12 @@ static ssize_t iio_hwmon_read_val(struct device *dev,
 static ssize_t show_name(struct device *dev, struct device_attribute *attr,
                         char *buf)
 {
-       return sprintf(buf, "iio_hwmon\n");
+       const char *name = "iio_hwmon";
+
+       if (dev->of_node && dev->of_node->name)
+               name = dev->of_node->name;
+
+       return sprintf(buf, "%s\n", name);
 }
 
 static DEVICE_ATTR(name, S_IRUGO, show_name, NULL);