@@ -3124,6 +3124,15 @@ static int mxt_configure_objects(struct mxt_data *data,
return error;
}
+/* Configuration crc check sum is returned as hex xxxxxx */
+static ssize_t config_crc_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct mxt_data *data = dev_get_drvdata(dev);
+
+ return scnprintf(buf, PAGE_SIZE, "%06x\n", data->config_crc);
+}
+
/* Firmware Version is returned as Major.Minor.Build */
static ssize_t fw_version_show(struct device *dev,
struct device_attribute *attr, char *buf)
@@ -3477,12 +3486,14 @@ static DEVICE_ATTR_RO(fw_version);
static DEVICE_ATTR_RO(hw_version);
static DEVICE_ATTR(object, S_IRUGO, mxt_object_show, NULL);
static DEVICE_ATTR_WO(update_cfg);
+static DEVICE_ATTR_RO(config_crc);
static struct attribute *mxt_attrs[] = {
&dev_attr_fw_version.attr,
&dev_attr_hw_version.attr,
&dev_attr_object.attr,
&dev_attr_update_cfg.attr,
+ &dev_attr_config_crc.attr,
NULL
};