aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/mousedev.c
diff options
context:
space:
mode:
authorLogan Gunthorpe <logang@deltatee.com>2017-03-17 14:48:11 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-03-21 01:44:32 -0400
commit358a89ca2c9680ceddc219ab25d1583619e9159f (patch)
treec080239726f49d6341d58163b7e2c5e2b6555b26 /drivers/input/mousedev.c
parent92a3fa075d3d2716b9c662814540f1d660cbf2f5 (diff)
input: utilize new cdev_device_add helper function
Replace the open coded registration of the cdev and dev with the new device_add_cdev() helper in evdev, joydev and mousedev. The helper replaces a common pattern by taking the proper reference against the parent device and adding both the cdev and the device. Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/input/mousedev.c')
-rw-r--r--drivers/input/mousedev.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index b604564dec5c..0e0ff84088fd 100644
--- a/drivers/input/mousedev.c
+++ b/drivers/input/mousedev.c
@@ -812,8 +812,6 @@ static void mousedev_cleanup(struct mousedev *mousedev)
812 mousedev_mark_dead(mousedev); 812 mousedev_mark_dead(mousedev);
813 mousedev_hangup(mousedev); 813 mousedev_hangup(mousedev);
814 814
815 cdev_del(&mousedev->cdev);
816
817 /* mousedev is marked dead so no one else accesses mousedev->open */ 815 /* mousedev is marked dead so no one else accesses mousedev->open */
818 if (mousedev->open) 816 if (mousedev->open)
819 input_close_device(handle); 817 input_close_device(handle);
@@ -901,12 +899,8 @@ static struct mousedev *mousedev_create(struct input_dev *dev,
901 } 899 }
902 900
903 cdev_init(&mousedev->cdev, &mousedev_fops); 901 cdev_init(&mousedev->cdev, &mousedev_fops);
904 mousedev->cdev.kobj.parent = &mousedev->dev.kobj;
905 error = cdev_add(&mousedev->cdev, mousedev->dev.devt, 1);
906 if (error)
907 goto err_unregister_handle;
908 902
909 error = device_add(&mousedev->dev); 903 error = cdev_device_add(&mousedev->cdev, &mousedev->dev);
910 if (error) 904 if (error)
911 goto err_cleanup_mousedev; 905 goto err_cleanup_mousedev;
912 906
@@ -914,7 +908,6 @@ static struct mousedev *mousedev_create(struct input_dev *dev,
914 908
915 err_cleanup_mousedev: 909 err_cleanup_mousedev:
916 mousedev_cleanup(mousedev); 910 mousedev_cleanup(mousedev);
917 err_unregister_handle:
918 if (!mixdev) 911 if (!mixdev)
919 input_unregister_handle(&mousedev->handle); 912 input_unregister_handle(&mousedev->handle);
920 err_free_mousedev: 913 err_free_mousedev:
@@ -927,7 +920,7 @@ static struct mousedev *mousedev_create(struct input_dev *dev,
927 920
928static void mousedev_destroy(struct mousedev *mousedev) 921static void mousedev_destroy(struct mousedev *mousedev)
929{ 922{
930 device_del(&mousedev->dev); 923 cdev_device_del(&mousedev->cdev, &mousedev->dev);
931 mousedev_cleanup(mousedev); 924 mousedev_cleanup(mousedev);
932 input_free_minor(MINOR(mousedev->dev.devt)); 925 input_free_minor(MINOR(mousedev->dev.devt));
933 if (mousedev != mousedev_mix) 926 if (mousedev != mousedev_mix)