HID: export hidinput_calc_abs_res
Exporting the function allows us to calculate the resolution in third party drivers like hid-multitouch. This patch also complete the function with additional valid axes. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Acked-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:

committed by
Jiri Kosina

parent
976bacef40
commit
37cf6e6fc3
@@ -208,7 +208,7 @@ static int hidinput_setkeycode(struct input_dev *dev,
|
||||
* Only exponent 1 length units are processed. Centimeters and inches are
|
||||
* converted to millimeters. Degrees are converted to radians.
|
||||
*/
|
||||
static __s32 hidinput_calc_abs_res(const struct hid_field *field, __u16 code)
|
||||
__s32 hidinput_calc_abs_res(const struct hid_field *field, __u16 code)
|
||||
{
|
||||
__s32 unit_exponent = field->unit_exponent;
|
||||
__s32 logical_extents = field->logical_maximum -
|
||||
@@ -229,6 +229,12 @@ static __s32 hidinput_calc_abs_res(const struct hid_field *field, __u16 code)
|
||||
case ABS_X:
|
||||
case ABS_Y:
|
||||
case ABS_Z:
|
||||
case ABS_MT_POSITION_X:
|
||||
case ABS_MT_POSITION_Y:
|
||||
case ABS_MT_TOOL_X:
|
||||
case ABS_MT_TOOL_Y:
|
||||
case ABS_MT_TOUCH_MAJOR:
|
||||
case ABS_MT_TOUCH_MINOR:
|
||||
if (field->unit == 0x11) { /* If centimeters */
|
||||
/* Convert to millimeters */
|
||||
unit_exponent += 1;
|
||||
@@ -283,6 +289,7 @@ static __s32 hidinput_calc_abs_res(const struct hid_field *field, __u16 code)
|
||||
/* Calculate resolution */
|
||||
return logical_extents / physical_extents;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(hidinput_calc_abs_res);
|
||||
|
||||
#ifdef CONFIG_HID_BATTERY_STRENGTH
|
||||
static enum power_supply_property hidinput_battery_props[] = {
|
||||
|
Reference in New Issue
Block a user