Input: wacom - fix serial number handling on Cintiq 21UX2

Cintiq 21UX2 added 8 more bits for the tool serial number and more
buttons for the expresskey. We did not enable them properly in the
last patch.

Signed-off-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

authored by Ping Cheng and committed by Dmitry Torokhov 493630b2 0b28bac5

+5 -4
+5 -4
drivers/input/tablet/wacom_wac.c
··· 284 (data[4] << 20) + (data[5] << 12) + 285 (data[6] << 4) + (data[7] >> 4); 286 287 - wacom->id[idx] = (data[2] << 4) | (data[3] >> 4); 288 289 - switch (wacom->id[idx]) { 290 case 0x812: /* Inking pen */ 291 case 0x801: /* Intuos3 Inking pen */ 292 - case 0x20802: /* Intuos4 Classic Pen */ 293 case 0x012: 294 wacom->tool[idx] = BTN_TOOL_PENCIL; 295 break; ··· 514 input_report_abs(input, ABS_RX, ((data[1] & 0x1f) << 8) | data[2]); 515 input_report_abs(input, ABS_RY, ((data[3] & 0x1f) << 8) | data[4]); 516 517 - if ((data[5] & 0x1f) | (data[6] & 0x1f) | (data[1] & 0x1f) | 518 data[2] | (data[3] & 0x1f) | data[4] | data[8] | 519 (data[7] & 0x01)) { 520 input_report_key(input, wacom->tool[1], 1);
··· 284 (data[4] << 20) + (data[5] << 12) + 285 (data[6] << 4) + (data[7] >> 4); 286 287 + wacom->id[idx] = (data[2] << 4) | (data[3] >> 4) | 288 + ((data[7] & 0x0f) << 20) | ((data[8] & 0xf0) << 12); 289 290 + switch (wacom->id[idx] & 0xfffff) { 291 case 0x812: /* Inking pen */ 292 case 0x801: /* Intuos3 Inking pen */ 293 + case 0x20802: /* Intuos4 Inking Pen */ 294 case 0x012: 295 wacom->tool[idx] = BTN_TOOL_PENCIL; 296 break; ··· 513 input_report_abs(input, ABS_RX, ((data[1] & 0x1f) << 8) | data[2]); 514 input_report_abs(input, ABS_RY, ((data[3] & 0x1f) << 8) | data[4]); 515 516 + if ((data[5] & 0x1f) | data[6] | (data[1] & 0x1f) | 517 data[2] | (data[3] & 0x1f) | data[4] | data[8] | 518 (data[7] & 0x01)) { 519 input_report_key(input, wacom->tool[1], 1);