Thread (1 message) 1 message, 1 author, 2011-09-02

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]:
+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.
+               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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help