diff options
| -rw-r--r-- | Documentation/input/alps.txt | 3 | ||||
| -rw-r--r-- | drivers/input/evdev.c | 2 | ||||
| -rw-r--r-- | drivers/input/misc/twl4030-vibra.c | 6 | ||||
| -rw-r--r-- | drivers/input/mouse/alps.c | 7 | ||||
| -rw-r--r-- | drivers/input/tablet/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/input/tablet/wacom_wac.c | 2 |
6 files changed, 13 insertions, 9 deletions
diff --git a/Documentation/input/alps.txt b/Documentation/input/alps.txt index f274c28b5103..2f95308251d4 100644 --- a/Documentation/input/alps.txt +++ b/Documentation/input/alps.txt | |||
| @@ -13,7 +13,8 @@ Detection | |||
| 13 | 13 | ||
| 14 | All ALPS touchpads should respond to the "E6 report" command sequence: | 14 | All ALPS touchpads should respond to the "E6 report" command sequence: |
| 15 | E8-E6-E6-E6-E9. An ALPS touchpad should respond with either 00-00-0A or | 15 | E8-E6-E6-E6-E9. An ALPS touchpad should respond with either 00-00-0A or |
| 16 | 00-00-64. | 16 | 00-00-64 if no buttons are pressed. The bits 0-2 of the first byte will be 1s |
| 17 | if some buttons are pressed. | ||
| 17 | 18 | ||
| 18 | If the E6 report is successful, the touchpad model is identified using the "E7 | 19 | If the E6 report is successful, the touchpad model is identified using the "E7 |
| 19 | report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is | 20 | report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is |
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index afc166fcc3d9..7df5bfef2624 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c | |||
| @@ -332,7 +332,7 @@ static ssize_t evdev_write(struct file *file, const char __user *buffer, | |||
| 332 | struct evdev_client *client = file->private_data; | 332 | struct evdev_client *client = file->private_data; |
| 333 | struct evdev *evdev = client->evdev; | 333 | struct evdev *evdev = client->evdev; |
| 334 | struct input_event event; | 334 | struct input_event event; |
| 335 | int retval; | 335 | int retval = 0; |
| 336 | 336 | ||
| 337 | if (count < input_event_size()) | 337 | if (count < input_event_size()) |
| 338 | return -EINVAL; | 338 | return -EINVAL; |
diff --git a/drivers/input/misc/twl4030-vibra.c b/drivers/input/misc/twl4030-vibra.c index 37651373a95b..f3bc4189a7ba 100644 --- a/drivers/input/misc/twl4030-vibra.c +++ b/drivers/input/misc/twl4030-vibra.c | |||
| @@ -172,7 +172,7 @@ static void twl4030_vibra_close(struct input_dev *input) | |||
| 172 | } | 172 | } |
| 173 | 173 | ||
| 174 | /*** Module ***/ | 174 | /*** Module ***/ |
| 175 | #if CONFIG_PM | 175 | #if CONFIG_PM_SLEEP |
| 176 | static int twl4030_vibra_suspend(struct device *dev) | 176 | static int twl4030_vibra_suspend(struct device *dev) |
| 177 | { | 177 | { |
| 178 | struct platform_device *pdev = to_platform_device(dev); | 178 | struct platform_device *pdev = to_platform_device(dev); |
| @@ -189,10 +189,10 @@ static int twl4030_vibra_resume(struct device *dev) | |||
| 189 | vibra_disable_leds(); | 189 | vibra_disable_leds(); |
| 190 | return 0; | 190 | return 0; |
| 191 | } | 191 | } |
| 192 | #endif | ||
| 192 | 193 | ||
| 193 | static SIMPLE_DEV_PM_OPS(twl4030_vibra_pm_ops, | 194 | static SIMPLE_DEV_PM_OPS(twl4030_vibra_pm_ops, |
| 194 | twl4030_vibra_suspend, twl4030_vibra_resume); | 195 | twl4030_vibra_suspend, twl4030_vibra_resume); |
| 195 | #endif | ||
| 196 | 196 | ||
| 197 | static int __devinit twl4030_vibra_probe(struct platform_device *pdev) | 197 | static int __devinit twl4030_vibra_probe(struct platform_device *pdev) |
| 198 | { | 198 | { |
| @@ -273,9 +273,7 @@ static struct platform_driver twl4030_vibra_driver = { | |||
| 273 | .driver = { | 273 | .driver = { |
| 274 | .name = "twl4030-vibra", | 274 | .name = "twl4030-vibra", |
| 275 | .owner = THIS_MODULE, | 275 | .owner = THIS_MODULE, |
| 276 | #ifdef CONFIG_PM | ||
| 277 | .pm = &twl4030_vibra_pm_ops, | 276 | .pm = &twl4030_vibra_pm_ops, |
| 278 | #endif | ||
| 279 | }, | 277 | }, |
| 280 | }; | 278 | }; |
| 281 | module_platform_driver(twl4030_vibra_driver); | 279 | module_platform_driver(twl4030_vibra_driver); |
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index bd87380bd879..4c6a72d3d48c 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c | |||
| @@ -952,7 +952,9 @@ static const struct alps_model_info *alps_get_model(struct psmouse *psmouse, int | |||
| 952 | 952 | ||
| 953 | /* | 953 | /* |
| 954 | * First try "E6 report". | 954 | * First try "E6 report". |
| 955 | * ALPS should return 0,0,10 or 0,0,100 | 955 | * ALPS should return 0,0,10 or 0,0,100 if no buttons are pressed. |
| 956 | * The bits 0-2 of the first byte will be 1s if some buttons are | ||
| 957 | * pressed. | ||
| 956 | */ | 958 | */ |
| 957 | param[0] = 0; | 959 | param[0] = 0; |
| 958 | if (ps2_command(ps2dev, param, PSMOUSE_CMD_SETRES) || | 960 | 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 | |||
| 968 | psmouse_dbg(psmouse, "E6 report: %2.2x %2.2x %2.2x", | 970 | psmouse_dbg(psmouse, "E6 report: %2.2x %2.2x %2.2x", |
| 969 | param[0], param[1], param[2]); | 971 | param[0], param[1], param[2]); |
| 970 | 972 | ||
| 971 | if (param[0] != 0 || param[1] != 0 || (param[2] != 10 && param[2] != 100)) | 973 | if ((param[0] & 0xf8) != 0 || param[1] != 0 || |
| 974 | (param[2] != 10 && param[2] != 100)) | ||
| 972 | return NULL; | 975 | return NULL; |
| 973 | 976 | ||
| 974 | /* | 977 | /* |
diff --git a/drivers/input/tablet/Kconfig b/drivers/input/tablet/Kconfig index 58a87755b936..e53f4081a586 100644 --- a/drivers/input/tablet/Kconfig +++ b/drivers/input/tablet/Kconfig | |||
| @@ -77,6 +77,8 @@ config TABLET_USB_WACOM | |||
| 77 | tristate "Wacom Intuos/Graphire tablet support (USB)" | 77 | tristate "Wacom Intuos/Graphire tablet support (USB)" |
| 78 | depends on USB_ARCH_HAS_HCD | 78 | depends on USB_ARCH_HAS_HCD |
| 79 | select USB | 79 | select USB |
| 80 | select NEW_LEDS | ||
| 81 | select LEDS_CLASS | ||
| 80 | help | 82 | help |
| 81 | Say Y here if you want to use the USB version of the Wacom Intuos | 83 | Say Y here if you want to use the USB version of the Wacom Intuos |
| 82 | or Graphire tablet. Make sure to say Y to "Mouse support" | 84 | or Graphire tablet. Make sure to say Y to "Mouse support" |
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c index 88672ec296c1..cd3ed29e0801 100644 --- a/drivers/input/tablet/wacom_wac.c +++ b/drivers/input/tablet/wacom_wac.c | |||
| @@ -926,7 +926,7 @@ static int wacom_bpt3_touch(struct wacom_wac *wacom) | |||
| 926 | { | 926 | { |
| 927 | struct input_dev *input = wacom->input; | 927 | struct input_dev *input = wacom->input; |
| 928 | unsigned char *data = wacom->data; | 928 | unsigned char *data = wacom->data; |
| 929 | int count = data[1] & 0x03; | 929 | int count = data[1] & 0x07; |
| 930 | int i; | 930 | int i; |
| 931 | 931 | ||
| 932 | if (data[0] != 0x02) | 932 | if (data[0] != 0x02) |
