summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Poole <mdpoole@troilus.org>2010-01-24 22:32:29 -0500
committerJiri Kosina <jkosina@suse.cz>2010-02-10 14:57:30 +0100
commit90a006abf8015c8cab893555244d8fc673b24839 (patch)
tree7df0f3bd04bc53f79d7fee82f802d4db9c9d12d5
parent342f31e84eec9002b75f6fcdec6bd932ac77a390 (diff)
downloadop-kernel-dev-90a006abf8015c8cab893555244d8fc673b24839.zip
op-kernel-dev-90a006abf8015c8cab893555244d8fc673b24839.tar.gz
HID: Export hid_register_report
The Apple Magic Mouse (and probably other devices) publish reports that are not called out in their HID report descriptors -- they only send them when enabled through other writes to the device. This allows a driver to handle these unlisted reports. Signed-off-by: Michael Poole <mdpoole@troilus.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/hid-core.c3
-rw-r--r--include/linux/hid.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index f7f80e1..66a91eb 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -51,7 +51,7 @@ EXPORT_SYMBOL_GPL(hid_debug);
* Register a new report for a device.
*/
-static struct hid_report *hid_register_report(struct hid_device *device, unsigned type, unsigned id)
+struct hid_report *hid_register_report(struct hid_device *device, unsigned type, unsigned id)
{
struct hid_report_enum *report_enum = device->report_enum + type;
struct hid_report *report;
@@ -75,6 +75,7 @@ static struct hid_report *hid_register_report(struct hid_device *device, unsigne
return report;
}
+EXPORT_SYMBOL_GPL(hid_register_report);
/*
* Register a new field for this report.
diff --git a/include/linux/hid.h b/include/linux/hid.h
index 3661a62..456838c 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -690,6 +690,7 @@ int hid_input_report(struct hid_device *, int type, u8 *, int, int);
int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field);
void hid_output_report(struct hid_report *report, __u8 *data);
struct hid_device *hid_allocate_device(void);
+struct hid_report *hid_register_report(struct hid_device *device, unsigned type, unsigned id);
int hid_parse_report(struct hid_device *hid, __u8 *start, unsigned size);
int hid_check_keys_pressed(struct hid_device *hid);
int hid_connect(struct hid_device *hid, unsigned int connect_mask);
OpenPOWER on IntegriCloud