summaryrefslogtreecommitdiff
path: root/hw/usb
diff options
context:
space:
mode:
Diffstat (limited to 'hw/usb')
-rw-r--r--hw/usb/hid-logitech-dj.c8
-rw-r--r--hw/usb/hid-logitech-dj.h8
-rw-r--r--hw/usb/hid-logitech-hidpp20.c1
3 files changed, 9 insertions, 8 deletions
diff --git a/hw/usb/hid-logitech-dj.c b/hw/usb/hid-logitech-dj.c
index 51be0e2410..196b430c43 100644
--- a/hw/usb/hid-logitech-dj.c
+++ b/hw/usb/hid-logitech-dj.c
@@ -30,14 +30,6 @@
#define COMPILE_ASSERT(cond) typedef char _compile_assert[1 - 2 * !(cond)]
-/* Report IDs */
-enum {
- HIDPP_SHORT = 0x10, /* 7 bytes */
- HIDPP_LONG = 0x11, /* 20 bytes */
- DJ_SHORT = 0x20, /* 15 bytes */
- DJ_LONG = 0x21, /* 32 bytes */
-};
-
/* helpers to handle the HID++ register queries */
#define SET_REG(reg) (0x108000 | (reg))
#define GET_REG(reg) (0x108100 | (reg))
diff --git a/hw/usb/hid-logitech-dj.h b/hw/usb/hid-logitech-dj.h
index 83cb33b8aa..3e7fab9fa1 100644
--- a/hw/usb/hid-logitech-dj.h
+++ b/hw/usb/hid-logitech-dj.h
@@ -44,6 +44,14 @@ enum {
#define MAX_DEVICES 6
+/* Report IDs */
+enum {
+ HIDPP_SHORT = 0x10, /* 7 bytes */
+ HIDPP_LONG = 0x11, /* 20 bytes */
+ DJ_SHORT = 0x20, /* 15 bytes */
+ DJ_LONG = 0x21, /* 32 bytes */
+};
+
/* report formats */
typedef struct {
uint8_t report_id;
diff --git a/hw/usb/hid-logitech-hidpp20.c b/hw/usb/hid-logitech-hidpp20.c
index 95393050a5..9248f31bd1 100644
--- a/hw/usb/hid-logitech-hidpp20.c
+++ b/hw/usb/hid-logitech-hidpp20.c
@@ -130,6 +130,7 @@ int hidpp20_feature_call(LHidDevice *hd, Hidpp20Msg *func)
feat = &hd->info.features[func->feat_index - 1];
r = feat->callback(hd, func, fn, func->params);
}
+ func->report_id = HIDPP_LONG;
if (r > 0) {
// r are the parameters that must be kept, the others are cleared.
assert(r <= sizeof(func->params));