aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/joydev.c
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /drivers/input/joydev.c
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'drivers/input/joydev.c')
-rw-r--r--drivers/input/joydev.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c
index 22239e988498..c24ec2d5f926 100644
--- a/drivers/input/joydev.c
+++ b/drivers/input/joydev.c
@@ -10,6 +10,8 @@
10 * (at your option) any later version. 10 * (at your option) any later version.
11 */ 11 */
12 12
13#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
14
13#include <asm/io.h> 15#include <asm/io.h>
14#include <asm/system.h> 16#include <asm/system.h>
15#include <linux/delay.h> 17#include <linux/delay.h>
@@ -178,7 +180,6 @@ static void joydev_attach_client(struct joydev *joydev,
178 spin_lock(&joydev->client_lock); 180 spin_lock(&joydev->client_lock);
179 list_add_tail_rcu(&client->node, &joydev->client_list); 181 list_add_tail_rcu(&client->node, &joydev->client_list);
180 spin_unlock(&joydev->client_lock); 182 spin_unlock(&joydev->client_lock);
181 synchronize_rcu();
182} 183}
183 184
184static void joydev_detach_client(struct joydev *joydev, 185static void joydev_detach_client(struct joydev *joydev,
@@ -739,6 +740,7 @@ static const struct file_operations joydev_fops = {
739 .compat_ioctl = joydev_compat_ioctl, 740 .compat_ioctl = joydev_compat_ioctl,
740#endif 741#endif
741 .fasync = joydev_fasync, 742 .fasync = joydev_fasync,
743 .llseek = no_llseek,
742}; 744};
743 745
744static int joydev_install_chrdev(struct joydev *joydev) 746static int joydev_install_chrdev(struct joydev *joydev)
@@ -755,7 +757,7 @@ static void joydev_remove_chrdev(struct joydev *joydev)
755} 757}
756 758
757/* 759/*
758 * Mark device non-existant. This disables writes, ioctls and 760 * Mark device non-existent. This disables writes, ioctls and
759 * prevents new users from opening the device. Already posted 761 * prevents new users from opening the device. Already posted
760 * blocking reads will stay, however new ones will fail. 762 * blocking reads will stay, however new ones will fail.
761 */ 763 */
@@ -774,7 +776,7 @@ static void joydev_cleanup(struct joydev *joydev)
774 joydev_hangup(joydev); 776 joydev_hangup(joydev);
775 joydev_remove_chrdev(joydev); 777 joydev_remove_chrdev(joydev);
776 778
777 /* joydev is marked dead so noone else accesses joydev->open */ 779 /* joydev is marked dead so no one else accesses joydev->open */
778 if (joydev->open) 780 if (joydev->open)
779 input_close_device(handle); 781 input_close_device(handle);
780} 782}
@@ -805,7 +807,7 @@ static int joydev_connect(struct input_handler *handler, struct input_dev *dev,
805 break; 807 break;
806 808
807 if (minor == JOYDEV_MINORS) { 809 if (minor == JOYDEV_MINORS) {
808 printk(KERN_ERR "joydev: no more free joydev devices\n"); 810 pr_err("no more free joydev devices\n");
809 return -ENFILE; 811 return -ENFILE;
810 } 812 }
811 813