Re: [PATCH] Wacom Intuos4 LED and OLED control
From: Eduard Hasenleithner <hidden>
Date: 2011-09-02 21:48:46
Hi Dmitry. It has been quite some time since our last conversation and I didn't look in my inbox so frequent. Thanks for reworking the patch to meet the requirements. The patch appears to work for the status led, but not for the button images. I tracked down the problem to a wrong command being used in wacom_led_putimage. Please see inline. After I changed this line, the kernel driver was also able to put images. I'd be happy to see the patch in 3.2, but I'm not in a hurry. Eduard 2011/8/17 Dmitry Torokhov [off-list ref]:
quoted hunk
+static int wacom_led_putimage(struct wacom *wacom, int button_id, const void *img) +{ + unsigned char *buf; + int i, retval; + + buf = kzalloc(259, GFP_KERNEL); + if (!buf) + return -ENOMEM; + + /* Send 'start' command */ + buf[0] = WAC_CMD_ICON_START; + buf[1] = 1; + retval = wacom_set_report(wacom->intf, 0x03, WAC_CMD_ICON_START, + buf, 2, WAC_CMD_RETRIES); + if (retval < 0) + goto out; + + buf[0] = WAC_CMD_ICON_XFER; + buf[1] = button_id & 0x07; + for (i = 0; i < 4; i++) { + buf[2] = i; + memcpy(buf + 3, img + i * 256, 256); + + retval = wacom_set_report(wacom->intf, 0x03, WAC_CMD_ICON_START, + buf, 259, WAC_CMD_RETRIES);
Here is the error: WAC_CMD_ICON_START instead of the correct WAC_CMD_ICON_XFER was used. Don't ask my why the command has to be specified two times.
quoted hunk
+ if (retval < 0) + break; + } + + /* Send 'stop' */ + buf[0] = WAC_CMD_ICON_START; + buf[1] = 0; + wacom_set_report(wacom->intf, 0x03, WAC_CMD_ICON_START, + buf, 2, WAC_CMD_RETRIES); + +out: + kfree(buf); + return retval; +}
-- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html