33 lines
970 B
C
33 lines
970 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
#ifndef __HID_PIDFF_H
|
|
#define __HID_PIDFF_H
|
|
|
|
#include <linux/hid.h>
|
|
|
|
/* HID PIDFF quirks */
|
|
|
|
/* Delay field (0xA7) missing. Skip it during set effect report upload */
|
|
#define HID_PIDFF_QUIRK_MISSING_DELAY BIT(0)
|
|
|
|
/* Missing Paramter block offset (0x23). Skip it during SET_CONDITION
|
|
report upload */
|
|
#define HID_PIDFF_QUIRK_MISSING_PBO BIT(1)
|
|
|
|
/* Initialise device control field even if logical_minimum != 1 */
|
|
#define HID_PIDFF_QUIRK_PERMISSIVE_CONTROL BIT(2)
|
|
|
|
/* Use fixed 0x4000 direction during SET_EFFECT report upload */
|
|
#define HID_PIDFF_QUIRK_FIX_WHEEL_DIRECTION BIT(3)
|
|
|
|
/* Force all periodic effects to be uploaded as SINE */
|
|
#define HID_PIDFF_QUIRK_PERIODIC_SINE_ONLY BIT(4)
|
|
|
|
#ifdef CONFIG_HID_PID
|
|
int hid_pidff_init(struct hid_device *hid);
|
|
int hid_pidff_init_with_quirks(struct hid_device *hid, u32 initial_quirks);
|
|
#else
|
|
#define hid_pidff_init NULL
|
|
#define hid_pidff_init_with_quirks NULL
|
|
#endif
|
|
|
|
#endif
|