diff options
Diffstat (limited to 'drivers/input')
-rw-r--r-- | drivers/input/evdev.c | 2 | ||||
-rw-r--r-- | drivers/input/input.c | 20 | ||||
-rw-r--r-- | drivers/input/misc/ati_remote2.c | 14 | ||||
-rw-r--r-- | drivers/input/misc/winbond-cir.c | 12 | ||||
-rw-r--r-- | drivers/input/sparse-keymap.c | 6 |
5 files changed, 26 insertions, 28 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index 9f9816baeb97..2ee6c7a68bdc 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c | |||
@@ -515,7 +515,7 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd, | |||
515 | struct input_absinfo abs; | 515 | struct input_absinfo abs; |
516 | struct ff_effect effect; | 516 | struct ff_effect effect; |
517 | int __user *ip = (int __user *)p; | 517 | int __user *ip = (int __user *)p; |
518 | int i, t, u, v; | 518 | unsigned int i, t, u, v; |
519 | int error; | 519 | int error; |
520 | 520 | ||
521 | switch (cmd) { | 521 | switch (cmd) { |
diff --git a/drivers/input/input.c b/drivers/input/input.c index 41168d5f8c17..e2dd8858e19d 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c | |||
@@ -582,7 +582,8 @@ static int input_fetch_keycode(struct input_dev *dev, int scancode) | |||
582 | } | 582 | } |
583 | 583 | ||
584 | static int input_default_getkeycode(struct input_dev *dev, | 584 | static int input_default_getkeycode(struct input_dev *dev, |
585 | int scancode, int *keycode) | 585 | unsigned int scancode, |
586 | unsigned int *keycode) | ||
586 | { | 587 | { |
587 | if (!dev->keycodesize) | 588 | if (!dev->keycodesize) |
588 | return -EINVAL; | 589 | return -EINVAL; |
@@ -596,7 +597,8 @@ static int input_default_getkeycode(struct input_dev *dev, | |||
596 | } | 597 | } |
597 | 598 | ||
598 | static int input_default_setkeycode(struct input_dev *dev, | 599 | static int input_default_setkeycode(struct input_dev *dev, |
599 | int scancode, int keycode) | 600 | unsigned int scancode, |
601 | unsigned int keycode) | ||
600 | { | 602 | { |
601 | int old_keycode; | 603 | int old_keycode; |
602 | int i; | 604 | int i; |
@@ -654,11 +656,9 @@ static int input_default_setkeycode(struct input_dev *dev, | |||
654 | * This function should be called by anyone interested in retrieving current | 656 | * This function should be called by anyone interested in retrieving current |
655 | * keymap. Presently keyboard and evdev handlers use it. | 657 | * keymap. Presently keyboard and evdev handlers use it. |
656 | */ | 658 | */ |
657 | int input_get_keycode(struct input_dev *dev, int scancode, int *keycode) | 659 | int input_get_keycode(struct input_dev *dev, |
660 | unsigned int scancode, unsigned int *keycode) | ||
658 | { | 661 | { |
659 | if (scancode < 0) | ||
660 | return -EINVAL; | ||
661 | |||
662 | return dev->getkeycode(dev, scancode, keycode); | 662 | return dev->getkeycode(dev, scancode, keycode); |
663 | } | 663 | } |
664 | EXPORT_SYMBOL(input_get_keycode); | 664 | EXPORT_SYMBOL(input_get_keycode); |
@@ -672,16 +672,14 @@ EXPORT_SYMBOL(input_get_keycode); | |||
672 | * This function should be called by anyone needing to update current | 672 | * This function should be called by anyone needing to update current |
673 | * keymap. Presently keyboard and evdev handlers use it. | 673 | * keymap. Presently keyboard and evdev handlers use it. |
674 | */ | 674 | */ |
675 | int input_set_keycode(struct input_dev *dev, int scancode, int keycode) | 675 | int input_set_keycode(struct input_dev *dev, |
676 | unsigned int scancode, unsigned int keycode) | ||
676 | { | 677 | { |
677 | unsigned long flags; | 678 | unsigned long flags; |
678 | int old_keycode; | 679 | int old_keycode; |
679 | int retval; | 680 | int retval; |
680 | 681 | ||
681 | if (scancode < 0) | 682 | if (keycode > KEY_MAX) |
682 | return -EINVAL; | ||
683 | |||
684 | if (keycode < 0 || keycode > KEY_MAX) | ||
685 | return -EINVAL; | 683 | return -EINVAL; |
686 | 684 | ||
687 | spin_lock_irqsave(&dev->event_lock, flags); | 685 | spin_lock_irqsave(&dev->event_lock, flags); |
diff --git a/drivers/input/misc/ati_remote2.c b/drivers/input/misc/ati_remote2.c index 0501f0e65157..15be5430bc6d 100644 --- a/drivers/input/misc/ati_remote2.c +++ b/drivers/input/misc/ati_remote2.c | |||
@@ -474,10 +474,11 @@ static void ati_remote2_complete_key(struct urb *urb) | |||
474 | } | 474 | } |
475 | 475 | ||
476 | static int ati_remote2_getkeycode(struct input_dev *idev, | 476 | static int ati_remote2_getkeycode(struct input_dev *idev, |
477 | int scancode, int *keycode) | 477 | unsigned int scancode, unsigned int *keycode) |
478 | { | 478 | { |
479 | struct ati_remote2 *ar2 = input_get_drvdata(idev); | 479 | struct ati_remote2 *ar2 = input_get_drvdata(idev); |
480 | int index, mode; | 480 | unsigned int mode; |
481 | int index; | ||
481 | 482 | ||
482 | mode = scancode >> 8; | 483 | mode = scancode >> 8; |
483 | if (mode > ATI_REMOTE2_PC || !((1 << mode) & ar2->mode_mask)) | 484 | if (mode > ATI_REMOTE2_PC || !((1 << mode) & ar2->mode_mask)) |
@@ -491,10 +492,12 @@ static int ati_remote2_getkeycode(struct input_dev *idev, | |||
491 | return 0; | 492 | return 0; |
492 | } | 493 | } |
493 | 494 | ||
494 | static int ati_remote2_setkeycode(struct input_dev *idev, int scancode, int keycode) | 495 | static int ati_remote2_setkeycode(struct input_dev *idev, |
496 | unsigned int scancode, unsigned int keycode) | ||
495 | { | 497 | { |
496 | struct ati_remote2 *ar2 = input_get_drvdata(idev); | 498 | struct ati_remote2 *ar2 = input_get_drvdata(idev); |
497 | int index, mode, old_keycode; | 499 | unsigned int mode, old_keycode; |
500 | int index; | ||
498 | 501 | ||
499 | mode = scancode >> 8; | 502 | mode = scancode >> 8; |
500 | if (mode > ATI_REMOTE2_PC || !((1 << mode) & ar2->mode_mask)) | 503 | if (mode > ATI_REMOTE2_PC || !((1 << mode) & ar2->mode_mask)) |
@@ -504,9 +507,6 @@ static int ati_remote2_setkeycode(struct input_dev *idev, int scancode, int keyc | |||
504 | if (index < 0) | 507 | if (index < 0) |
505 | return -EINVAL; | 508 | return -EINVAL; |
506 | 509 | ||
507 | if (keycode < KEY_RESERVED || keycode > KEY_MAX) | ||
508 | return -EINVAL; | ||
509 | |||
510 | old_keycode = ar2->keycode[mode][index]; | 510 | old_keycode = ar2->keycode[mode][index]; |
511 | ar2->keycode[mode][index] = keycode; | 511 | ar2->keycode[mode][index] = keycode; |
512 | __set_bit(keycode, idev->keybit); | 512 | __set_bit(keycode, idev->keybit); |
diff --git a/drivers/input/misc/winbond-cir.c b/drivers/input/misc/winbond-cir.c index cbec3dfdd42b..9c155a43abc2 100644 --- a/drivers/input/misc/winbond-cir.c +++ b/drivers/input/misc/winbond-cir.c | |||
@@ -385,26 +385,24 @@ wbcir_do_getkeycode(struct wbcir_data *data, u32 scancode) | |||
385 | } | 385 | } |
386 | 386 | ||
387 | static int | 387 | static int |
388 | wbcir_getkeycode(struct input_dev *dev, int scancode, int *keycode) | 388 | wbcir_getkeycode(struct input_dev *dev, |
389 | unsigned int scancode, unsigned int *keycode) | ||
389 | { | 390 | { |
390 | struct wbcir_data *data = input_get_drvdata(dev); | 391 | struct wbcir_data *data = input_get_drvdata(dev); |
391 | 392 | ||
392 | *keycode = (int)wbcir_do_getkeycode(data, (u32)scancode); | 393 | *keycode = wbcir_do_getkeycode(data, scancode); |
393 | return 0; | 394 | return 0; |
394 | } | 395 | } |
395 | 396 | ||
396 | static int | 397 | static int |
397 | wbcir_setkeycode(struct input_dev *dev, int sscancode, int keycode) | 398 | wbcir_setkeycode(struct input_dev *dev, |
399 | unsigned int scancode, unsigned int keycode) | ||
398 | { | 400 | { |
399 | struct wbcir_data *data = input_get_drvdata(dev); | 401 | struct wbcir_data *data = input_get_drvdata(dev); |
400 | struct wbcir_keyentry *keyentry; | 402 | struct wbcir_keyentry *keyentry; |
401 | struct wbcir_keyentry *new_keyentry; | 403 | struct wbcir_keyentry *new_keyentry; |
402 | unsigned long flags; | 404 | unsigned long flags; |
403 | unsigned int old_keycode = KEY_RESERVED; | 405 | unsigned int old_keycode = KEY_RESERVED; |
404 | u32 scancode = (u32)sscancode; | ||
405 | |||
406 | if (keycode < 0 || keycode > KEY_MAX) | ||
407 | return -EINVAL; | ||
408 | 406 | ||
409 | new_keyentry = kmalloc(sizeof(*new_keyentry), GFP_KERNEL); | 407 | new_keyentry = kmalloc(sizeof(*new_keyentry), GFP_KERNEL); |
410 | if (!new_keyentry) | 408 | if (!new_keyentry) |
diff --git a/drivers/input/sparse-keymap.c b/drivers/input/sparse-keymap.c index fbd3987af57f..e6bde55e5203 100644 --- a/drivers/input/sparse-keymap.c +++ b/drivers/input/sparse-keymap.c | |||
@@ -64,7 +64,8 @@ struct key_entry *sparse_keymap_entry_from_keycode(struct input_dev *dev, | |||
64 | EXPORT_SYMBOL(sparse_keymap_entry_from_keycode); | 64 | EXPORT_SYMBOL(sparse_keymap_entry_from_keycode); |
65 | 65 | ||
66 | static int sparse_keymap_getkeycode(struct input_dev *dev, | 66 | static int sparse_keymap_getkeycode(struct input_dev *dev, |
67 | int scancode, int *keycode) | 67 | unsigned int scancode, |
68 | unsigned int *keycode) | ||
68 | { | 69 | { |
69 | const struct key_entry *key = | 70 | const struct key_entry *key = |
70 | sparse_keymap_entry_from_scancode(dev, scancode); | 71 | sparse_keymap_entry_from_scancode(dev, scancode); |
@@ -78,7 +79,8 @@ static int sparse_keymap_getkeycode(struct input_dev *dev, | |||
78 | } | 79 | } |
79 | 80 | ||
80 | static int sparse_keymap_setkeycode(struct input_dev *dev, | 81 | static int sparse_keymap_setkeycode(struct input_dev *dev, |
81 | int scancode, int keycode) | 82 | unsigned int scancode, |
83 | unsigned int keycode) | ||
82 | { | 84 | { |
83 | struct key_entry *key; | 85 | struct key_entry *key; |
84 | int old_keycode; | 86 | int old_keycode; |