#include <linux/module.h>
#include <linux/slab.h>
#include <linux/kernel.h>
#include <asm/unaligned.h>
#include <asm/byteorder.h>
#include <linux/hid.h>
static struct hid_driver hid_generic;
static int __check_hid_generic(struct device_driver *drv, void *data)
{ … }
static bool hid_generic_match(struct hid_device *hdev,
bool ignore_special_driver)
{ … }
static int hid_generic_probe(struct hid_device *hdev,
const struct hid_device_id *id)
{ … }
static const struct hid_device_id hid_table[] = …;
MODULE_DEVICE_TABLE(hid, hid_table);
static struct hid_driver hid_generic = …;
module_hid_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;