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

Commit 899631c7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: rpckbd - fix a leak of the IRQ during init failure
  Input: wacom - add support for Lenovo tablet ID (0xE6)
  Input: i8042 - downgrade selftest error message to dbg()
  Input: synaptics - fix crash in synaptics_module_init()
  Input: spear-keyboard - fix inverted condition in interrupt handler
  Input: uinput - allow for 0/0 min/max on absolute axes.
  Input: sparse-keymap - report KEY_UNKNOWN for unknown scan codes
  Input: sparse-keymap - report scancodes with key events
  Input: h3600_ts_input - fix a spelling error
  Input: wacom - report resolution for pen devices
  Input: wacom - constify wacom_features for a new missed Bamboo models
parents 47e89798 e28e1d93
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ static irqreturn_t spear_kbd_interrupt(int irq, void *dev_id)
	u8 sts, val;

	sts = readb(kbd->io_base + STATUS_REG);
	if (sts & DATA_AVAIL)
	if (!(sts & DATA_AVAIL))
		return IRQ_NONE;

	if (kbd->last_key != KEY_RESERVED) {
+5 −1
Original line number Diff line number Diff line
@@ -302,10 +302,14 @@ static int uinput_validate_absbits(struct input_dev *dev)
	int retval = 0;

	for (cnt = 0; cnt < ABS_CNT; cnt++) {
		int min, max;
		if (!test_bit(cnt, dev->absbit))
			continue;

		if (input_abs_get_max(dev, cnt) <= input_abs_get_min(dev, cnt)) {
		min = input_abs_get_min(dev, cnt);
		max = input_abs_get_max(dev, cnt);

		if ((min != 0 || max != 0) && max <= min) {
			printk(KERN_DEBUG
				"%s: invalid abs[%02x] min:%d max:%d\n",
				UINPUT_NAME, cnt,
+2 −2
Original line number Diff line number Diff line
@@ -836,8 +836,8 @@ static const struct dmi_system_id __initconst toshiba_dmi_table[] = {
		},

	},
	{ }
#endif
	{ }
};

static bool broken_olpc_ec;
@@ -851,8 +851,8 @@ static const struct dmi_system_id __initconst olpc_dmi_table[] = {
			DMI_MATCH(DMI_PRODUCT_NAME, "XO"),
		},
	},
	{ }
#endif
	{ }
};

void __init synaptics_module_init(void)
+4 −3
Original line number Diff line number Diff line
@@ -876,7 +876,7 @@ static int i8042_controller_selftest(void)
		if (param == I8042_RET_CTL_TEST)
			return 0;

		pr_err("i8042 controller selftest failed. (%#x != %#x)\n",
		dbg("i8042 controller selftest: %#x != %#x\n",
		    param, I8042_RET_CTL_TEST);
		msleep(50);
	} while (i++ < 5);
@@ -891,6 +891,7 @@ static int i8042_controller_selftest(void)
	pr_info("giving up on controller selftest, continuing anyway...\n");
	return 0;
#else
	pr_err("i8042 controller selftest failed\n");
	return -EIO;
#endif
}
+1 −1
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ static int rpckbd_open(struct serio *port)

	if (request_irq(IRQ_KEYBOARDTX, rpckbd_tx, 0, "rpckbd", port) != 0) {
		printk(KERN_ERR "rpckbd.c: Could not allocate keyboard transmit IRQ\n");
		free_irq(IRQ_KEYBOARDRX, NULL);
		free_irq(IRQ_KEYBOARDRX, port);
		return -EBUSY;
	}

Loading