diff options
author | Henrik Rydberg <rydberg@euromail.se> | 2012-04-22 14:21:38 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2012-05-01 12:54:53 +0200 |
commit | 07d9ab4f0e52cb2a383596e5ebbbd20232501393 (patch) | |
tree | 0a7158ec9b3ccefcaae444e841df84ec8bb105e2 | |
parent | 73bebc8bafb6a880a4db63d60bc4b8d9d6879c9e (diff) | |
download | linux-07d9ab4f0e52cb2a383596e5ebbbd20232501393.tar.bz2 |
HID: hid-hyperv: Do not use hid_parse_report() directly
Upcoming changes will split the semantics of hid_parse_report()
and hid_parse(), so make sure drivers use hid_parse() in probe().
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Acked-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/hid-hyperv.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/hid/hid-hyperv.c b/drivers/hid/hid-hyperv.c index 406632472c1b..032e6c079826 100644 --- a/drivers/hid/hid-hyperv.c +++ b/drivers/hid/hid-hyperv.c @@ -430,6 +430,15 @@ cleanup: return ret; } +static int mousevsc_hid_parse(struct hid_device *hid) +{ + struct hv_device *dev = hid_get_drvdata(hid); + struct mousevsc_dev *input_dev = hv_get_drvdata(dev); + + return hid_parse_report(hid, input_dev->report_desc, + input_dev->report_desc_size); +} + static int mousevsc_hid_open(struct hid_device *hid) { return 0; @@ -449,6 +458,7 @@ static void mousevsc_hid_stop(struct hid_device *hid) } static struct hid_ll_driver mousevsc_ll_driver = { + .parse = mousevsc_hid_parse, .open = mousevsc_hid_open, .close = mousevsc_hid_close, .start = mousevsc_hid_start, @@ -510,9 +520,9 @@ static int mousevsc_probe(struct hv_device *device, if (ret) goto probe_err1; - ret = hid_parse_report(hid_dev, input_dev->report_desc, - input_dev->report_desc_size); + hid_set_drvdata(hid_dev, device); + ret = hid_parse(hid_dev); if (ret) { hid_err(hid_dev, "parse failed\n"); goto probe_err2; |