Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input subsystem updates from Dmitry Torokhov. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: wacom - add support for EMR on Cintiq 24HD touch Input: i8042 - add Gigabyte T1005 series netbooks to noloop table Input: imx_keypad - reset the hardware before enabling Input: edt-ft5x06 - fix build error when compiling wthout CONFIG_DEBUG_FS
This commit is contained in:
@@ -358,6 +358,7 @@ static void imx_keypad_inhibit(struct imx_keypad *keypad)
|
|||||||
/* Inhibit KDI and KRI interrupts. */
|
/* Inhibit KDI and KRI interrupts. */
|
||||||
reg_val = readw(keypad->mmio_base + KPSR);
|
reg_val = readw(keypad->mmio_base + KPSR);
|
||||||
reg_val &= ~(KBD_STAT_KRIE | KBD_STAT_KDIE);
|
reg_val &= ~(KBD_STAT_KRIE | KBD_STAT_KDIE);
|
||||||
|
reg_val |= KBD_STAT_KPKR | KBD_STAT_KPKD;
|
||||||
writew(reg_val, keypad->mmio_base + KPSR);
|
writew(reg_val, keypad->mmio_base + KPSR);
|
||||||
|
|
||||||
/* Colums as open drain and disable all rows */
|
/* Colums as open drain and disable all rows */
|
||||||
@@ -515,7 +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);
|
||||||
imx_keypad_inhibit(keypad);
|
imx_keypad_inhibit(keypad);
|
||||||
|
clk_disable(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);
|
||||||
|
@@ -176,6 +176,20 @@ static const struct dmi_system_id __initconst i8042_dmi_noloop_table[] = {
|
|||||||
DMI_MATCH(DMI_PRODUCT_NAME, "Spring Peak"),
|
DMI_MATCH(DMI_PRODUCT_NAME, "Spring Peak"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
/* Gigabyte T1005 - defines wrong chassis type ("Other") */
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_NAME, "T1005"),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
/* Gigabyte T1005M/P - defines wrong chassis type ("Other") */
|
||||||
|
.matches = {
|
||||||
|
DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"),
|
||||||
|
DMI_MATCH(DMI_PRODUCT_NAME, "T1005M/P"),
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.matches = {
|
.matches = {
|
||||||
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
|
||||||
|
@@ -1848,7 +1848,10 @@ static const struct wacom_features wacom_features_0x2A =
|
|||||||
{ "Wacom Intuos5 M", WACOM_PKGLEN_INTUOS, 44704, 27940, 2047,
|
{ "Wacom Intuos5 M", WACOM_PKGLEN_INTUOS, 44704, 27940, 2047,
|
||||||
63, INTUOS5, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
|
63, INTUOS5, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
|
||||||
static const struct wacom_features wacom_features_0xF4 =
|
static const struct wacom_features wacom_features_0xF4 =
|
||||||
{ "Wacom Cintiq 24HD", WACOM_PKGLEN_INTUOS, 104480, 65600, 2047,
|
{ "Wacom Cintiq 24HD", WACOM_PKGLEN_INTUOS, 104480, 65600, 2047,
|
||||||
|
63, WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
|
||||||
|
static const struct wacom_features wacom_features_0xF8 =
|
||||||
|
{ "Wacom Cintiq 24HD touch", WACOM_PKGLEN_INTUOS, 104480, 65600, 2047,
|
||||||
63, WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
|
63, WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
|
||||||
static const struct wacom_features wacom_features_0x3F =
|
static const struct wacom_features wacom_features_0x3F =
|
||||||
{ "Wacom Cintiq 21UX", WACOM_PKGLEN_INTUOS, 87200, 65600, 1023,
|
{ "Wacom Cintiq 21UX", WACOM_PKGLEN_INTUOS, 87200, 65600, 1023,
|
||||||
@@ -2091,6 +2094,7 @@ const struct usb_device_id wacom_ids[] = {
|
|||||||
{ USB_DEVICE_WACOM(0xEF) },
|
{ USB_DEVICE_WACOM(0xEF) },
|
||||||
{ USB_DEVICE_WACOM(0x47) },
|
{ USB_DEVICE_WACOM(0x47) },
|
||||||
{ USB_DEVICE_WACOM(0xF4) },
|
{ USB_DEVICE_WACOM(0xF4) },
|
||||||
|
{ USB_DEVICE_WACOM(0xF8) },
|
||||||
{ USB_DEVICE_WACOM(0xFA) },
|
{ USB_DEVICE_WACOM(0xFA) },
|
||||||
{ USB_DEVICE_LENOVO(0x6004) },
|
{ USB_DEVICE_LENOVO(0x6004) },
|
||||||
{ }
|
{ }
|
||||||
|
@@ -602,6 +602,7 @@ edt_ft5x06_ts_teardown_debugfs(struct edt_ft5x06_ts_data *tsdata)
|
|||||||
{
|
{
|
||||||
if (tsdata->debug_dir)
|
if (tsdata->debug_dir)
|
||||||
debugfs_remove_recursive(tsdata->debug_dir);
|
debugfs_remove_recursive(tsdata->debug_dir);
|
||||||
|
kfree(tsdata->raw_buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
@@ -843,7 +844,6 @@ static int __devexit edt_ft5x06_ts_remove(struct i2c_client *client)
|
|||||||
if (gpio_is_valid(pdata->reset_pin))
|
if (gpio_is_valid(pdata->reset_pin))
|
||||||
gpio_free(pdata->reset_pin);
|
gpio_free(pdata->reset_pin);
|
||||||
|
|
||||||
kfree(tsdata->raw_buffer);
|
|
||||||
kfree(tsdata);
|
kfree(tsdata);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user