Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa104b1a authored by Benjamin Tissoires's avatar Benjamin Tissoires Committed by Dmitry Torokhov
Browse files

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: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent e9e8520f
Loading
Loading
Loading
Loading
+1 −37
Original line number Diff line number Diff line
@@ -851,42 +851,6 @@ static void synaptics_image_sensor_process(struct psmouse *psmouse,
	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
 */
@@ -951,7 +915,7 @@ static void synaptics_process_packet(struct psmouse *psmouse)
	}

	if (cr48_profile_sensor) {
		synaptics_profile_sensor_process(psmouse, &hw, num_fingers);
		synaptics_report_mt_data(psmouse, &hw, num_fingers);
		return;
	}