Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: synaptics - fix touchpad not working after S2R on Vostro V13 Input: cma3000_d0x - fix signedness bug in cma3000_thread_irq() Input: wacom - add product id used by Samsung Slate 7
This commit is contained in:
commit
10ee08b757
|
@ -115,8 +115,8 @@ static void decode_mg(struct cma3000_accl_data *data, int *datax,
|
||||||
static irqreturn_t cma3000_thread_irq(int irq, void *dev_id)
|
static irqreturn_t cma3000_thread_irq(int irq, void *dev_id)
|
||||||
{
|
{
|
||||||
struct cma3000_accl_data *data = dev_id;
|
struct cma3000_accl_data *data = dev_id;
|
||||||
int datax, datay, dataz;
|
int datax, datay, dataz, intr_status;
|
||||||
u8 ctrl, mode, range, intr_status;
|
u8 ctrl, mode, range;
|
||||||
|
|
||||||
intr_status = CMA3000_READ(data, CMA3000_INTSTATUS, "interrupt status");
|
intr_status = CMA3000_READ(data, CMA3000_INTSTATUS, "interrupt status");
|
||||||
if (intr_status < 0)
|
if (intr_status < 0)
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
#include <linux/delay.h>
|
||||||
#include <linux/dmi.h>
|
#include <linux/dmi.h>
|
||||||
#include <linux/input/mt.h>
|
#include <linux/input/mt.h>
|
||||||
#include <linux/serio.h>
|
#include <linux/serio.h>
|
||||||
|
@ -1220,6 +1221,16 @@ static int synaptics_reconnect(struct psmouse *psmouse)
|
||||||
|
|
||||||
do {
|
do {
|
||||||
psmouse_reset(psmouse);
|
psmouse_reset(psmouse);
|
||||||
|
if (retry) {
|
||||||
|
/*
|
||||||
|
* On some boxes, right after resuming, the touchpad
|
||||||
|
* needs some time to finish initializing (I assume
|
||||||
|
* it needs time to calibrate) and start responding
|
||||||
|
* to Synaptics-specific queries, so let's wait a
|
||||||
|
* bit.
|
||||||
|
*/
|
||||||
|
ssleep(1);
|
||||||
|
}
|
||||||
error = synaptics_detect(psmouse, 0);
|
error = synaptics_detect(psmouse, 0);
|
||||||
} while (error && ++retry < 3);
|
} while (error && ++retry < 3);
|
||||||
|
|
||||||
|
|
|
@ -1470,6 +1470,9 @@ static const struct wacom_features wacom_features_0xE3 =
|
||||||
static const struct wacom_features wacom_features_0xE6 =
|
static const struct wacom_features wacom_features_0xE6 =
|
||||||
{ "Wacom ISDv4 E6", WACOM_PKGLEN_TPC2FG, 27760, 15694, 255,
|
{ "Wacom ISDv4 E6", WACOM_PKGLEN_TPC2FG, 27760, 15694, 255,
|
||||||
0, TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
|
0, TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
|
||||||
|
static const struct wacom_features wacom_features_0xEC =
|
||||||
|
{ "Wacom ISDv4 EC", WACOM_PKGLEN_GRAPHIRE, 25710, 14500, 255,
|
||||||
|
0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
|
||||||
static const struct wacom_features wacom_features_0x47 =
|
static const struct wacom_features wacom_features_0x47 =
|
||||||
{ "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023,
|
{ "Wacom Intuos2 6x8", WACOM_PKGLEN_INTUOS, 20320, 16240, 1023,
|
||||||
31, INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
|
31, INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
|
||||||
|
@ -1611,6 +1614,7 @@ const struct usb_device_id wacom_ids[] = {
|
||||||
{ USB_DEVICE_WACOM(0xE2) },
|
{ USB_DEVICE_WACOM(0xE2) },
|
||||||
{ USB_DEVICE_WACOM(0xE3) },
|
{ USB_DEVICE_WACOM(0xE3) },
|
||||||
{ USB_DEVICE_WACOM(0xE6) },
|
{ USB_DEVICE_WACOM(0xE6) },
|
||||||
|
{ USB_DEVICE_WACOM(0xEC) },
|
||||||
{ USB_DEVICE_WACOM(0x47) },
|
{ USB_DEVICE_WACOM(0x47) },
|
||||||
{ USB_DEVICE_LENOVO(0x6004) },
|
{ USB_DEVICE_LENOVO(0x6004) },
|
||||||
{ }
|
{ }
|
||||||
|
|
Loading…
Reference in New Issue