#include <linux/device.h>
#include <linux/hid.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include "hid-ids.h"
#define SAITEK_FIX_PS1000 …
#define SAITEK_RELEASE_MODE_RAT7 …
#define SAITEK_RELEASE_MODE_MMO7 …
struct saitek_sc { … };
static int saitek_probe(struct hid_device *hdev,
const struct hid_device_id *id)
{ … }
static __u8 *saitek_report_fixup(struct hid_device *hdev, __u8 *rdesc,
unsigned int *rsize)
{ … }
static int saitek_raw_event(struct hid_device *hdev,
struct hid_report *report, u8 *raw_data, int size)
{ … }
static int saitek_event(struct hid_device *hdev, struct hid_field *field,
struct hid_usage *usage, __s32 value)
{ … }
static const struct hid_device_id saitek_devices[] = …;
MODULE_DEVICE_TABLE(hid, saitek_devices);
static struct hid_driver saitek_driver = …;
module_hid_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;