linux/drivers/hid/hid-saitek.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  HID driver for Saitek devices.
 *
 *  PS1000 (USB gamepad):
 *  Fixes the HID report descriptor by removing a non-existent axis and
 *  clearing the constant bit on the input reports for buttons and d-pad.
 *  (This module is based on "hid-ortek".)
 *  Copyright (c) 2012 Andreas Hübner
 *
 *  R.A.T.7, R.A.T.9, M.M.O.7 (USB gaming mice):
 *  Fixes the mode button which cycles through three constantly pressed
 *  buttons. All three press events are mapped to one button and the
 *  missing release event is generated immediately.
 */

/*
 */

#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();