CHROMIUM: Input: atmel_mxt_ts - split hw_version from fw_version sysfs attribute
authorDaniel Kurtz <djkurtz@chromium.org>
Tue, 24 Apr 2012 05:20:23 +0000 (13:20 +0800)
committerGrant Grundler <grundler@google.com>
Thu, 24 May 2012 22:12:10 +0000 (15:12 -0700)
This driver's sysfs attribute is pretty dubious, however, for the fw & hw
version let's follow the 'one ASCII value per attribute' guidelines:
(For sysfs style, see Documentation/filesystems/sysfs.txt).

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
BUG=chrome-os-partner:8474
TEST=cat /sys/bus/i2c/drivers/atmel_mxt_ts/<bus>/hw_version
  # Confirm same as "Family ID: %d Variant ID: %d" in /var/log/messages
TEST=cat /sys/bus/i2c/drivers/atmel_mxt_ts/<bus>/fw_version
  # Compare same as "Major.Minor.Build: %d.%d.%d" in /var/log/messages

Change-Id: Ib751d0d15c9fa6a59cad2ce3b09564b4ebf216a7
Reviewed-on: https://gerrit.chromium.org/gerrit/20906
Commit-Ready: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
drivers/input/touchscreen/atmel_mxt_ts.c

index c54d4a6..83bc438 100644 (file)
@@ -965,17 +965,26 @@ static ssize_t mxt_calibrate_store(struct device *dev,
        return count;
 }
 
+/* Firmware Version is <Major>.<Minor>.<Build> */
 static ssize_t mxt_fw_version_show(struct device *dev,
                               struct device_attribute *attr, char *buf)
 {
        struct mxt_data *data = dev_get_drvdata(dev);
        struct mxt_info *info = &data->info;
-       return scnprintf(buf, PAGE_SIZE,
-                        "Family ID: %d Variant ID: %d Major.Minor.Build: %d.%d.%d\n",
-                        info->family_id, info->variant_id,
+       return scnprintf(buf, PAGE_SIZE, "%d.%d.%d\n",
                         info->version >> 4, info->version & 0xf, info->build);
 }
 
+/* Hardware Version is <FamilyID>.<VariantID> */
+static ssize_t mxt_hw_version_show(struct device *dev,
+                                  struct device_attribute *attr, char *buf)
+{
+       struct mxt_data *data = dev_get_drvdata(dev);
+       struct mxt_info *info = &data->info;
+       return scnprintf(buf, PAGE_SIZE, "%d.%d\n",
+                        info->family_id, info->variant_id);
+}
+
 static ssize_t mxt_object_show(struct device *dev,
                               struct device_attribute *attr, char *buf)
 {
@@ -1089,6 +1098,7 @@ static ssize_t mxt_update_fw_store(struct device *dev,
 static DEVICE_ATTR(backupnv, S_IWUSR, NULL, mxt_backupnv_store);
 static DEVICE_ATTR(calibrate, S_IWUSR, NULL, mxt_calibrate_store);
 static DEVICE_ATTR(fw_version, S_IRUGO, mxt_fw_version_show, NULL);
+static DEVICE_ATTR(hw_version, S_IRUGO, mxt_hw_version_show, NULL);
 static DEVICE_ATTR(object, S_IRUGO | S_IWUSR, mxt_object_show,
                   mxt_object_store);
 static DEVICE_ATTR(update_fw, S_IWUSR, NULL, mxt_update_fw_store);
@@ -1097,6 +1107,7 @@ static struct attribute *mxt_attrs[] = {
        &dev_attr_backupnv.attr,
        &dev_attr_calibrate.attr,
        &dev_attr_fw_version.attr,
+       &dev_attr_hw_version.attr,
        &dev_attr_object.attr,
        &dev_attr_update_fw.attr,
        NULL