]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/input/evdev.c
Merge commit 'origin/HEAD' into test-merge
[linux-2.6-omap-h63xx.git] / drivers / input / evdev.c
index e5b4e9bfbdc5b044b968a70579f13eea513a12c6..b32984bc516ff271cacbe72b56a60350bef63868 100644 (file)
@@ -124,6 +124,7 @@ static void evdev_free(struct device *dev)
 {
        struct evdev *evdev = container_of(dev, struct evdev, dev);
 
+       input_put_device(evdev->handle.dev);
        kfree(evdev);
 }
 
@@ -617,7 +618,7 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
                if (get_user(t, ip))
                        return -EFAULT;
 
-               error = dev->getkeycode(dev, t, &v);
+               error = input_get_keycode(dev, t, &v);
                if (error)
                        return error;
 
@@ -630,7 +631,7 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
                if (get_user(t, ip) || get_user(v, ip + 1))
                        return -EFAULT;
 
-               return dev->setkeycode(dev, t, v);
+               return input_set_keycode(dev, t, v);
 
        case EVIOCSFF:
                if (copy_from_user(&effect, p, sizeof(effect)))
@@ -683,7 +684,7 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
                                case EV_FF:  bits = dev->ffbit;  len = FF_MAX;  break;
                                case EV_SW:  bits = dev->swbit;  len = SW_MAX;  break;
                                default: return -EINVAL;
-                       }
+                               }
                                return bits_to_user(bits, len, _IOC_SIZE(cmd), p, compat_mode);
                        }
 
@@ -893,7 +894,7 @@ static int evdev_connect(struct input_handler *handler, struct input_dev *dev,
        evdev->exist = 1;
        evdev->minor = minor;
 
-       evdev->handle.dev = dev;
+       evdev->handle.dev = input_get_device(dev);
        evdev->handle.name = evdev->name;
        evdev->handle.handler = handler;
        evdev->handle.private = evdev;