aboutsummaryrefslogtreecommitdiff
path: root/drivers/hid/hid-wiimote-ext.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hid/hid-wiimote-ext.c')
-rw-r--r--drivers/hid/hid-wiimote-ext.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/hid/hid-wiimote-ext.c b/drivers/hid/hid-wiimote-ext.c
index 8ddabb7944a..aa958706c0e 100644
--- a/drivers/hid/hid-wiimote-ext.c
+++ b/drivers/hid/hid-wiimote-ext.c
@@ -1,6 +1,6 @@
/*
- * HID driver for Nintendo Wii / Wii U peripheral extensions
- * Copyright (c) 2011-2013 David Herrmann <dh.herrmann@gmail.com>
+ * HID driver for Nintendo Wiimote extension devices
+ * Copyright (c) 2011 David Herrmann
*/
/*
@@ -564,6 +564,11 @@ static DEVICE_ATTR(extension, S_IRUGO, wiiext_show, NULL);
static int wiiext_input_open(struct input_dev *dev)
{
struct wiimote_ext *ext = input_get_drvdata(dev);
+ int ret;
+
+ ret = hid_hw_open(ext->wdata->hdev);
+ if (ret)
+ return ret;
atomic_inc(&ext->opened);
wiiext_schedule(ext);
@@ -577,11 +582,17 @@ static void wiiext_input_close(struct input_dev *dev)
atomic_dec(&ext->opened);
wiiext_schedule(ext);
+ hid_hw_close(ext->wdata->hdev);
}
static int wiiext_mp_open(struct input_dev *dev)
{
struct wiimote_ext *ext = input_get_drvdata(dev);
+ int ret;
+
+ ret = hid_hw_open(ext->wdata->hdev);
+ if (ret)
+ return ret;
atomic_inc(&ext->mp_opened);
wiiext_schedule(ext);
@@ -595,6 +606,7 @@ static void wiiext_mp_close(struct input_dev *dev)
atomic_dec(&ext->mp_opened);
wiiext_schedule(ext);
+ hid_hw_close(ext->wdata->hdev);
}
/* Initializes the extension driver of a wiimote */