lkml.org 
[lkml]   [2012]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 12/22 v4] Input: atmel_mxt_ts - optimize writing of object table entries
    Date
    Write each object using a single bulk i2c write transfer.

    Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
    Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
    ---
    drivers/input/touchscreen/atmel_mxt_ts.c | 24 ++++++++++++------------
    1 files changed, 12 insertions(+), 12 deletions(-)

    diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
    index 2e49488..efce50f 100644
    --- a/drivers/input/touchscreen/atmel_mxt_ts.c
    +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
    @@ -653,7 +653,8 @@ static int mxt_check_reg_init(struct mxt_data *data)
    struct mxt_object *object;
    struct device *dev = &data->client->dev;
    int index = 0;
    - int i, j, config_offset;
    + int i, size;
    + int ret;

    if (!pdata->config) {
    dev_dbg(dev, "No cfg data defined, skipping reg init\n");
    @@ -666,18 +667,17 @@ static int mxt_check_reg_init(struct mxt_data *data)
    if (!mxt_object_writable(object->type))
    continue;

    - for (j = 0;
    - j < (object->size + 1) * (object->instances + 1);
    - j++) {
    - config_offset = index + j;
    - if (config_offset > pdata->config_length) {
    - dev_err(dev, "Not enough config data!\n");
    - return -EINVAL;
    - }
    - mxt_write_object(data, object->type, j,
    - pdata->config[config_offset]);
    + size = (object->size + 1) * (object->instances + 1);
    + if (index + size > pdata->config_length) {
    + dev_err(dev, "Not enough config data!\n");
    + return -EINVAL;
    }
    - index += (object->size + 1) * (object->instances + 1);
    +
    + ret = __mxt_write_reg(data->client, object->start_address,
    + size, &pdata->config[index]);
    + if (ret)
    + return ret;
    + index += size;
    }

    return 0;
    --
    1.7.7.3


    \
     
     \ /
      Last update: 2012-06-18 07:01    [W:0.025 / U:0.940 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site