Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -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


	return report;
	return report;
}
}
EXPORT_SYMBOL_GPL(hid_register_report);


/*
/*
 * Register a new field for this report.
 * Register a new field for this report.
+1 −0
Original line number Original line Diff line number Diff line
@@ -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);