[PATCH 4/4] firmware sysfs node

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Rafi Rubin
Date: Wednesday, August 25, 2010 - 9:54 pm

Signed-off-by: Rafi Rubin <rafi@seas.upenn.edu>
---
 drivers/hid/hid-ntrig.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/drivers/hid/hid-ntrig.c b/drivers/hid/hid-ntrig.c
index ab0ca7f..e341e88 100644
--- a/drivers/hid/hid-ntrig.c
+++ b/drivers/hid/hid-ntrig.c
@@ -375,6 +375,26 @@ static ssize_t set_deactivate_slack(struct device *dev,
 static DEVICE_ATTR(deactivate_slack, S_IWUSR | S_IRUGO, show_deactivate_slack,
 		   set_deactivate_slack);
 
+static ssize_t show_firmware(struct device *dev,
+			       struct device_attribute *attr,
+			       char *buf)
+{
+	struct hid_device *hdev = container_of(dev, struct hid_device, dev);
+	struct ntrig_data *nd = hid_get_drvdata(hdev);
+
+	if (!(nd->firmware_version[0] || nd->firmware_version[1] ||
+	      nd->firmware_version[2] || nd->firmware_version[3]))
+		return sprintf(buf, "Firmware version unavailable");
+
+	ntrig_version_string(nd->firmware_version, buf);
+
+	return sprintf(buf, "%s (%02x%02x %02x%02x)\n", buf,
+		       nd->firmware_version[0], nd->firmware_version[1],
+		       nd->firmware_version[2], nd->firmware_version[3]);
+}
+
+static DEVICE_ATTR(firmware, S_IRUGO, show_firmware, NULL);
+
 static struct attribute *sysfs_attrs[] = {
 	&dev_attr_sensor_physical_width.attr,
 	&dev_attr_sensor_physical_height.attr,
@@ -386,6 +406,7 @@ static struct attribute *sysfs_attrs[] = {
 	&dev_attr_activation_width.attr,
 	&dev_attr_activation_height.attr,
 	&dev_attr_deactivate_slack.attr,
+	&dev_attr_firmware.attr,
 	NULL
 };
 
-- 
1.7.1

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
hid-ntrig documentation and firmware id, Rafi Rubin, (Wed Aug 25, 9:54 pm)
[PATCH 1/4] Adding documention, Rafi Rubin, (Wed Aug 25, 9:54 pm)
[PATCH 2/4] a bit of whitespace cleanup, Rafi Rubin, (Wed Aug 25, 9:54 pm)
[PATCH 3/4] identify firmware version, Rafi Rubin, (Wed Aug 25, 9:54 pm)
[PATCH 4/4] firmware sysfs node, Rafi Rubin, (Wed Aug 25, 9:54 pm)
Re: [PATCH 3/4] identify firmware version, Henrik Rydberg, (Fri Aug 27, 5:01 am)
Re: [PATCH 1/4] Adding documention, Henrik Rydberg, (Fri Aug 27, 5:06 am)
Re: [PATCH 4/4] firmware sysfs node, Henrik Rydberg, (Fri Aug 27, 5:09 am)
Re: [PATCH 4/4] firmware sysfs node, Dmitry Torokhov, (Fri Aug 27, 9:34 am)
Re: [PATCH 1/4] Adding documention, Rafi Rubin, (Sun Aug 29, 12:52 pm)
Re: [PATCH 3/4] identify firmware version, Rafi Rubin, (Sun Aug 29, 12:55 pm)
Re: [PATCH 1/4] Adding documention, Jiri Kosina, (Mon Aug 30, 6:25 am)
Re: [PATCH 4/4] firmware sysfs node, Rafi Rubin, (Mon Aug 30, 7:06 pm)
Re: [PATCH 4/4] firmware sysfs node, Dmitry Torokhov, (Tue Aug 31, 7:06 pm)
[PATCH] identify firmware version, Rafi Rubin, (Wed Sep 1, 2:48 am)
Re: [PATCH] identify firmware version, Rafi Rubin, (Wed Sep 1, 3:04 am)
Re: [PATCH] identify firmware version, Henrik Rydberg, (Wed Sep 1, 5:27 am)
Re: [PATCH] identify firmware version, Jiri Slaby, (Wed Sep 1, 1:12 pm)
Re: [PATCH] identify firmware version, Rafi Rubin, (Wed Sep 1, 5:12 pm)
Re: [PATCH] identify firmware version, Jiri Slaby, (Thu Sep 2, 1:03 am)
Re: [PATCH] identify firmware version, Rafi Rubin, (Thu Sep 2, 11:00 am)
Re: [PATCH] identify firmware version, Rafi Rubin, (Thu Sep 2, 11:11 am)
[PATCH] identify firmware version, Rafi Rubin, (Mon Sep 6, 9:42 am)
Re: [PATCH] identify firmware version, Dmitry Torokhov, (Mon Sep 6, 12:48 pm)
Re: [PATCH] identify firmware version, Jiri Slaby, (Mon Sep 6, 2:22 pm)
Re: [PATCH] identify firmware version, Rafi Rubin, (Mon Sep 6, 4:32 pm)
Re: [PATCH] identify firmware version, Dmitry Torokhov, (Mon Sep 6, 4:36 pm)
Re: [PATCH] identify firmware version, Jiri Slaby, (Mon Sep 6, 11:54 pm)
Re: [PATCH] identify firmware version, Jiri Kosina, (Wed Sep 8, 2:47 am)
Re: [PATCH] identify firmware version, Rafi Rubin, (Wed Sep 8, 8:42 am)