lkml.org 
[lkml]   [2011]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Input: atmel_mxt_ts - Report pressure information from the driver
    On 07/27/2011 07:05 AM, Yufeng Shen wrote:
    > Atmel mxt1386 touch controller has the touch pressure information but
    > the current driver atmel_mxt_ts does not expose it to the user space.
    > This patch makes the driver report the touch pressure information to
    > user space.
    >
    > Change-Id: Ie0e4683a3cd5ec79222f7682b0ddc24f909af543
    >
    > ---
    > drivers/input/touchscreen/atmel_mxt_ts.c | 8 ++++++++
    > 1 files changed, 8 insertions(+), 0 deletions(-)
    >
    > diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
    > index ae00604..7cedb06 100644
    > --- a/drivers/input/touchscreen/atmel_mxt_ts.c
    > +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
    > @@ -244,6 +244,7 @@ struct mxt_finger {
    > int x;
    > int y;
    > int area;
    > + int pressure;
    Spaces you are introducing.
    > };
    >
    > /* Each client has this additional data */
    > @@ -536,6 +537,8 @@ static void mxt_input_report(struct mxt_data *data, int single_id)
    > finger[id].x);
    > input_report_abs(input_dev, ABS_MT_POSITION_Y,
    > finger[id].y);
    > + input_report_abs(input_dev, ABS_MT_PRESSURE,
    > + finger[id].pressure);
    > } else {
    > finger[id].status = 0;
    > }
    > @@ -560,6 +563,7 @@ static void mxt_input_touchevent(struct mxt_data *data,
    > int x;
    > int y;
    > int area;
    > + int pressure;
    same
    >
    > /* Check the touch is present on the screen */
    > if (!(status& MXT_DETECT)) {
    > @@ -584,6 +588,7 @@ static void mxt_input_touchevent(struct mxt_data *data,
    > y = y>> 2;
    >
    > area = message->message[4];
    > + pressure = message->message[5];
    same
    >
    > dev_dbg(dev, "[%d] %s x: %d, y: %d, area: %d\n", id,
    > status& MXT_MOVE ? "moved" : "pressed",
    > @@ -594,6 +599,7 @@ static void mxt_input_touchevent(struct mxt_data *data,
    > finger[id].x = x;
    > finger[id].y = y;
    > finger[id].area = area;
    > + finger[id].pressure = pressure;
    same
    >
    > mxt_input_report(data, id);
    > }
    > @@ -1125,6 +1131,8 @@ static int __devinit mxt_probe(struct i2c_client *client,
    > 0, data->max_x, 0, 0);
    > input_set_abs_params(input_dev, ABS_MT_POSITION_Y,
    > 0, data->max_y, 0, 0);
    > + input_set_abs_params(input_dev, ABS_MT_PRESSURE,
    > + 0, 255, 0, 0);
    >
    > input_set_drvdata(input_dev, data);
    > i2c_set_clientdata(client, data);
    So, please indent with tabs instead of spaces.

    --
    Thanks
    Best Regards
    Wanlong Gao


    \
     
     \ /
      Last update: 2011-07-27 02:51    [W:6.468 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site