Input: synaptics - remove duplicated code
synaptics_profile_sensor_process() and synaptics_report_mt_data() now share the exact same code. Remove one implementation and rely on the other where it was used. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
e9e8520f22
commit
aa104b1aaa
|
@ -851,42 +851,6 @@ static void synaptics_image_sensor_process(struct psmouse *psmouse,
|
||||||
synaptics_report_mt_data(psmouse, sgm, num_fingers);
|
synaptics_report_mt_data(psmouse, sgm, num_fingers);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void synaptics_profile_sensor_process(struct psmouse *psmouse,
|
|
||||||
struct synaptics_hw_state *sgm,
|
|
||||||
int num_fingers)
|
|
||||||
{
|
|
||||||
struct input_dev *dev = psmouse->dev;
|
|
||||||
struct synaptics_data *priv = psmouse->private;
|
|
||||||
struct synaptics_hw_state *hw[2] = { sgm, &priv->agm };
|
|
||||||
struct input_mt_pos pos[2];
|
|
||||||
int slot[2], nsemi, i;
|
|
||||||
|
|
||||||
nsemi = clamp_val(num_fingers, 0, 2);
|
|
||||||
|
|
||||||
for (i = 0; i < nsemi; i++) {
|
|
||||||
pos[i].x = hw[i]->x;
|
|
||||||
pos[i].y = synaptics_invert_y(hw[i]->y);
|
|
||||||
}
|
|
||||||
|
|
||||||
input_mt_assign_slots(dev, slot, pos, nsemi);
|
|
||||||
|
|
||||||
for (i = 0; i < nsemi; i++) {
|
|
||||||
input_mt_slot(dev, slot[i]);
|
|
||||||
input_mt_report_slot_state(dev, MT_TOOL_FINGER, true);
|
|
||||||
input_report_abs(dev, ABS_MT_POSITION_X, pos[i].x);
|
|
||||||
input_report_abs(dev, ABS_MT_POSITION_Y, pos[i].y);
|
|
||||||
input_report_abs(dev, ABS_MT_PRESSURE, hw[i]->z);
|
|
||||||
}
|
|
||||||
|
|
||||||
input_mt_drop_unused(dev);
|
|
||||||
input_mt_report_pointer_emulation(dev, false);
|
|
||||||
input_mt_report_finger_count(dev, num_fingers);
|
|
||||||
|
|
||||||
synaptics_report_buttons(psmouse, sgm);
|
|
||||||
|
|
||||||
input_sync(dev);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* called for each full received packet from the touchpad
|
* called for each full received packet from the touchpad
|
||||||
*/
|
*/
|
||||||
|
@ -951,7 +915,7 @@ static void synaptics_process_packet(struct psmouse *psmouse)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cr48_profile_sensor) {
|
if (cr48_profile_sensor) {
|
||||||
synaptics_profile_sensor_process(psmouse, &hw, num_fingers);
|
synaptics_report_mt_data(psmouse, &hw, num_fingers);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue