#include <linux/device.h>
#include <linux/hid.h>
#include <linux/input.h>
#include <linux/module.h>
#include "hid-ids.h"
#define GFRM100 …
#define GFRM200 …
#define GFRM100_SEARCH_KEY_REPORT_ID …
#define GFRM100_SEARCH_KEY_DOWN …
#define GFRM100_SEARCH_KEY_AUDIO_DATA …
#define GFRM100_SEARCH_KEY_UP …
static u8 search_key_dn[3] = …;
static u8 search_key_up[3] = …;
static int gfrm_input_mapping(struct hid_device *hdev, struct hid_input *hi,
struct hid_field *field, struct hid_usage *usage,
unsigned long **bit, int *max)
{ … }
static int gfrm_raw_event(struct hid_device *hdev, struct hid_report *report,
u8 *data, int size)
{ … }
static int gfrm_input_configured(struct hid_device *hid, struct hid_input *hidinput)
{ … }
static int gfrm_probe(struct hid_device *hdev, const struct hid_device_id *id)
{ … }
static const struct hid_device_id gfrm_devices[] = …;
MODULE_DEVICE_TABLE(hid, gfrm_devices);
static struct hid_driver gfrm_driver = …;
module_hid_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;