--- v3
+++ v5
@@ -1,57 +1,32 @@
-The normal messages sent after boot or NVRAM update are T6 reports,
-containing a status, and the config memory checksum. Parse them and dump
-a useful info message.
-
-This patch tested on an MXT224E.
+Print unsigned values as '%u'.
+Also, parse and print the firmware version in its canonical format, as
+suggested by Nick Dyer.
Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
---
- drivers/input/touchscreen/atmel_mxt_ts.c | 11 +++++++++++
- 1 files changed, 11 insertions(+), 0 deletions(-)
+ drivers/input/touchscreen/atmel_mxt_ts.c | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
-index 6077b7c..0590312 100644
+index 07e0238..be7da72 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
-@@ -247,6 +247,7 @@ struct mxt_data {
- unsigned int max_y;
+@@ -855,12 +855,12 @@ static int mxt_initialize(struct mxt_data *data)
+ info->matrix_ysize = val;
- /* Cached parameters from object table */
-+ u8 T6_reportid;
- u8 T9_reportid_min;
- u8 T9_reportid_max;
- };
-@@ -560,6 +561,12 @@ static irqreturn_t mxt_interrupt(int irq, void *dev_id)
- message.reportid <= data->T9_reportid_max) {
- mxt_input_touch(data, &message);
- update_input = true;
-+ } else if (message.reportid == data->T6_reportid) {
-+ unsigned csum = message.message[1] |
-+ (message.message[2] << 8) |
-+ (message.message[3] << 16);
-+ dev_info(dev, "Status: %02x Config Checksum: %06x\n",
-+ message.message[0], csum);
- } else {
- mxt_dump_message(dev, &message);
- }
-@@ -689,6 +696,7 @@ static int mxt_get_object_table(struct mxt_data *data)
- size_t table_size;
+ dev_info(&client->dev,
+- "Family ID: %d Variant ID: %d Version: %d Build: %d\n",
+- info->family_id, info->variant_id, info->version,
+- info->build);
++ "Family ID: %u Variant ID: %u Major.Minor.Build: %u.%u.%02X\n",
++ info->family_id, info->variant_id, info->version >> 4,
++ info->version & 0xf, info->build);
- /* Initialized cached object fields to 0 */
-+ data->T6_reportid = 0;
- data->T9_reportid_min = 0;
- data->T9_reportid_max = 0;
+ dev_info(&client->dev,
+- "Matrix X Size: %d Matrix Y Size: %d Object Num: %d\n",
++ "Matrix X Size: %u Matrix Y Size: %u Object Num: %u\n",
+ info->matrix_xsize, info->matrix_ysize,
+ info->object_num);
-@@ -728,6 +736,9 @@ static int mxt_get_object_table(struct mxt_data *data)
- object->instances + 1, min_id, max_id);
-
- switch (object->type) {
-+ case MXT_GEN_COMMAND_T6:
-+ data->T6_reportid = min_id;
-+ break;
- case MXT_TOUCH_MULTI_T9:
- data->T9_reportid_min = min_id;
- data->T9_reportid_max = max_id;
--
1.7.7.3
-