aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-05-05 02:35:00 -0400
committerIngo Molnar <mingo@kernel.org>2016-05-05 02:35:00 -0400
commit1fb48f8e54e5ed4d3d8599ba7e83f1f60530c81c (patch)
tree6b8c1ccdd461e211f72c674d183f5129f5fe4a5b /drivers/input
parent778843f934e362ed4ed734520f60a44a78a074b4 (diff)
parent04974df8049fc4240d22759a91e035082ccd18b4 (diff)
Merge tag 'v4.6-rc6' into x86/asm, to refresh the tree
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/joystick/xpad.c2
-rw-r--r--drivers/input/misc/arizona-haptics.c1
-rw-r--r--drivers/input/misc/pmic8xxx-pwrkey.c7
-rw-r--r--drivers/input/misc/twl4030-vibra.c1
-rw-r--r--drivers/input/misc/twl6040-vibra.c8
-rw-r--r--drivers/input/tablet/gtco.c10
6 files changed, 16 insertions, 13 deletions
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index e8a84d12b7ff..1142a93dd90b 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -153,6 +153,7 @@ static const struct xpad_device {
153 { 0x0738, 0x4728, "Mad Catz Street Fighter IV FightPad", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, 153 { 0x0738, 0x4728, "Mad Catz Street Fighter IV FightPad", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
154 { 0x0738, 0x4738, "Mad Catz Wired Xbox 360 Controller (SFIV)", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, 154 { 0x0738, 0x4738, "Mad Catz Wired Xbox 360 Controller (SFIV)", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
155 { 0x0738, 0x4740, "Mad Catz Beat Pad", 0, XTYPE_XBOX360 }, 155 { 0x0738, 0x4740, "Mad Catz Beat Pad", 0, XTYPE_XBOX360 },
156 { 0x0738, 0x4a01, "Mad Catz FightStick TE 2", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
156 { 0x0738, 0x6040, "Mad Catz Beat Pad Pro", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, 157 { 0x0738, 0x6040, "Mad Catz Beat Pad Pro", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX },
157 { 0x0738, 0xb726, "Mad Catz Xbox controller - MW2", 0, XTYPE_XBOX360 }, 158 { 0x0738, 0xb726, "Mad Catz Xbox controller - MW2", 0, XTYPE_XBOX360 },
158 { 0x0738, 0xbeef, "Mad Catz JOYTECH NEO SE Advanced GamePad", XTYPE_XBOX360 }, 159 { 0x0738, 0xbeef, "Mad Catz JOYTECH NEO SE Advanced GamePad", XTYPE_XBOX360 },
@@ -304,6 +305,7 @@ static struct usb_device_id xpad_table[] = {
304 XPAD_XBOX360_VENDOR(0x046d), /* Logitech X-Box 360 style controllers */ 305 XPAD_XBOX360_VENDOR(0x046d), /* Logitech X-Box 360 style controllers */
305 XPAD_XBOX360_VENDOR(0x0738), /* Mad Catz X-Box 360 controllers */ 306 XPAD_XBOX360_VENDOR(0x0738), /* Mad Catz X-Box 360 controllers */
306 { USB_DEVICE(0x0738, 0x4540) }, /* Mad Catz Beat Pad */ 307 { USB_DEVICE(0x0738, 0x4540) }, /* Mad Catz Beat Pad */
308 XPAD_XBOXONE_VENDOR(0x0738), /* Mad Catz FightStick TE 2 */
307 XPAD_XBOX360_VENDOR(0x0e6f), /* 0x0e6f X-Box 360 controllers */ 309 XPAD_XBOX360_VENDOR(0x0e6f), /* 0x0e6f X-Box 360 controllers */
308 XPAD_XBOX360_VENDOR(0x12ab), /* X-Box 360 dance pads */ 310 XPAD_XBOX360_VENDOR(0x12ab), /* X-Box 360 dance pads */
309 XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */ 311 XPAD_XBOX360_VENDOR(0x1430), /* RedOctane X-Box 360 controllers */
diff --git a/drivers/input/misc/arizona-haptics.c b/drivers/input/misc/arizona-haptics.c
index d5994a745ffa..982936334537 100644
--- a/drivers/input/misc/arizona-haptics.c
+++ b/drivers/input/misc/arizona-haptics.c
@@ -178,7 +178,6 @@ static int arizona_haptics_probe(struct platform_device *pdev)
178 input_set_drvdata(haptics->input_dev, haptics); 178 input_set_drvdata(haptics->input_dev, haptics);
179 179
180 haptics->input_dev->name = "arizona:haptics"; 180 haptics->input_dev->name = "arizona:haptics";
181 haptics->input_dev->dev.parent = pdev->dev.parent;
182 haptics->input_dev->close = arizona_haptics_close; 181 haptics->input_dev->close = arizona_haptics_close;
183 __set_bit(FF_RUMBLE, haptics->input_dev->ffbit); 182 __set_bit(FF_RUMBLE, haptics->input_dev->ffbit);
184 183
diff --git a/drivers/input/misc/pmic8xxx-pwrkey.c b/drivers/input/misc/pmic8xxx-pwrkey.c
index 3f02e0e03d12..67aab86048ad 100644
--- a/drivers/input/misc/pmic8xxx-pwrkey.c
+++ b/drivers/input/misc/pmic8xxx-pwrkey.c
@@ -353,7 +353,8 @@ static int pmic8xxx_pwrkey_probe(struct platform_device *pdev)
353 if (of_property_read_u32(pdev->dev.of_node, "debounce", &kpd_delay)) 353 if (of_property_read_u32(pdev->dev.of_node, "debounce", &kpd_delay))
354 kpd_delay = 15625; 354 kpd_delay = 15625;
355 355
356 if (kpd_delay > 62500 || kpd_delay == 0) { 356 /* Valid range of pwr key trigger delay is 1/64 sec to 2 seconds. */
357 if (kpd_delay > USEC_PER_SEC * 2 || kpd_delay < USEC_PER_SEC / 64) {
357 dev_err(&pdev->dev, "invalid power key trigger delay\n"); 358 dev_err(&pdev->dev, "invalid power key trigger delay\n");
358 return -EINVAL; 359 return -EINVAL;
359 } 360 }
@@ -385,8 +386,8 @@ static int pmic8xxx_pwrkey_probe(struct platform_device *pdev)
385 pwr->name = "pmic8xxx_pwrkey"; 386 pwr->name = "pmic8xxx_pwrkey";
386 pwr->phys = "pmic8xxx_pwrkey/input0"; 387 pwr->phys = "pmic8xxx_pwrkey/input0";
387 388
388 delay = (kpd_delay << 10) / USEC_PER_SEC; 389 delay = (kpd_delay << 6) / USEC_PER_SEC;
389 delay = 1 + ilog2(delay); 390 delay = ilog2(delay);
390 391
391 err = regmap_read(regmap, PON_CNTL_1, &pon_cntl); 392 err = regmap_read(regmap, PON_CNTL_1, &pon_cntl);
392 if (err < 0) { 393 if (err < 0) {
diff --git a/drivers/input/misc/twl4030-vibra.c b/drivers/input/misc/twl4030-vibra.c
index 10c4e3d462f1..caa5a62c42fb 100644
--- a/drivers/input/misc/twl4030-vibra.c
+++ b/drivers/input/misc/twl4030-vibra.c
@@ -222,7 +222,6 @@ static int twl4030_vibra_probe(struct platform_device *pdev)
222 222
223 info->input_dev->name = "twl4030:vibrator"; 223 info->input_dev->name = "twl4030:vibrator";
224 info->input_dev->id.version = 1; 224 info->input_dev->id.version = 1;
225 info->input_dev->dev.parent = pdev->dev.parent;
226 info->input_dev->close = twl4030_vibra_close; 225 info->input_dev->close = twl4030_vibra_close;
227 __set_bit(FF_RUMBLE, info->input_dev->ffbit); 226 __set_bit(FF_RUMBLE, info->input_dev->ffbit);
228 227
diff --git a/drivers/input/misc/twl6040-vibra.c b/drivers/input/misc/twl6040-vibra.c
index ea63fad48de6..53e33fab3f7a 100644
--- a/drivers/input/misc/twl6040-vibra.c
+++ b/drivers/input/misc/twl6040-vibra.c
@@ -45,7 +45,6 @@
45struct vibra_info { 45struct vibra_info {
46 struct device *dev; 46 struct device *dev;
47 struct input_dev *input_dev; 47 struct input_dev *input_dev;
48 struct workqueue_struct *workqueue;
49 struct work_struct play_work; 48 struct work_struct play_work;
50 struct mutex mutex; 49 struct mutex mutex;
51 int irq; 50 int irq;
@@ -213,11 +212,7 @@ static int vibra_play(struct input_dev *input, void *data,
213 info->strong_speed = effect->u.rumble.strong_magnitude; 212 info->strong_speed = effect->u.rumble.strong_magnitude;
214 info->direction = effect->direction < EFFECT_DIR_180_DEG ? 1 : -1; 213 info->direction = effect->direction < EFFECT_DIR_180_DEG ? 1 : -1;
215 214
216 ret = queue_work(info->workqueue, &info->play_work); 215 schedule_work(&info->play_work);
217 if (!ret) {
218 dev_info(&input->dev, "work is already on queue\n");
219 return ret;
220 }
221 216
222 return 0; 217 return 0;
223} 218}
@@ -362,7 +357,6 @@ static int twl6040_vibra_probe(struct platform_device *pdev)
362 357
363 info->input_dev->name = "twl6040:vibrator"; 358 info->input_dev->name = "twl6040:vibrator";
364 info->input_dev->id.version = 1; 359 info->input_dev->id.version = 1;
365 info->input_dev->dev.parent = pdev->dev.parent;
366 info->input_dev->close = twl6040_vibra_close; 360 info->input_dev->close = twl6040_vibra_close;
367 __set_bit(FF_RUMBLE, info->input_dev->ffbit); 361 __set_bit(FF_RUMBLE, info->input_dev->ffbit);
368 362
diff --git a/drivers/input/tablet/gtco.c b/drivers/input/tablet/gtco.c
index 3a7f3a4a4396..7c18249d6c8e 100644
--- a/drivers/input/tablet/gtco.c
+++ b/drivers/input/tablet/gtco.c
@@ -858,6 +858,14 @@ static int gtco_probe(struct usb_interface *usbinterface,
858 goto err_free_buf; 858 goto err_free_buf;
859 } 859 }
860 860
861 /* Sanity check that a device has an endpoint */
862 if (usbinterface->altsetting[0].desc.bNumEndpoints < 1) {
863 dev_err(&usbinterface->dev,
864 "Invalid number of endpoints\n");
865 error = -EINVAL;
866 goto err_free_urb;
867 }
868
861 /* 869 /*
862 * The endpoint is always altsetting 0, we know this since we know 870 * The endpoint is always altsetting 0, we know this since we know
863 * this device only has one interrupt endpoint 871 * this device only has one interrupt endpoint
@@ -879,7 +887,7 @@ static int gtco_probe(struct usb_interface *usbinterface,
879 * HID report descriptor 887 * HID report descriptor
880 */ 888 */
881 if (usb_get_extra_descriptor(usbinterface->cur_altsetting, 889 if (usb_get_extra_descriptor(usbinterface->cur_altsetting,
882 HID_DEVICE_TYPE, &hid_desc) != 0){ 890 HID_DEVICE_TYPE, &hid_desc) != 0) {
883 dev_err(&usbinterface->dev, 891 dev_err(&usbinterface->dev,
884 "Can't retrieve exta USB descriptor to get hid report descriptor length\n"); 892 "Can't retrieve exta USB descriptor to get hid report descriptor length\n");
885 error = -EIO; 893 error = -EIO;