diff options
author | Jiri Kosina <jkosina@suse.cz> | 2007-01-24 11:54:19 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2007-02-05 10:00:40 +0100 |
commit | 7c379146005d277982acde02da44c773de5e7e5a (patch) | |
tree | 8a1bbbdabd357f11ec84e5e793539863139ffa71 /drivers/hid/hid-input.c | |
parent | c080d89ad91e98fec0e8fc5f448a1ad899bd85c7 (diff) | |
download | lwn-7c379146005d277982acde02da44c773de5e7e5a.tar.gz lwn-7c379146005d277982acde02da44c773de5e7e5a.zip |
HID: API - fix leftovers of hidinput API in USB HID
hidinput_{open,close}() functions do not belong to usbhid, but
to the generic HID layer. Move them, and fix hooks in struct
hid_device, so that now the callbacks are done to transport-specific
_open() functions, but not input_open() functions.
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r-- | drivers/hid/hid-input.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index ae298c4bfcbd..4824b19b8646 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -805,6 +805,18 @@ int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int } EXPORT_SYMBOL_GPL(hidinput_find_field); +static int hidinput_open(struct input_dev *dev) +{ + struct hid_device *hid = dev->private; + return hid->hid_open(hid); +} + +static void hidinput_close(struct input_dev *dev) +{ + struct hid_device *hid = dev->private; + hid->hid_close(hid); +} + /* * Register the input device; print a message. * Configure the input layer interface @@ -851,8 +863,8 @@ int hidinput_connect(struct hid_device *hid) input_dev->private = hid; input_dev->event = hid->hidinput_input_event; - input_dev->open = hid->hidinput_open; - input_dev->close = hid->hidinput_close; + input_dev->open = hidinput_open; + input_dev->close = hidinput_close; input_dev->name = hid->name; input_dev->phys = hid->phys; |