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

Commit 6551d6fe authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull input updates from Dmitry Torokhov:
 "Updates for the input subsystem.  Just a few driver updates mostly
  dealing with recent regressions."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: edt-ft5x06 - return -EFAULT on copy_to_user() error
  Input: sentelic - filter out erratic movement when lifting finger
  Input: ambakmi - [un]prepare clocks when enabling amd disabling
  Input: i8042 - disable mux on Toshiba C850D
  Revert "input: ab8500-ponkey: Create AB8500 domain IRQ mapping"
  Input: imx_keypad - fix missing clk conversions
  Input: usbtouchscreen - initialize eGalax devices
parents 868f480b 35b1da4e
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -516,9 +516,9 @@ static int __devinit imx_keypad_probe(struct platform_device *pdev)
	input_set_drvdata(input_dev, keypad);
	input_set_drvdata(input_dev, keypad);


	/* Ensure that the keypad will stay dormant until opened */
	/* Ensure that the keypad will stay dormant until opened */
	clk_enable(keypad->clk);
	clk_prepare_enable(keypad->clk);
	imx_keypad_inhibit(keypad);
	imx_keypad_inhibit(keypad);
	clk_disable(keypad->clk);
	clk_disable_unprepare(keypad->clk);


	error = request_irq(irq, imx_keypad_irq_handler, 0,
	error = request_irq(irq, imx_keypad_irq_handler, 0,
			    pdev->name, keypad);
			    pdev->name, keypad);
+2 −2
Original line number Original line Diff line number Diff line
@@ -74,8 +74,8 @@ static int __devinit ab8500_ponkey_probe(struct platform_device *pdev)


	ponkey->idev = input;
	ponkey->idev = input;
	ponkey->ab8500 = ab8500;
	ponkey->ab8500 = ab8500;
	ponkey->irq_dbf = ab8500_irq_get_virq(ab8500, irq_dbf);
	ponkey->irq_dbf = irq_dbf;
	ponkey->irq_dbr = ab8500_irq_get_virq(ab8500, irq_dbr);
	ponkey->irq_dbr = irq_dbr;


	input->name = "AB8500 POn(PowerOn) Key";
	input->name = "AB8500 POn(PowerOn) Key";
	input->dev.parent = &pdev->dev;
	input->dev.parent = &pdev->dev;
+11 −0
Original line number Original line Diff line number Diff line
@@ -721,6 +721,17 @@ static psmouse_ret_t fsp_process_byte(struct psmouse *psmouse)


	switch (psmouse->packet[0] >> FSP_PKT_TYPE_SHIFT) {
	switch (psmouse->packet[0] >> FSP_PKT_TYPE_SHIFT) {
	case FSP_PKT_TYPE_ABS:
	case FSP_PKT_TYPE_ABS:

		if ((packet[0] == 0x48 || packet[0] == 0x49) &&
		    packet[1] == 0 && packet[2] == 0) {
			/*
			 * Ignore coordinate noise when finger leaving the
			 * surface, otherwise cursor may jump to upper-left
			 * corner.
			 */
			packet[3] &= 0xf0;
		}

		abs_x = GET_ABS_X(packet);
		abs_x = GET_ABS_X(packet);
		abs_y = GET_ABS_Y(packet);
		abs_y = GET_ABS_Y(packet);


+3 −3
Original line number Original line Diff line number Diff line
@@ -72,7 +72,7 @@ static int amba_kmi_open(struct serio *io)
	unsigned int divisor;
	unsigned int divisor;
	int ret;
	int ret;


	ret = clk_enable(kmi->clk);
	ret = clk_prepare_enable(kmi->clk);
	if (ret)
	if (ret)
		goto out;
		goto out;


@@ -92,7 +92,7 @@ static int amba_kmi_open(struct serio *io)
	return 0;
	return 0;


 clk_disable:
 clk_disable:
	clk_disable(kmi->clk);
	clk_disable_unprepare(kmi->clk);
 out:
 out:
	return ret;
	return ret;
}
}
@@ -104,7 +104,7 @@ static void amba_kmi_close(struct serio *io)
	writeb(0, KMICR);
	writeb(0, KMICR);


	free_irq(kmi->irq, kmi);
	free_irq(kmi->irq, kmi);
	clk_disable(kmi->clk);
	clk_disable_unprepare(kmi->clk);
}
}


static int __devinit amba_kmi_probe(struct amba_device *dev,
static int __devinit amba_kmi_probe(struct amba_device *dev,
+6 −0
Original line number Original line Diff line number Diff line
@@ -333,6 +333,12 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = {
			DMI_MATCH(DMI_PRODUCT_NAME, "EQUIUM A110"),
			DMI_MATCH(DMI_PRODUCT_NAME, "EQUIUM A110"),
		},
		},
	},
	},
	{
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
			DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE C850D"),
		},
	},
	{
	{
		.matches = {
		.matches = {
			DMI_MATCH(DMI_SYS_VENDOR, "ALIENWARE"),
			DMI_MATCH(DMI_SYS_VENDOR, "ALIENWARE"),
Loading