Commit 90a006ab authored by Michael Poole's avatar Michael Poole Committed by Jiri Kosina

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: default avatarMichael Poole <mdpoole@troilus.org>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 342f31e8
...@@ -51,7 +51,7 @@ EXPORT_SYMBOL_GPL(hid_debug); ...@@ -51,7 +51,7 @@ EXPORT_SYMBOL_GPL(hid_debug);
* Register a new report for a device. * 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_enum *report_enum = device->report_enum + type;
struct hid_report *report; struct hid_report *report;
...@@ -75,6 +75,7 @@ static struct hid_report *hid_register_report(struct hid_device *device, unsigne ...@@ -75,6 +75,7 @@ static struct hid_report *hid_register_report(struct hid_device *device, unsigne
return report; return report;
} }
EXPORT_SYMBOL_GPL(hid_register_report);
/* /*
* Register a new field for this report. * Register a new field for this report.
......
...@@ -690,6 +690,7 @@ int hid_input_report(struct hid_device *, int type, u8 *, int, int); ...@@ -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); 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); void hid_output_report(struct hid_report *report, __u8 *data);
struct hid_device *hid_allocate_device(void); 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_parse_report(struct hid_device *hid, __u8 *start, unsigned size);
int hid_check_keys_pressed(struct hid_device *hid); int hid_check_keys_pressed(struct hid_device *hid);
int hid_connect(struct hid_device *hid, unsigned int connect_mask); int hid_connect(struct hid_device *hid, unsigned int connect_mask);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment