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); |