#include <linux/device.h>
#include <linux/hid.h>
#include <linux/module.h>
#define USB_VENDOR_ID_VRC2 …
#define USB_DEVICE_ID_VRC2 …
static __u8 vrc2_rdesc_fixed[] = …;
static __u8 *vrc2_report_fixup(struct hid_device *hdev, __u8 *rdesc,
unsigned int *rsize)
{ … }
static int vrc2_probe(struct hid_device *hdev, const struct hid_device_id *id)
{ … }
static const struct hid_device_id vrc2_devices[] = …;
MODULE_DEVICE_TABLE(hid, vrc2_devices);
static struct hid_driver vrc2_driver = …;
module_hid_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;