|
@@ -812,8 +812,6 @@ static void mousedev_cleanup(struct mousedev *mousedev)
|
|
|
mousedev_mark_dead(mousedev);
|
|
|
mousedev_hangup(mousedev);
|
|
|
|
|
|
- cdev_del(&mousedev->cdev);
|
|
|
-
|
|
|
/* mousedev is marked dead so no one else accesses mousedev->open */
|
|
|
if (mousedev->open)
|
|
|
input_close_device(handle);
|
|
@@ -901,12 +899,8 @@ static struct mousedev *mousedev_create(struct input_dev *dev,
|
|
|
}
|
|
|
|
|
|
cdev_init(&mousedev->cdev, &mousedev_fops);
|
|
|
- mousedev->cdev.kobj.parent = &mousedev->dev.kobj;
|
|
|
- error = cdev_add(&mousedev->cdev, mousedev->dev.devt, 1);
|
|
|
- if (error)
|
|
|
- goto err_unregister_handle;
|
|
|
|
|
|
- error = device_add(&mousedev->dev);
|
|
|
+ error = cdev_device_add(&mousedev->cdev, &mousedev->dev);
|
|
|
if (error)
|
|
|
goto err_cleanup_mousedev;
|
|
|
|
|
@@ -914,7 +908,6 @@ static struct mousedev *mousedev_create(struct input_dev *dev,
|
|
|
|
|
|
err_cleanup_mousedev:
|
|
|
mousedev_cleanup(mousedev);
|
|
|
- err_unregister_handle:
|
|
|
if (!mixdev)
|
|
|
input_unregister_handle(&mousedev->handle);
|
|
|
err_free_mousedev:
|
|
@@ -927,7 +920,7 @@ static struct mousedev *mousedev_create(struct input_dev *dev,
|
|
|
|
|
|
static void mousedev_destroy(struct mousedev *mousedev)
|
|
|
{
|
|
|
- device_del(&mousedev->dev);
|
|
|
+ cdev_device_del(&mousedev->cdev, &mousedev->dev);
|
|
|
mousedev_cleanup(mousedev);
|
|
|
input_free_minor(MINOR(mousedev->dev.devt));
|
|
|
if (mousedev != mousedev_mix)
|