Re: [PATCH 4/4] firmware sysfs node
flat view
From: Henrik Rydberg <hidden>
Date: 2010-08-27 12:09:33
Also in:
lkml
On 08/26/2010 06:54 AM, Rafi Rubin wrote:
quoted hunk ↗ jump to hunk
Signed-off-by: Rafi Rubin <redacted> --- 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");
If this sysfs node should really be added (see EVIO), it is probably better if it returns the same format for all devices. If all numbers are zero, that is understandable also by someone reading the node.
quoted hunk ↗ jump to hunk
+ + 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 };
Henrik