On 08/26/2010 06:54 AM, Rafi Rubin wrote: > Signed-off-by: Rafi Rubin <rafi@xxxxxxxxxxxxxx> > --- > 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. > + > + 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 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html