lkml.org 
[lkml]   [2020]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v9 11/55] Input: atmel_mxt_ts - add debug for T92 gesture and T93 touch seq msgs
    Date
    From: Karl Tsou <karl.funlab@gmail.com>

    output T92 gesture and T93 touch sequence messages.

    Signed-off-by: Karl Tsou <karl.funlab@gmail.com>
    Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
    (cherry picked from ndyer/linux/for-upstream commit cb98986f8342107bf4a536aed4160b20839e97c1)
    Signed-off-by: George G. Davis <george_davis@mentor.com>
    Reported-by: kbuild test robot <lkp@intel.com>
    [jiada: changed dev_debug() to dev_info()]
    Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
    ---
    drivers/input/touchscreen/atmel_mxt_ts.c | 40 ++++++++++++++++++++++++
    1 file changed, 40 insertions(+)

    diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
    index 63db8b66eb67..6126bb8a7acc 100644
    --- a/drivers/input/touchscreen/atmel_mxt_ts.c
    +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
    @@ -71,6 +71,8 @@
    #define MXT_SPT_MESSAGECOUNT_T44 44
    #define MXT_SPT_CTECONFIG_T46 46
    #define MXT_SPT_DYNAMICCONFIGURATIONCONTAINER_T71 71
    +#define MXT_PROCI_SYMBOLGESTUREPROCESSOR 92
    +#define MXT_PROCI_TOUCHSEQUENCELOGGER 93
    #define MXT_TOUCH_MULTITOUCHSCREEN_T100 100
    #define MXT_PROCI_ACTIVESTYLUS_T107 107

    @@ -349,6 +351,10 @@ struct mxt_data {
    u8 T42_reportid_max;
    u16 T44_address;
    u8 T48_reportid;
    + u16 T92_address;
    + u8 T92_reportid;
    + u16 T93_address;
    + u8 T93_reportid;
    u8 T100_reportid_min;
    u8 T100_reportid_max;
    u16 T107_address;
    @@ -1113,6 +1119,24 @@ static int mxt_proc_t48_messages(struct mxt_data *data, u8 *msg)
    return 0;
    }

    +static void mxt_proc_t92_messages(struct mxt_data *data, u8 *msg)
    +{
    + struct device *dev = &data->client->dev;
    + u8 status = msg[1];
    +
    + dev_info(dev, "T92 long stroke LSTR=%d %d\n",
    + (status & 0x80) ? 1 : 0,
    + status & 0x0F);
    +}
    +
    +static void mxt_proc_t93_messages(struct mxt_data *data, u8 *msg)
    +{
    + struct device *dev = &data->client->dev;
    + u8 status = msg[1];
    +
    + dev_info(dev, "T93 report double tap %d\n", status);
    +}
    +
    static int mxt_proc_message(struct mxt_data *data, u8 *message)
    {
    u8 report_id = message[0];
    @@ -1145,6 +1169,10 @@ static int mxt_proc_message(struct mxt_data *data, u8 *message)
    } else if (report_id >= data->T15_reportid_min
    && report_id <= data->T15_reportid_max) {
    mxt_proc_t15_messages(data, message);
    + } else if (report_id == data->T92_reportid) {
    + mxt_proc_t92_messages(data, message);
    + } else if (report_id == data->T93_reportid) {
    + mxt_proc_t93_messages(data, message);
    } else {
    mxt_dump_message(data, message);
    }
    @@ -1814,6 +1842,10 @@ static void mxt_free_object_table(struct mxt_data *data)
    data->T42_reportid_max = 0;
    data->T44_address = 0;
    data->T48_reportid = 0;
    + data->T92_reportid = 0;
    + data->T92_address = 0;
    + data->T93_reportid = 0;
    + data->T93_address = 0;
    data->T100_reportid_min = 0;
    data->T100_reportid_max = 0;
    data->max_reportid = 0;
    @@ -1906,6 +1938,14 @@ static int mxt_parse_object_table(struct mxt_data *data,
    case MXT_PROCG_NOISESUPPRESSION_T48:
    data->T48_reportid = min_id;
    break;
    + case MXT_PROCI_SYMBOLGESTUREPROCESSOR:
    + data->T92_reportid = min_id;
    + data->T92_address = object->start_address;
    + break;
    + case MXT_PROCI_TOUCHSEQUENCELOGGER:
    + data->T93_reportid = min_id;
    + data->T93_address = object->start_address;
    + break;
    case MXT_TOUCH_MULTITOUCHSCREEN_T100:
    data->multitouch = MXT_TOUCH_MULTITOUCHSCREEN_T100;
    data->T100_reportid_min = min_id;
    --
    2.17.1
    \
     
     \ /
      Last update: 2020-03-25 14:35    [W:4.067 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site