From: Henrik Rydberg Date: Wed, 13 Oct 2010 20:18:32 +0000 (+0200) Subject: hid: egalax: Correct for device resolution report error X-Git-Tag: v2.6.38-rc1~463^2^2~7^2~8 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=b88cbd3a007608a224fad5413de6170c75afd5a7;p=linux.git hid: egalax: Correct for device resolution report error The firmware of both supported devices report a X/Y maximum of 4095, whereas in reality, it is eight times larger. Fixed with this patch. Signed-off-by: Jiri Kosina Cc: Stephane Chatty Signed-off-by: Henrik Rydberg --- diff --git a/drivers/hid/hid-egalax.c b/drivers/hid/hid-egalax.c index 5be513c363e3..733bebc885db 100644 --- a/drivers/hid/hid-egalax.c +++ b/drivers/hid/hid-egalax.c @@ -54,6 +54,7 @@ static int egalax_input_mapping(struct hid_device *hdev, struct hid_input *hi, case HID_UP_GENDESK: switch (usage->hid) { case HID_GD_X: + field->logical_maximum = 32760; hid_map_usage(hi, usage, bit, max, EV_ABS, ABS_MT_POSITION_X); set_abs(input, ABS_MT_POSITION_X, field, 0); @@ -61,6 +62,7 @@ static int egalax_input_mapping(struct hid_device *hdev, struct hid_input *hi, set_abs(input, ABS_X, field, 0); return 1; case HID_GD_Y: + field->logical_maximum = 32760; hid_map_usage(hi, usage, bit, max, EV_ABS, ABS_MT_POSITION_Y); set_abs(input, ABS_MT_POSITION_Y, field, 0);