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 | |
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>
-rw-r--r-- | drivers/input/evdev.c | 11 | ||||
-rw-r--r-- | drivers/input/joydev.c | 11 | ||||
-rw-r--r-- | drivers/input/mousedev.c | 11 |
3 files changed, 6 insertions, 27 deletions
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index e9ae3d500a55..925571475005 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c | |||
@@ -1354,8 +1354,6 @@ static void evdev_cleanup(struct evdev *evdev) | |||
1354 | evdev_mark_dead(evdev); | 1354 | evdev_mark_dead(evdev); |
1355 | evdev_hangup(evdev); | 1355 | evdev_hangup(evdev); |
1356 | 1356 | ||
1357 | cdev_del(&evdev->cdev); | ||
1358 | |||
1359 | /* evdev is marked dead so no one else accesses evdev->open */ | 1357 | /* evdev is marked dead so no one else accesses evdev->open */ |
1360 | if (evdev->open) { | 1358 | if (evdev->open) { |
1361 | input_flush_device(handle, NULL); | 1359 | input_flush_device(handle, NULL); |
@@ -1416,12 +1414,8 @@ static int evdev_connect(struct input_handler *handler, struct input_dev *dev, | |||
1416 | goto err_free_evdev; | 1414 | goto err_free_evdev; |
1417 | 1415 | ||
1418 | cdev_init(&evdev->cdev, &evdev_fops); | 1416 | cdev_init(&evdev->cdev, &evdev_fops); |
1419 | evdev->cdev.kobj.parent = &evdev->dev.kobj; | ||
1420 | error = cdev_add(&evdev->cdev, evdev->dev.devt, 1); | ||
1421 | if (error) | ||
1422 | goto err_unregister_handle; | ||
1423 | 1417 | ||
1424 | error = device_add(&evdev->dev); | 1418 | error = cdev_device_add(&evdev->cdev, &evdev->dev); |
1425 | if (error) | 1419 | if (error) |
1426 | goto err_cleanup_evdev; | 1420 | goto err_cleanup_evdev; |
1427 | 1421 | ||
@@ -1429,7 +1423,6 @@ static int evdev_connect(struct input_handler *handler, struct input_dev *dev, | |||
1429 | 1423 | ||
1430 | err_cleanup_evdev: | 1424 | err_cleanup_evdev: |
1431 | evdev_cleanup(evdev); | 1425 | evdev_cleanup(evdev); |
1432 | err_unregister_handle: | ||
1433 | input_unregister_handle(&evdev->handle); | 1426 | input_unregister_handle(&evdev->handle); |
1434 | err_free_evdev: | 1427 | err_free_evdev: |
1435 | put_device(&evdev->dev); | 1428 | put_device(&evdev->dev); |
@@ -1442,7 +1435,7 @@ static void evdev_disconnect(struct input_handle *handle) | |||
1442 | { | 1435 | { |
1443 | struct evdev *evdev = handle->private; | 1436 | struct evdev *evdev = handle->private; |
1444 | 1437 | ||
1445 | device_del(&evdev->dev); | 1438 | cdev_device_del(&evdev->cdev, &evdev->dev); |
1446 | evdev_cleanup(evdev); | 1439 | evdev_cleanup(evdev); |
1447 | input_free_minor(MINOR(evdev->dev.devt)); | 1440 | input_free_minor(MINOR(evdev->dev.devt)); |
1448 | input_unregister_handle(handle); | 1441 | input_unregister_handle(handle); |
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); |
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 | ||
928 | static void mousedev_destroy(struct mousedev *mousedev) | 921 | static 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) |