HID: wacom: generic: Pad supports more than buttons
[platform/kernel/linux-exynos.git] / drivers / hid / wacom_wac.c
index 29d2610..7a748a7 100644 (file)
@@ -1538,14 +1538,17 @@ static void wacom_wac_pad_usage_mapping(struct hid_device *hdev,
        case WACOM_HID_WD_ACCELEROMETER_X:
                __set_bit(INPUT_PROP_ACCELEROMETER, input->propbit);
                wacom_map_usage(input, usage, field, EV_ABS, ABS_X, 0);
+               features->device_type |= WACOM_DEVICETYPE_PAD;
                break;
        case WACOM_HID_WD_ACCELEROMETER_Y:
                __set_bit(INPUT_PROP_ACCELEROMETER, input->propbit);
                wacom_map_usage(input, usage, field, EV_ABS, ABS_Y, 0);
+               features->device_type |= WACOM_DEVICETYPE_PAD;
                break;
        case WACOM_HID_WD_ACCELEROMETER_Z:
                __set_bit(INPUT_PROP_ACCELEROMETER, input->propbit);
                wacom_map_usage(input, usage, field, EV_ABS, ABS_Z, 0);
+               features->device_type |= WACOM_DEVICETYPE_PAD;
                break;
        case WACOM_HID_WD_BUTTONHOME:
        case WACOM_HID_WD_BUTTONUP:
@@ -1557,18 +1560,23 @@ static void wacom_wac_pad_usage_mapping(struct hid_device *hdev,
                                wacom_numbered_button_to_key(features->numbered_buttons),
                                0);
                features->numbered_buttons++;
+               features->device_type |= WACOM_DEVICETYPE_PAD;
                break;
        case WACOM_HID_WD_TOUCHONOFF:
                wacom_map_usage(input, usage, field, EV_SW, SW_MUTE_DEVICE, 0);
+               features->device_type |= WACOM_DEVICETYPE_PAD;
                break;
        case WACOM_HID_WD_TOUCHSTRIP:
                wacom_map_usage(input, usage, field, EV_ABS, ABS_RX, 0);
+               features->device_type |= WACOM_DEVICETYPE_PAD;
                break;
        case WACOM_HID_WD_TOUCHSTRIP2:
                wacom_map_usage(input, usage, field, EV_ABS, ABS_RY, 0);
+               features->device_type |= WACOM_DEVICETYPE_PAD;
                break;
        case WACOM_HID_WD_TOUCHRING:
                wacom_map_usage(input, usage, field, EV_ABS, ABS_WHEEL, 0);
+               features->device_type |= WACOM_DEVICETYPE_PAD;
                break;
        }
 
@@ -1578,6 +1586,7 @@ static void wacom_wac_pad_usage_mapping(struct hid_device *hdev,
                                wacom_numbered_button_to_key(features->numbered_buttons),
                                0);
                features->numbered_buttons++;
+               features->device_type |= WACOM_DEVICETYPE_PAD;
                break;
        }
 }