]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/input/serio/serio_raw.c
i2c-nforce2: The nForce2 can do block transactions
[linux-2.6-omap-h63xx.git] / drivers / input / serio / serio_raw.c
index 8734e7f75b7d5cc06a61e1331b294be4855ab07b..0403622ae26752976327823802861b321b521d69 100644 (file)
@@ -16,7 +16,6 @@
 #include <linux/init.h>
 #include <linux/major.h>
 #include <linux/device.h>
-#include <linux/devfs_fs_kernel.h>
 #include <linux/miscdevice.h>
 #include <linux/wait.h>
 #include <linux/mutex.h>
@@ -96,12 +95,11 @@ static int serio_raw_open(struct inode *inode, struct file *file)
                goto out;
        }
 
-       if (!(list = kmalloc(sizeof(struct serio_raw_list), GFP_KERNEL))) {
+       if (!(list = kzalloc(sizeof(struct serio_raw_list), GFP_KERNEL))) {
                retval = -ENOMEM;
                goto out;
        }
 
-       memset(list, 0, sizeof(struct serio_raw_list));
        list->serio_raw = serio_raw;
        file->private_data = list;
 
@@ -162,7 +160,7 @@ static ssize_t serio_raw_read(struct file *file, char __user *buffer, size_t cou
 {
        struct serio_raw_list *list = file->private_data;
        struct serio_raw *serio_raw = list->serio_raw;
-       char c;
+       char uninitialized_var(c);
        ssize_t retval = 0;
 
        if (!serio_raw->serio)
@@ -236,7 +234,7 @@ static unsigned int serio_raw_poll(struct file *file, poll_table *wait)
        return 0;
 }
 
-static struct file_operations serio_raw_fops = {
+static const struct file_operations serio_raw_fops = {
        .owner =        THIS_MODULE,
        .open =         serio_raw_open,
        .release =      serio_raw_release,
@@ -252,7 +250,7 @@ static struct file_operations serio_raw_fops = {
  *********************************************************************/
 
 static irqreturn_t serio_raw_interrupt(struct serio *serio, unsigned char data,
-                                       unsigned int dfl, struct pt_regs *regs)
+                                       unsigned int dfl)
 {
        struct serio_raw *serio_raw = serio_get_drvdata(serio);
        struct serio_raw_list *list;
@@ -276,14 +274,13 @@ static int serio_raw_connect(struct serio *serio, struct serio_driver *drv)
        struct serio_raw *serio_raw;
        int err;
 
-       if (!(serio_raw = kmalloc(sizeof(struct serio_raw), GFP_KERNEL))) {
+       if (!(serio_raw = kzalloc(sizeof(struct serio_raw), GFP_KERNEL))) {
                printk(KERN_ERR "serio_raw.c: can't allocate memory for a device\n");
                return -ENOMEM;
        }
 
        mutex_lock(&serio_raw_mutex);
 
-       memset(serio_raw, 0, sizeof(struct serio_raw));
        snprintf(serio_raw->name, sizeof(serio_raw->name), "serio_raw%d", serio_raw_no++);
        serio_raw->refcnt = 1;
        serio_raw->serio = serio;
@@ -300,7 +297,7 @@ static int serio_raw_connect(struct serio *serio, struct serio_driver *drv)
 
        serio_raw->dev.minor = PSMOUSE_MINOR;
        serio_raw->dev.name = serio_raw->name;
-       serio_raw->dev.dev = &serio->dev;
+       serio_raw->dev.parent = &serio->dev;
        serio_raw->dev.fops = &serio_raw_fops;
 
        err = misc_register(&serio_raw->dev);
@@ -392,8 +389,7 @@ static struct serio_driver serio_raw_drv = {
 
 static int __init serio_raw_init(void)
 {
-       serio_register_driver(&serio_raw_drv);
-       return 0;
+       return serio_register_driver(&serio_raw_drv);
 }
 
 static void __exit serio_raw_exit(void)