diff options
author | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2019-06-24 10:11:27 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2019-06-24 10:11:27 +0200 |
commit | 25bc694a8a086bfee6e5b9dd9e53f4de721b0acf (patch) | |
tree | a843d17b336c9ea7d4cad67843ebbf255d61ea1f /drivers/hid/hid-a4tech.c | |
parent | 3e26c5feed2add218046ecf91bab3cfa9bf762a6 (diff) | |
parent | 000dd5316e1c756a1c028f22e01d06a38249dd4d (diff) | |
download | talos-op-linux-25bc694a8a086bfee6e5b9dd9e53f4de721b0acf.tar.gz talos-op-linux-25bc694a8a086bfee6e5b9dd9e53f4de721b0acf.zip |
Merge back PCI power management material for v5.3.
Diffstat (limited to 'drivers/hid/hid-a4tech.c')
-rw-r--r-- | drivers/hid/hid-a4tech.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/hid/hid-a4tech.c b/drivers/hid/hid-a4tech.c index fd806f590bf8..98bf694626f7 100644 --- a/drivers/hid/hid-a4tech.c +++ b/drivers/hid/hid-a4tech.c @@ -35,8 +35,10 @@ static int a4_input_mapped(struct hid_device *hdev, struct hid_input *hi, { struct a4tech_sc *a4 = hid_get_drvdata(hdev); - if (usage->type == EV_REL && usage->code == REL_WHEEL) + if (usage->type == EV_REL && usage->code == REL_WHEEL_HI_RES) { set_bit(REL_HWHEEL, *bit); + set_bit(REL_HWHEEL_HI_RES, *bit); + } if ((a4->quirks & A4_2WHEEL_MOUSE_HACK_7) && usage->hid == 0x00090007) return -1; @@ -57,7 +59,7 @@ static int a4_event(struct hid_device *hdev, struct hid_field *field, input = field->hidinput->input; if (a4->quirks & A4_2WHEEL_MOUSE_HACK_B8) { - if (usage->type == EV_REL && usage->code == REL_WHEEL) { + if (usage->type == EV_REL && usage->code == REL_WHEEL_HI_RES) { a4->delayed_value = value; return 1; } @@ -65,6 +67,8 @@ static int a4_event(struct hid_device *hdev, struct hid_field *field, if (usage->hid == 0x000100b8) { input_event(input, EV_REL, value ? REL_HWHEEL : REL_WHEEL, a4->delayed_value); + input_event(input, EV_REL, value ? REL_HWHEEL_HI_RES : + REL_WHEEL_HI_RES, a4->delayed_value * 120); return 1; } } @@ -74,8 +78,9 @@ static int a4_event(struct hid_device *hdev, struct hid_field *field, return 1; } - if (usage->code == REL_WHEEL && a4->hw_wheel) { + if (usage->code == REL_WHEEL_HI_RES && a4->hw_wheel) { input_event(input, usage->type, REL_HWHEEL, value); + input_event(input, usage->type, REL_HWHEEL_HI_RES, value * 120); return 1; } |