mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov: "Just a few driver fixups, nothing exciting." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: wacom - fix 3rd-gen Bamboo MT when 4+ fingers are in use Input: twl4030-vibra - use proper guard for PM methods Input: evdev - fix variable initialisation Input: wacom - add missing LEDS_CLASS to Kconfig Input: ALPS - fix touchpad detection when buttons are pressed
This commit is contained in:
commit
d09b3c9618
|
@ -13,7 +13,8 @@ Detection
|
|||
|
||||
All ALPS touchpads should respond to the "E6 report" command sequence:
|
||||
E8-E6-E6-E6-E9. An ALPS touchpad should respond with either 00-00-0A or
|
||||
00-00-64.
|
||||
00-00-64 if no buttons are pressed. The bits 0-2 of the first byte will be 1s
|
||||
if some buttons are pressed.
|
||||
|
||||
If the E6 report is successful, the touchpad model is identified using the "E7
|
||||
report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is
|
||||
|
|
|
@ -332,7 +332,7 @@ static ssize_t evdev_write(struct file *file, const char __user *buffer,
|
|||
struct evdev_client *client = file->private_data;
|
||||
struct evdev *evdev = client->evdev;
|
||||
struct input_event event;
|
||||
int retval;
|
||||
int retval = 0;
|
||||
|
||||
if (count < input_event_size())
|
||||
return -EINVAL;
|
||||
|
|
|
@ -172,7 +172,7 @@ static void twl4030_vibra_close(struct input_dev *input)
|
|||
}
|
||||
|
||||
/*** Module ***/
|
||||
#if CONFIG_PM
|
||||
#if CONFIG_PM_SLEEP
|
||||
static int twl4030_vibra_suspend(struct device *dev)
|
||||
{
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
|
@ -189,10 +189,10 @@ static int twl4030_vibra_resume(struct device *dev)
|
|||
vibra_disable_leds();
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static SIMPLE_DEV_PM_OPS(twl4030_vibra_pm_ops,
|
||||
twl4030_vibra_suspend, twl4030_vibra_resume);
|
||||
#endif
|
||||
|
||||
static int __devinit twl4030_vibra_probe(struct platform_device *pdev)
|
||||
{
|
||||
|
@ -273,9 +273,7 @@ static struct platform_driver twl4030_vibra_driver = {
|
|||
.driver = {
|
||||
.name = "twl4030-vibra",
|
||||
.owner = THIS_MODULE,
|
||||
#ifdef CONFIG_PM
|
||||
.pm = &twl4030_vibra_pm_ops,
|
||||
#endif
|
||||
},
|
||||
};
|
||||
module_platform_driver(twl4030_vibra_driver);
|
||||
|
|
|
@ -952,7 +952,9 @@ static const struct alps_model_info *alps_get_model(struct psmouse *psmouse, int
|
|||
|
||||
/*
|
||||
* First try "E6 report".
|
||||
* ALPS should return 0,0,10 or 0,0,100
|
||||
* ALPS should return 0,0,10 or 0,0,100 if no buttons are pressed.
|
||||
* The bits 0-2 of the first byte will be 1s if some buttons are
|
||||
* pressed.
|
||||
*/
|
||||
param[0] = 0;
|
||||
if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES) ||
|
||||
|
@ -968,7 +970,8 @@ static const struct alps_model_info *alps_get_model(struct psmouse *psmouse, int
|
|||
psmouse_dbg(psmouse, "E6 report: %2.2x %2.2x %2.2x",
|
||||
param[0], param[1], param[2]);
|
||||
|
||||
if (param[0] != 0 || param[1] != 0 || (param[2] != 10 && param[2] != 100))
|
||||
if ((param[0] & 0xf8) != 0 || param[1] != 0 ||
|
||||
(param[2] != 10 && param[2] != 100))
|
||||
return NULL;
|
||||
|
||||
/*
|
||||
|
|
|
@ -77,6 +77,8 @@ config TABLET_USB_WACOM
|
|||
tristate "Wacom Intuos/Graphire tablet support (USB)"
|
||||
depends on USB_ARCH_HAS_HCD
|
||||
select USB
|
||||
select NEW_LEDS
|
||||
select LEDS_CLASS
|
||||
help
|
||||
Say Y here if you want to use the USB version of the Wacom Intuos
|
||||
or Graphire tablet. Make sure to say Y to "Mouse support"
|
||||
|
|
|
@ -926,7 +926,7 @@ static int wacom_bpt3_touch(struct wacom_wac *wacom)
|
|||
{
|
||||
struct input_dev *input = wacom->input;
|
||||
unsigned char *data = wacom->data;
|
||||
int count = data[1] & 0x03;
|
||||
int count = data[1] & 0x07;
|
||||
int i;
|
||||
|
||||
if (data[0] != 0x02)
|
||||
|
|
Loading…
Reference in New Issue