aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/serio
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/serio')
-rw-r--r--drivers/input/serio/hp_sdc_mlc.c5
-rw-r--r--drivers/input/serio/q40kbd.c2
-rw-r--r--drivers/input/serio/serio_raw.c6
-rw-r--r--drivers/input/serio/serport.c2
4 files changed, 12 insertions, 3 deletions
diff --git a/drivers/input/serio/hp_sdc_mlc.c b/drivers/input/serio/hp_sdc_mlc.c
index 6c84f4542cc2..b587e2d576ac 100644
--- a/drivers/input/serio/hp_sdc_mlc.c
+++ b/drivers/input/serio/hp_sdc_mlc.c
@@ -306,6 +306,11 @@ static int __init hp_sdc_mlc_init(void)
306{ 306{
307 hil_mlc *mlc = &hp_sdc_mlc; 307 hil_mlc *mlc = &hp_sdc_mlc;
308 308
309#ifdef __mc68000__
310 if (!MACH_IS_HP300)
311 return -ENODEV;
312#endif
313
309 printk(KERN_INFO PREFIX "Registering the System Domain Controller's HIL MLC.\n"); 314 printk(KERN_INFO PREFIX "Registering the System Domain Controller's HIL MLC.\n");
310 315
311 hp_sdc_mlc_priv.emtestmode = 0; 316 hp_sdc_mlc_priv.emtestmode = 0;
diff --git a/drivers/input/serio/q40kbd.c b/drivers/input/serio/q40kbd.c
index ab28cf5949f2..e36a0901646c 100644
--- a/drivers/input/serio/q40kbd.c
+++ b/drivers/input/serio/q40kbd.c
@@ -154,7 +154,7 @@ static int __init q40kbd_init(void)
154 int error; 154 int error;
155 155
156 if (!MACH_IS_Q40) 156 if (!MACH_IS_Q40)
157 return -EIO; 157 return -ENODEV;
158 158
159 error = platform_driver_register(&q40kbd_driver); 159 error = platform_driver_register(&q40kbd_driver);
160 if (error) 160 if (error)
diff --git a/drivers/input/serio/serio_raw.c b/drivers/input/serio/serio_raw.c
index 0403622ae267..c9397c8ee97e 100644
--- a/drivers/input/serio/serio_raw.c
+++ b/drivers/input/serio/serio_raw.c
@@ -10,6 +10,7 @@
10 */ 10 */
11 11
12#include <linux/slab.h> 12#include <linux/slab.h>
13#include <linux/smp_lock.h>
13#include <linux/poll.h> 14#include <linux/poll.h>
14#include <linux/module.h> 15#include <linux/module.h>
15#include <linux/serio.h> 16#include <linux/serio.h>
@@ -81,9 +82,10 @@ static int serio_raw_open(struct inode *inode, struct file *file)
81 struct serio_raw_list *list; 82 struct serio_raw_list *list;
82 int retval = 0; 83 int retval = 0;
83 84
85 lock_kernel();
84 retval = mutex_lock_interruptible(&serio_raw_mutex); 86 retval = mutex_lock_interruptible(&serio_raw_mutex);
85 if (retval) 87 if (retval)
86 return retval; 88 goto out_bkl;
87 89
88 if (!(serio_raw = serio_raw_locate(iminor(inode)))) { 90 if (!(serio_raw = serio_raw_locate(iminor(inode)))) {
89 retval = -ENODEV; 91 retval = -ENODEV;
@@ -108,6 +110,8 @@ static int serio_raw_open(struct inode *inode, struct file *file)
108 110
109out: 111out:
110 mutex_unlock(&serio_raw_mutex); 112 mutex_unlock(&serio_raw_mutex);
113out_bkl:
114 unlock_kernel();
111 return retval; 115 return retval;
112} 116}
113 117
diff --git a/drivers/input/serio/serport.c b/drivers/input/serio/serport.c
index 7ff71ba7b7c9..b9694b6445d0 100644
--- a/drivers/input/serio/serport.c
+++ b/drivers/input/serio/serport.c
@@ -216,7 +216,7 @@ static void serport_ldisc_write_wakeup(struct tty_struct * tty)
216 * The line discipline structure. 216 * The line discipline structure.
217 */ 217 */
218 218
219static struct tty_ldisc serport_ldisc = { 219static struct tty_ldisc_ops serport_ldisc = {
220 .owner = THIS_MODULE, 220 .owner = THIS_MODULE,
221 .name = "input", 221 .name = "input",
222 .open = serport_ldisc_open, 222 .open = serport_ldisc_open,