Merge branches 'for-4.10/upstream-fixes', 'for-4.11/intel-ish', 'for-4.11/mayflash...
authorJiri Kosina <jkosina@suse.cz>
Mon, 20 Feb 2017 14:01:57 +0000 (15:01 +0100)
committerJiri Kosina <jkosina@suse.cz>
Mon, 20 Feb 2017 14:01:57 +0000 (15:01 +0100)
1  2  3  4  5  6  7 
drivers/hid/hid-core.c
drivers/hid/hid-ids.h
drivers/hid/intel-ish-hid/ipc/pci-ish.c
drivers/hid/usbhid/hid-quirks.c
drivers/hid/wacom.h
drivers/hid/wacom_sys.c
drivers/hid/wacom_wac.c

Simple merge
       #define USB_VENDOR_ID_DRAGONRISE         0x0079
       #define USB_DEVICE_ID_DRAGONRISE_WIIU            0x1800
       #define USB_DEVICE_ID_DRAGONRISE_PS3             0x1801
 - - - #define USB_DEVICE_ID_DRAGONRISE_GAMECUBE        0x1843
 + + + #define USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR      0x1803
-   - -#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE        0x1843
++ ++++#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE1       0x1843
++ ++++#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE2       0x1844
       
       #define USB_VENDOR_ID_DWAV               0x0eef
       #define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER     0x0001
@@@@@@@@ -84,8 -83,7 -83,8 -83,7 -83,8 -83,7 -83,8 +84,8 @@@@@@@@ static const struct hid_blacklist 
        { USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET },
        { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT },
        { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3, HID_QUIRK_MULTI_INPUT },
 - - -  { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE, HID_QUIRK_MULTI_INPUT },
 + + +  { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_DOLPHINBAR, HID_QUIRK_MULTI_INPUT },
-   - - { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE, HID_QUIRK_MULTI_INPUT },
++ ++++ { USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE1, HID_QUIRK_MULTI_INPUT },
        { USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL },
        { USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
        { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },
Simple merge
Simple merge
@@@@@@@@ -166,21 -166,19 -166,19 -166,19 -166,19 -166,19 -168,19 +168,21 @@@@@@@@ static int wacom_pl_irq(struct wacom_wa
                wacom->id[0] = STYLUS_DEVICE_ID;
        }
       
 ------ pressure = (signed char)((data[7] << 1) | ((data[4] >> 2) & 1));
 ------ if (features->pressure_max > 255)
 ------         pressure = (pressure << 1) | ((data[4] >> 6) & 1);
 ------ pressure += (features->pressure_max + 1) / 2;
      -
      - input_report_abs(input, ABS_X, data[3] | (data[2] << 7) | ((data[1] & 0x03) << 14));
      - input_report_abs(input, ABS_Y, data[6] | (data[5] << 7) | ((data[4] & 0x03) << 14));
      - input_report_abs(input, ABS_PRESSURE, pressure);
      -
      - input_report_key(input, BTN_TOUCH, data[4] & 0x08);
      - input_report_key(input, BTN_STYLUS, data[4] & 0x10);
      - /* Only allow the stylus2 button to be reported for the pen tool. */
      - input_report_key(input, BTN_STYLUS2, (wacom->tool[0] == BTN_TOOL_PEN) && (data[4] & 0x20));
 ++++++ if (prox) {
 ++++++         pressure = (signed char)((data[7] << 1) | ((data[4] >> 2) & 1));
 ++++++         if (features->pressure_max > 255)
 ++++++                 pressure = (pressure << 1) | ((data[4] >> 6) & 1);
 ++++++         pressure += (features->pressure_max + 1) / 2;
      +
 -----  input_report_abs(input, ABS_X, data[3] | (data[2] << 7) | ((data[1] & 0x03) << 14));
 -----  input_report_abs(input, ABS_Y, data[6] | (data[5] << 7) | ((data[4] & 0x03) << 14));
 -----  input_report_abs(input, ABS_PRESSURE, pressure);
 ++++++         input_report_abs(input, ABS_X, data[3] | (data[2] << 7) | ((data[1] & 0x03) << 14));
 ++++++         input_report_abs(input, ABS_Y, data[6] | (data[5] << 7) | ((data[4] & 0x03) << 14));
 ++++++         input_report_abs(input, ABS_PRESSURE, pressure);
      +
 -----  input_report_key(input, BTN_TOUCH, data[4] & 0x08);
 -----  input_report_key(input, BTN_STYLUS, data[4] & 0x10);
 -----  /* Only allow the stylus2 button to be reported for the pen tool. */
 -----  input_report_key(input, BTN_STYLUS2, (wacom->tool[0] == BTN_TOOL_PEN) && (data[4] & 0x20));
 ++++++         input_report_key(input, BTN_TOUCH, data[4] & 0x08);
 ++++++         input_report_key(input, BTN_STYLUS, data[4] & 0x10);
 ++++++         /* Only allow the stylus2 button to be reported for the pen tool. */
 ++++++         input_report_key(input, BTN_STYLUS2, (wacom->tool[0] == BTN_TOOL_PEN) && (data[4] & 0x20));
 ++++++ }
       
        if (!prox)
                wacom->id[0] = 0;
@@@@@@@@ -1629,10 -1627,10 -1627,10 -1627,10 -1627,10 -1627,10 -1824,24 +1826,24 @@@@@@@@ static void wacom_wac_pad_event(struct 
       
        switch (equivalent_usage) {
        case WACOM_HID_WD_TOUCHRINGSTATUS:
++++++          if (!value)
++++++                  input_event(input, usage->type, usage->code, 0);
 +++++          break;
 +++++ 
++++++  case WACOM_HID_WD_TOUCHONOFF:
++++++          if (wacom_wac->shared->touch_input) {
++++++                  input_report_switch(wacom_wac->shared->touch_input,
++++++                                      SW_MUTE_DEVICE, !value);
++++++                  input_sync(wacom_wac->shared->touch_input);
++++++          }
+               break;
+      
++++++  case WACOM_HID_WD_BUTTONCENTER:
++++++          for (i = 0; i < wacom->led.count; i++)
++++++                  wacom_update_led(wacom, features->numbered_buttons,
++++++                                   value, i);
++++++           /* fall through*/
        default:
------          features->input_event_flag = true;
                input_event(input, usage->type, usage->code, value);
                break;
        }