lkml.org 
[lkml]   [2005]   [Aug]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 6/7] USB: fix usb wacom tablet driver bug
    From: Ping Cheng <pingc@wacom.com>

    This patch fixes bug 4905 and a Cintiq 21UX bug.

    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


    ---
    drivers/usb/input/wacom.c | 21 ++++++++++-----------
    1 files changed, 10 insertions(+), 11 deletions(-)

    --- gregkh-2.6.orig/drivers/usb/input/wacom.c 2005-08-16 14:51:29.000000000 -0700
    +++ gregkh-2.6/drivers/usb/input/wacom.c 2005-08-16 14:58:01.000000000 -0700
    @@ -342,9 +342,6 @@ static void wacom_graphire_irq(struct ur
    goto exit;
    }

    - x = le16_to_cpu(*(__le16 *) &data[2]);
    - y = le16_to_cpu(*(__le16 *) &data[4]);
    -
    input_regs(dev, regs);

    if (data[1] & 0x10) { /* in prox */
    @@ -373,15 +370,17 @@ static void wacom_graphire_irq(struct ur
    }
    }

    - if (data[1] & 0x80) {
    + if (data[1] & 0x90) {
    + x = le16_to_cpu(*(__le16 *) &data[2]);
    + y = le16_to_cpu(*(__le16 *) &data[4]);
    input_report_abs(dev, ABS_X, x);
    input_report_abs(dev, ABS_Y, y);
    - }
    - if (wacom->tool[0] != BTN_TOOL_MOUSE) {
    - input_report_abs(dev, ABS_PRESSURE, le16_to_cpu(*(__le16 *) &data[6]));
    - input_report_key(dev, BTN_TOUCH, data[1] & 0x01);
    - input_report_key(dev, BTN_STYLUS, data[1] & 0x02);
    - input_report_key(dev, BTN_STYLUS2, data[1] & 0x04);
    + if (wacom->tool[0] != BTN_TOOL_MOUSE) {
    + input_report_abs(dev, ABS_PRESSURE, le16_to_cpu(*(__le16 *) &data[6]));
    + input_report_key(dev, BTN_TOUCH, data[1] & 0x01);
    + input_report_key(dev, BTN_STYLUS, data[1] & 0x02);
    + input_report_key(dev, BTN_STYLUS2, data[1] & 0x04);
    + }
    }

    input_report_key(dev, wacom->tool[0], data[1] & 0x10);
    @@ -568,7 +567,7 @@ static void wacom_intuos_irq(struct urb

    /* Cintiq doesn't send data when RDY bit isn't set */
    if ((wacom->features->type == CINTIQ) && !(data[1] & 0x40))
    - return;
    + goto exit;

    if (wacom->features->type >= INTUOS3) {
    input_report_abs(dev, ABS_X, (data[2] << 9) | (data[3] << 1) | ((data[9] >> 1) & 1));
    --
    -
    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/

    \
     
     \ /
      Last update: 2005-08-17 00:21    [W:0.065 / U:29.600 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site