Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758171Ab2FZG73 (ORCPT ); Tue, 26 Jun 2012 02:59:29 -0400 Received: from mail-ey0-f202.google.com ([209.85.215.202]:57132 "EHLO mail-ey0-f202.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757395Ab2FZG5V (ORCPT ); Tue, 26 Jun 2012 02:57:21 -0400 From: Daniel Kurtz To: Dmitry Torokhov , Henrik Rydberg , Joonyoung Shim , Nick Dyer , linux-input@vger.kernel.org Cc: Iiro Valkonen , Benson Leung , Yufeng Shen , Olof Johansson , linux-kernel@vger.kernel.org, Daniel Kurtz Subject: [PATCH 09/21 v5] Input: atmel_mxt_ts - print all instances when dumping objects Date: Tue, 26 Jun 2012 14:56:57 +0800 Message-Id: <1340693829-18665-10-git-send-email-djkurtz@chromium.org> X-Mailer: git-send-email 1.7.7.3 In-Reply-To: <1340693829-18665-1-git-send-email-djkurtz@chromium.org> References: <1340693829-18665-1-git-send-email-djkurtz@chromium.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2058 Lines: 68 For objects with multiple instances, dump them all, prepending each with its "Instance #". Signed-off-by: Daniel Kurtz --- drivers/input/touchscreen/atmel_mxt_ts.c | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 deletions(-) diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c index c8cfd7b..25d3dd5 100644 --- a/drivers/input/touchscreen/atmel_mxt_ts.c +++ b/drivers/input/touchscreen/atmel_mxt_ts.c @@ -883,7 +883,7 @@ static ssize_t mxt_object_show(struct device *dev, struct mxt_data *data = dev_get_drvdata(dev); struct mxt_object *object; int count = 0; - int i, j; + int i, j, k; int error; u8 val; u8 *obuf; @@ -903,18 +903,30 @@ static ssize_t mxt_object_show(struct device *dev, count += scnprintf(buf + count, PAGE_SIZE - count, "T%u:\n", object->type); - error = __mxt_read_reg(data->client, object->start_address, - object->size + 1, obuf); - if (error) - break; + for (j = 0; j < object->instances + 1; j++) { + u16 size = object->size + 1; + u16 addr = object->start_address + j * size; + + error = __mxt_read_reg(data->client, addr, size, obuf); + if (error) + break; - for (j = 0; j < object->size + 1; j++) { - val = obuf[j]; + if (object->instances > 0) + count += scnprintf(buf + count, + PAGE_SIZE - count, + "Instance %u\n", j); + for (k = 0; k < object->size + 1; k++) { + val = obuf[k]; + + count += scnprintf(buf + count, + PAGE_SIZE - count, + "\t[%2u]: %02x (%d)\n", + k, val, val); + } count += scnprintf(buf + count, PAGE_SIZE - count, - "\t[%2d]: %02x (%d)\n", j, val, val); + "\n"); } - count += scnprintf(buf + count, PAGE_SIZE - count, "\n"); } kfree(obuf); -- 1.7.7.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/