diff options
| author | Roland Dreier <rolandd@cisco.com> | 2005-10-28 18:50:51 -0400 |
|---|---|---|
| committer | Roland Dreier <rolandd@cisco.com> | 2005-10-28 18:50:51 -0400 |
| commit | a4da0628efd788eb199dd9df225e296035ec2539 (patch) | |
| tree | 1e611030c993e1480dc2f07f26976d2d33002b0d /drivers/input/joydev.c | |
| parent | 70a30e16a8a9d22396a4d1e96af86e43594df584 (diff) | |
| parent | 20731945ae743034353a88c307920d1f16cf8ac8 (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/input/joydev.c')
| -rw-r--r-- | drivers/input/joydev.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c index e0938d1d3ad7..20e2972b9204 100644 --- a/drivers/input/joydev.c +++ b/drivers/input/joydev.c | |||
| @@ -26,7 +26,6 @@ | |||
| 26 | #include <linux/init.h> | 26 | #include <linux/init.h> |
| 27 | #include <linux/smp_lock.h> | 27 | #include <linux/smp_lock.h> |
| 28 | #include <linux/device.h> | 28 | #include <linux/device.h> |
| 29 | #include <linux/devfs_fs_kernel.h> | ||
| 30 | 29 | ||
| 31 | MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>"); | 30 | MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>"); |
| 32 | MODULE_DESCRIPTION("Joystick device interfaces"); | 31 | MODULE_DESCRIPTION("Joystick device interfaces"); |
| @@ -449,6 +448,7 @@ static struct file_operations joydev_fops = { | |||
| 449 | static struct input_handle *joydev_connect(struct input_handler *handler, struct input_dev *dev, struct input_device_id *id) | 448 | static struct input_handle *joydev_connect(struct input_handler *handler, struct input_dev *dev, struct input_device_id *id) |
| 450 | { | 449 | { |
| 451 | struct joydev *joydev; | 450 | struct joydev *joydev; |
| 451 | struct class_device *cdev; | ||
| 452 | int i, j, t, minor; | 452 | int i, j, t, minor; |
| 453 | 453 | ||
| 454 | for (minor = 0; minor < JOYDEV_MINORS && joydev_table[minor]; minor++); | 454 | for (minor = 0; minor < JOYDEV_MINORS && joydev_table[minor]; minor++); |
| @@ -514,11 +514,13 @@ static struct input_handle *joydev_connect(struct input_handler *handler, struct | |||
| 514 | 514 | ||
| 515 | joydev_table[minor] = joydev; | 515 | joydev_table[minor] = joydev; |
| 516 | 516 | ||
| 517 | devfs_mk_cdev(MKDEV(INPUT_MAJOR, JOYDEV_MINOR_BASE + minor), | 517 | cdev = class_device_create(&input_class, &dev->cdev, |
| 518 | S_IFCHR|S_IRUGO|S_IWUSR, "input/js%d", minor); | ||
| 519 | class_device_create(input_class, | ||
| 520 | MKDEV(INPUT_MAJOR, JOYDEV_MINOR_BASE + minor), | 518 | MKDEV(INPUT_MAJOR, JOYDEV_MINOR_BASE + minor), |
| 521 | dev->dev, "js%d", minor); | 519 | dev->cdev.dev, joydev->name); |
| 520 | |||
| 521 | /* temporary symlink to keep userspace happy */ | ||
| 522 | sysfs_create_link(&input_class.subsys.kset.kobj, &cdev->kobj, | ||
| 523 | joydev->name); | ||
| 522 | 524 | ||
| 523 | return &joydev->handle; | 525 | return &joydev->handle; |
| 524 | } | 526 | } |
| @@ -528,8 +530,8 @@ static void joydev_disconnect(struct input_handle *handle) | |||
| 528 | struct joydev *joydev = handle->private; | 530 | struct joydev *joydev = handle->private; |
| 529 | struct joydev_list *list; | 531 | struct joydev_list *list; |
| 530 | 532 | ||
| 531 | class_device_destroy(input_class, MKDEV(INPUT_MAJOR, JOYDEV_MINOR_BASE + joydev->minor)); | 533 | sysfs_remove_link(&input_class.subsys.kset.kobj, joydev->name); |
| 532 | devfs_remove("input/js%d", joydev->minor); | 534 | class_device_destroy(&input_class, MKDEV(INPUT_MAJOR, JOYDEV_MINOR_BASE + joydev->minor)); |
| 533 | joydev->exist = 0; | 535 | joydev->exist = 0; |
| 534 | 536 | ||
| 535 | if (joydev->open) { | 537 | if (joydev->open) { |
