diff options
| -rw-r--r-- | drivers/hid/usbhid/hid-core.c | 4 | ||||
| -rw-r--r-- | drivers/hid/usbhid/hiddev.c | 16 | ||||
| -rw-r--r-- | drivers/hid/usbhid/usbhid.h | 2 |
3 files changed, 11 insertions, 11 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 83772fa7d92a..fb0cf5d70504 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c | |||
| @@ -677,7 +677,7 @@ static int hid_get_class_descriptor(struct usb_device *dev, int ifnum, | |||
| 677 | return result; | 677 | return result; |
| 678 | } | 678 | } |
| 679 | 679 | ||
| 680 | int usbhid_open(struct hid_device *hid) | 680 | static int usbhid_open(struct hid_device *hid) |
| 681 | { | 681 | { |
| 682 | struct usbhid_device *usbhid = hid->driver_data; | 682 | struct usbhid_device *usbhid = hid->driver_data; |
| 683 | int res = 0; | 683 | int res = 0; |
| @@ -722,7 +722,7 @@ done: | |||
| 722 | return res; | 722 | return res; |
| 723 | } | 723 | } |
| 724 | 724 | ||
| 725 | void usbhid_close(struct hid_device *hid) | 725 | static void usbhid_close(struct hid_device *hid) |
| 726 | { | 726 | { |
| 727 | struct usbhid_device *usbhid = hid->driver_data; | 727 | struct usbhid_device *usbhid = hid->driver_data; |
| 728 | 728 | ||
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 0e06368d1fbb..b4f714752245 100644 --- a/drivers/hid/usbhid/hiddev.c +++ b/drivers/hid/usbhid/hiddev.c | |||
| @@ -237,7 +237,7 @@ static int hiddev_release(struct inode * inode, struct file * file) | |||
| 237 | mutex_lock(&list->hiddev->existancelock); | 237 | mutex_lock(&list->hiddev->existancelock); |
| 238 | if (!--list->hiddev->open) { | 238 | if (!--list->hiddev->open) { |
| 239 | if (list->hiddev->exist) { | 239 | if (list->hiddev->exist) { |
| 240 | usbhid_close(list->hiddev->hid); | 240 | hid_hw_close(list->hiddev->hid); |
| 241 | usbhid_put_power(list->hiddev->hid); | 241 | usbhid_put_power(list->hiddev->hid); |
| 242 | } else { | 242 | } else { |
| 243 | mutex_unlock(&list->hiddev->existancelock); | 243 | mutex_unlock(&list->hiddev->existancelock); |
| @@ -282,11 +282,9 @@ static int hiddev_open(struct inode *inode, struct file *file) | |||
| 282 | */ | 282 | */ |
| 283 | if (list->hiddev->exist) { | 283 | if (list->hiddev->exist) { |
| 284 | if (!list->hiddev->open++) { | 284 | if (!list->hiddev->open++) { |
| 285 | res = usbhid_open(hiddev->hid); | 285 | res = hid_hw_open(hiddev->hid); |
| 286 | if (res < 0) { | 286 | if (res < 0) |
| 287 | res = -EIO; | ||
| 288 | goto bail; | 287 | goto bail; |
| 289 | } | ||
| 290 | } | 288 | } |
| 291 | } else { | 289 | } else { |
| 292 | res = -ENODEV; | 290 | res = -ENODEV; |
| @@ -306,10 +304,14 @@ static int hiddev_open(struct inode *inode, struct file *file) | |||
| 306 | res = -EIO; | 304 | res = -EIO; |
| 307 | goto bail_unlock; | 305 | goto bail_unlock; |
| 308 | } | 306 | } |
| 309 | usbhid_open(hid); | 307 | res = hid_hw_open(hid); |
| 308 | if (res < 0) | ||
| 309 | goto bail_put_power; | ||
| 310 | } | 310 | } |
| 311 | mutex_unlock(&hiddev->existancelock); | 311 | mutex_unlock(&hiddev->existancelock); |
| 312 | return 0; | 312 | return 0; |
| 313 | bail_put_power: | ||
| 314 | usbhid_put_power(hid); | ||
| 313 | bail_unlock: | 315 | bail_unlock: |
| 314 | mutex_unlock(&hiddev->existancelock); | 316 | mutex_unlock(&hiddev->existancelock); |
| 315 | bail: | 317 | bail: |
| @@ -935,7 +937,7 @@ void hiddev_disconnect(struct hid_device *hid) | |||
| 935 | 937 | ||
| 936 | if (hiddev->open) { | 938 | if (hiddev->open) { |
| 937 | mutex_unlock(&hiddev->existancelock); | 939 | mutex_unlock(&hiddev->existancelock); |
| 938 | usbhid_close(hiddev->hid); | 940 | hid_hw_close(hiddev->hid); |
| 939 | wake_up_interruptible(&hiddev->wait); | 941 | wake_up_interruptible(&hiddev->wait); |
| 940 | } else { | 942 | } else { |
| 941 | mutex_unlock(&hiddev->existancelock); | 943 | mutex_unlock(&hiddev->existancelock); |
diff --git a/drivers/hid/usbhid/usbhid.h b/drivers/hid/usbhid/usbhid.h index fa47d666cfcf..83ef5c14aa92 100644 --- a/drivers/hid/usbhid/usbhid.h +++ b/drivers/hid/usbhid/usbhid.h | |||
| @@ -34,8 +34,6 @@ | |||
| 34 | #include <linux/input.h> | 34 | #include <linux/input.h> |
| 35 | 35 | ||
| 36 | /* API provided by hid-core.c for USB HID drivers */ | 36 | /* API provided by hid-core.c for USB HID drivers */ |
| 37 | void usbhid_close(struct hid_device *hid); | ||
| 38 | int usbhid_open(struct hid_device *hid); | ||
| 39 | void usbhid_init_reports(struct hid_device *hid); | 37 | void usbhid_init_reports(struct hid_device *hid); |
| 40 | int usbhid_get_power(struct hid_device *hid); | 38 | int usbhid_get_power(struct hid_device *hid); |
| 41 | void usbhid_put_power(struct hid_device *hid); | 39 | void usbhid_put_power(struct hid_device *hid); |
