diff options
author | Logan Gunthorpe <logang@deltatee.com> | 2017-03-17 14:48:11 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-21 01:44:32 -0400 |
commit | 358a89ca2c9680ceddc219ab25d1583619e9159f (patch) | |
tree | c080239726f49d6341d58163b7e2c5e2b6555b26 /drivers/input/joydev.c | |
parent | 92a3fa075d3d2716b9c662814540f1d660cbf2f5 (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/joydev.c')
-rw-r--r-- | drivers/input/joydev.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c index 065e67bf56dd..29d677c714d2 100644 --- a/drivers/input/joydev.c +++ b/drivers/input/joydev.c | |||
@@ -742,8 +742,6 @@ static void joydev_cleanup(struct joydev *joydev) | |||
742 | joydev_mark_dead(joydev); | 742 | joydev_mark_dead(joydev); |
743 | joydev_hangup(joydev); | 743 | joydev_hangup(joydev); |
744 | 744 | ||
745 | cdev_del(&joydev->cdev); | ||
746 | |||
747 | /* joydev is marked dead so no one else accesses joydev->open */ | 745 | /* joydev is marked dead so no one else accesses joydev->open */ |
748 | if (joydev->open) | 746 | if (joydev->open) |
749 | input_close_device(handle); | 747 | input_close_device(handle); |
@@ -913,12 +911,8 @@ static int joydev_connect(struct input_handler *handler, struct input_dev *dev, | |||
913 | goto err_free_joydev; | 911 | goto err_free_joydev; |
914 | 912 | ||
915 | cdev_init(&joydev->cdev, &joydev_fops); | 913 | cdev_init(&joydev->cdev, &joydev_fops); |
916 | joydev->cdev.kobj.parent = &joydev->dev.kobj; | ||
917 | error = cdev_add(&joydev->cdev, joydev->dev.devt, 1); | ||
918 | if (error) | ||
919 | goto err_unregister_handle; | ||
920 | 914 | ||
921 | error = device_add(&joydev->dev); | 915 | error = cdev_device_add(&joydev->cdev, &joydev->dev); |
922 | if (error) | 916 | if (error) |
923 | goto err_cleanup_joydev; | 917 | goto err_cleanup_joydev; |
924 | 918 | ||
@@ -926,7 +920,6 @@ static int joydev_connect(struct input_handler *handler, struct input_dev *dev, | |||
926 | 920 | ||
927 | err_cleanup_joydev: | 921 | err_cleanup_joydev: |
928 | joydev_cleanup(joydev); | 922 | joydev_cleanup(joydev); |
929 | err_unregister_handle: | ||
930 | input_unregister_handle(&joydev->handle); | 923 | input_unregister_handle(&joydev->handle); |
931 | err_free_joydev: | 924 | err_free_joydev: |
932 | put_device(&joydev->dev); | 925 | put_device(&joydev->dev); |
@@ -939,7 +932,7 @@ static void joydev_disconnect(struct input_handle *handle) | |||
939 | { | 932 | { |
940 | struct joydev *joydev = handle->private; | 933 | struct joydev *joydev = handle->private; |
941 | 934 | ||
942 | device_del(&joydev->dev); | 935 | cdev_device_del(&joydev->cdev, &joydev->dev); |
943 | joydev_cleanup(joydev); | 936 | joydev_cleanup(joydev); |
944 | input_free_minor(MINOR(joydev->dev.devt)); | 937 | input_free_minor(MINOR(joydev->dev.devt)); |
945 | input_unregister_handle(handle); | 938 | input_unregister_handle(handle); |