1606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby#ifndef __HID_LG_H
2606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby#define __HID_LG_H
3606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby
48577dbf9d6eb07213caefb49e2017c177c5f023dMichal Malýstruct lg_drv_data {
58577dbf9d6eb07213caefb49e2017c177c5f023dMichal Malý	unsigned long quirks;
68577dbf9d6eb07213caefb49e2017c177c5f023dMichal Malý	void *device_props;	/* Device specific properties */
78577dbf9d6eb07213caefb49e2017c177c5f023dMichal Malý};
88577dbf9d6eb07213caefb49e2017c177c5f023dMichal Malý
9606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby#ifdef CONFIG_LOGITECH_FF
10606bd0a8616a0e59021cb2997e942513f24f641dJiri Slabyint lgff_init(struct hid_device *hdev);
11606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby#else
12606bd0a8616a0e59021cb2997e942513f24f641dJiri Slabystatic inline int lgff_init(struct hid_device *hdev) { return -1; }
13606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby#endif
14606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby
15606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby#ifdef CONFIG_LOGIRUMBLEPAD2_FF
16606bd0a8616a0e59021cb2997e942513f24f641dJiri Slabyint lg2ff_init(struct hid_device *hdev);
17606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby#else
18606bd0a8616a0e59021cb2997e942513f24f641dJiri Slabystatic inline int lg2ff_init(struct hid_device *hdev) { return -1; }
19606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby#endif
20606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby
2174f292ca8c7a2b9370f80d97a49e48174f4c7635Gary Stein#ifdef CONFIG_LOGIG940_FF
2274f292ca8c7a2b9370f80d97a49e48174f4c7635Gary Steinint lg3ff_init(struct hid_device *hdev);
2374f292ca8c7a2b9370f80d97a49e48174f4c7635Gary Stein#else
2474f292ca8c7a2b9370f80d97a49e48174f4c7635Gary Steinstatic inline int lg3ff_init(struct hid_device *hdev) { return -1; }
2574f292ca8c7a2b9370f80d97a49e48174f4c7635Gary Stein#endif
2674f292ca8c7a2b9370f80d97a49e48174f4c7635Gary Stein
27a7ac90f18cf1182f01846f36f7d2706e2cc7747cMichal Malý#ifdef CONFIG_LOGIWHEELS_FF
282b24a960016b8d3221a6dd2764ab97247c48dd97Michal Malýint lg4ff_adjust_input_event(struct hid_device *hid, struct hid_field *field,
292b24a960016b8d3221a6dd2764ab97247c48dd97Michal Malý			     struct hid_usage *usage, __s32 value, struct lg_drv_data *drv_data);
3032c88cbc3080f43c429f6456aa9cd845e37f3778Simon Woodint lg4ff_init(struct hid_device *hdev);
3130bb75d71b3732c0adb6297815288ce0fb9cc04cMichal Malýint lg4ff_deinit(struct hid_device *hdev);
3232c88cbc3080f43c429f6456aa9cd845e37f3778Simon Wood#else
332b24a960016b8d3221a6dd2764ab97247c48dd97Michal Malýstatic inline int lg4ff_adjust_input_event(struct hid_device *hid, struct hid_field *field,
342b24a960016b8d3221a6dd2764ab97247c48dd97Michal Malý					   struct hid_usage *usage, __s32 value, struct lg_drv_data *drv_data) { return 0; }
3532c88cbc3080f43c429f6456aa9cd845e37f3778Simon Woodstatic inline int lg4ff_init(struct hid_device *hdev) { return -1; }
3630bb75d71b3732c0adb6297815288ce0fb9cc04cMichal Malýstatic inline int lg4ff_deinit(struct hid_device *hdev) { return -1; }
3732c88cbc3080f43c429f6456aa9cd845e37f3778Simon Wood#endif
3832c88cbc3080f43c429f6456aa9cd845e37f3778Simon Wood
39606bd0a8616a0e59021cb2997e942513f24f641dJiri Slaby#endif
40