lkml.org 
[lkml]   [2012]   [Jun]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 13/23 v6] Input: atmel_mxt_ts - read ID information block in one i2c transaction
    Date
    Reading the whole info block in one i2c transaction speeds up driver
    probe significantly, especially on slower i2c busses.

    Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
    ---
    drivers/input/touchscreen/atmel_mxt_ts.c | 26 +++-----------------------
    1 files changed, 3 insertions(+), 23 deletions(-)

    diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
    index 99d5210..fac3791 100644
    --- a/drivers/input/touchscreen/atmel_mxt_ts.c
    +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
    @@ -36,6 +36,7 @@
    #define MXT_FW_NAME "maxtouch.fw"

    /* Registers */
    +#define MXT_INFO 0x00
    #define MXT_FAMILY_ID 0x00
    #define MXT_VARIANT_ID 0x01
    #define MXT_VERSION 0x02
    @@ -760,32 +761,11 @@ static int mxt_get_info(struct mxt_data *data)
    struct i2c_client *client = data->client;
    struct mxt_info *info = &data->info;
    int error;
    - u8 val;
    -
    - error = mxt_read_reg(client, MXT_FAMILY_ID, &val);
    - if (error)
    - return error;
    - info->family_id = val;
    -
    - error = mxt_read_reg(client, MXT_VARIANT_ID, &val);
    - if (error)
    - return error;
    - info->variant_id = val;
    -
    - error = mxt_read_reg(client, MXT_VERSION, &val);
    - if (error)
    - return error;
    - info->version = val;
    -
    - error = mxt_read_reg(client, MXT_BUILD, &val);
    - if (error)
    - return error;
    - info->build = val;

    - error = mxt_read_reg(client, MXT_OBJECT_NUM, &val);
    + /* Read 7-byte info block starting at address 0 */
    + error = __mxt_read_reg(client, MXT_INFO, sizeof(*info), info);
    if (error)
    return error;
    - info->object_num = val;

    return 0;
    }
    --
    1.7.7.3


    \
     
     \ /
      Last update: 2012-06-28 16:01    [W:3.081 / U:0.424 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site