xref: /linux/drivers/hid/hid-lg.h (revision 861e10be08c69808065d755d3e3cab5d520a2d32)
1 #ifndef __HID_LG_H
2 #define __HID_LG_H
3 
4 struct lg_drv_data {
5 	unsigned long quirks;
6 	void *device_props;	/* Device specific properties */
7 };
8 
9 #ifdef CONFIG_LOGITECH_FF
10 int lgff_init(struct hid_device *hdev);
11 #else
12 static inline int lgff_init(struct hid_device *hdev) { return -1; }
13 #endif
14 
15 #ifdef CONFIG_LOGIRUMBLEPAD2_FF
16 int lg2ff_init(struct hid_device *hdev);
17 #else
18 static inline int lg2ff_init(struct hid_device *hdev) { return -1; }
19 #endif
20 
21 #ifdef CONFIG_LOGIG940_FF
22 int lg3ff_init(struct hid_device *hdev);
23 #else
24 static inline int lg3ff_init(struct hid_device *hdev) { return -1; }
25 #endif
26 
27 #ifdef CONFIG_LOGIWHEELS_FF
28 int lg4ff_adjust_input_event(struct hid_device *hid, struct hid_field *field,
29 			     struct hid_usage *usage, __s32 value, struct lg_drv_data *drv_data);
30 int lg4ff_init(struct hid_device *hdev);
31 int lg4ff_deinit(struct hid_device *hdev);
32 #else
33 static inline int lg4ff_adjust_input_event(struct hid_device *hid, struct hid_field *field,
34 					   struct hid_usage *usage, __s32 value, struct lg_drv_data *drv_data) { return 0; }
35 static inline int lg4ff_init(struct hid_device *hdev) { return -1; }
36 static inline int lg4ff_deinit(struct hid_device *hdev) { return -1; }
37 #endif
38 
39 #endif
40