blob: 142ce3f5f055f0c3d7b00e34cc91e9411eb06817 [file] [log] [blame]
Jiri Slaby606bd0a2008-07-04 23:06:45 +02001#ifndef __HID_LG_H
2#define __HID_LG_H
3
Michal Malý8577dbf2012-03-31 11:17:25 +02004struct lg_drv_data {
5 unsigned long quirks;
6 void *device_props; /* Device specific properties */
7};
8
Jiri Slaby606bd0a2008-07-04 23:06:45 +02009#ifdef CONFIG_LOGITECH_FF
10int lgff_init(struct hid_device *hdev);
11#else
12static inline int lgff_init(struct hid_device *hdev) { return -1; }
13#endif
14
15#ifdef CONFIG_LOGIRUMBLEPAD2_FF
16int lg2ff_init(struct hid_device *hdev);
17#else
18static inline int lg2ff_init(struct hid_device *hdev) { return -1; }
19#endif
20
Gary Stein74f292c2010-01-13 00:25:58 +010021#ifdef CONFIG_LOGIG940_FF
22int lg3ff_init(struct hid_device *hdev);
23#else
24static inline int lg3ff_init(struct hid_device *hdev) { return -1; }
25#endif
26
Michal Malýa7ac90f2011-08-04 16:24:22 +020027#ifdef CONFIG_LOGIWHEELS_FF
Michal Malý2b24a962012-09-23 22:41:08 +020028int 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);
Simon Wood32c88cb2010-09-22 13:19:42 +020030int lg4ff_init(struct hid_device *hdev);
Michal Malý30bb75d2011-08-04 16:20:40 +020031int lg4ff_deinit(struct hid_device *hdev);
Simon Wood32c88cb2010-09-22 13:19:42 +020032#else
Michal Malý2b24a962012-09-23 22:41:08 +020033static 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; }
Simon Wood32c88cb2010-09-22 13:19:42 +020035static inline int lg4ff_init(struct hid_device *hdev) { return -1; }
Michal Malý30bb75d2011-08-04 16:20:40 +020036static inline int lg4ff_deinit(struct hid_device *hdev) { return -1; }
Simon Wood32c88cb2010-09-22 13:19:42 +020037#endif
38
Jiri Slaby606bd0a2008-07-04 23:06:45 +020039#endif