Merge branch 'for-6.2/uclogic' into for-linus
[linux-2.6-microblaze.git] / drivers / hid / hid-uclogic-rdesc.c
index 6b73eb0..fb40775 100644 (file)
@@ -1035,6 +1035,40 @@ const __u8 uclogic_rdesc_ugee_v2_frame_mouse_template_arr[] = {
 const size_t uclogic_rdesc_ugee_v2_frame_mouse_template_size =
                        sizeof(uclogic_rdesc_ugee_v2_frame_mouse_template_arr);
 
+/* Fixed report descriptor template for UGEE v2 battery reports */
+const __u8 uclogic_rdesc_ugee_v2_battery_template_arr[] = {
+       0x05, 0x01,         /*  Usage Page (Desktop),                   */
+       0x09, 0x07,         /*  Usage (Keypad),                         */
+       0xA1, 0x01,         /*  Collection (Application),               */
+       0x85, UCLOGIC_RDESC_UGEE_V2_BATTERY_ID,
+                           /*      Report ID,                          */
+       0x75, 0x08,         /*      Report Size (8),                    */
+       0x95, 0x02,         /*      Report Count (2),                   */
+       0x81, 0x01,         /*      Input (Constant),                   */
+       0x05, 0x84,         /*      Usage Page (Power Device),          */
+       0x05, 0x85,         /*      Usage Page (Battery System),        */
+       0x09, 0x65,         /*      Usage Page (AbsoluteStateOfCharge), */
+       0x75, 0x08,         /*      Report Size (8),                    */
+       0x95, 0x01,         /*      Report Count (1),                   */
+       0x15, 0x00,         /*      Logical Minimum (0),                */
+       0x26, 0xff, 0x00,   /*      Logical Maximum (255),              */
+       0x81, 0x02,         /*      Input (Variable),                   */
+       0x75, 0x01,         /*      Report Size (1),                    */
+       0x95, 0x01,         /*      Report Count (1),                   */
+       0x15, 0x00,         /*      Logical Minimum (0),                */
+       0x25, 0x01,         /*      Logical Maximum (1),                */
+       0x09, 0x44,         /*      Usage Page (Charging),              */
+       0x81, 0x02,         /*      Input (Variable),                   */
+       0x95, 0x07,         /*      Report Count (7),                   */
+       0x81, 0x01,         /*      Input (Constant),                   */
+       0x75, 0x08,         /*      Report Size (8),                    */
+       0x95, 0x07,         /*      Report Count (7),                   */
+       0x81, 0x01,         /*      Input (Constant),                   */
+       0xC0                /*  End Collection                          */
+};
+const size_t uclogic_rdesc_ugee_v2_battery_template_size =
+                       sizeof(uclogic_rdesc_ugee_v2_battery_template_arr);
+
 /* Fixed report descriptor for Ugee EX07 frame */
 const __u8 uclogic_rdesc_ugee_ex07_frame_arr[] = {
        0x05, 0x01,             /*  Usage Page (Desktop),                   */