hid-lg4ff.c (b96d23ec698fdc1fdf904e5547d9abb6354eef5c) hid-lg4ff.c (a54dc7795efceb9a458457540c69450c995a2772)
1/*
2 * Force feedback support for Logitech Gaming Wheels
3 *
4 * Including G27, G25, DFP, DFGT, FFEX, Momo, Momo2 &
5 * Speed Force Wireless (WiiWheel)
6 *
7 * Copyright (c) 2010 Simon Wood <simon@mungewell.org>
8 */

--- 16 unchanged lines hidden (view full) ---

25
26
27#include <linux/input.h>
28#include <linux/usb.h>
29#include <linux/hid.h>
30
31#include "usbhid/usbhid.h"
32#include "hid-lg.h"
1/*
2 * Force feedback support for Logitech Gaming Wheels
3 *
4 * Including G27, G25, DFP, DFGT, FFEX, Momo, Momo2 &
5 * Speed Force Wireless (WiiWheel)
6 *
7 * Copyright (c) 2010 Simon Wood <simon@mungewell.org>
8 */

--- 16 unchanged lines hidden (view full) ---

25
26
27#include <linux/input.h>
28#include <linux/usb.h>
29#include <linux/hid.h>
30
31#include "usbhid/usbhid.h"
32#include "hid-lg.h"
33#include "hid-lg4ff.h"
33#include "hid-ids.h"
34
35#define to_hid_device(pdev) container_of(pdev, struct hid_device, dev)
36
37#define LG4FF_MMODE_IS_MULTIMODE 0
38#define LG4FF_MMODE_SWITCHED 1
39#define LG4FF_MMODE_NOT_MULTIMODE 2
40

--- 757 unchanged lines hidden (view full) ---

798 *real_product_id = reported_product_id;
799 dbg_hid("Wheel is not a multimode wheel\n");
800 return LG4FF_MMODE_NOT_MULTIMODE;
801 }
802
803 /* Switch from "Driving Force" mode to native mode automatically.
804 * Otherwise keep the wheel in its current mode */
805 if (reported_product_id == USB_DEVICE_ID_LOGITECH_WHEEL &&
34#include "hid-ids.h"
35
36#define to_hid_device(pdev) container_of(pdev, struct hid_device, dev)
37
38#define LG4FF_MMODE_IS_MULTIMODE 0
39#define LG4FF_MMODE_SWITCHED 1
40#define LG4FF_MMODE_NOT_MULTIMODE 2
41

--- 757 unchanged lines hidden (view full) ---

799 *real_product_id = reported_product_id;
800 dbg_hid("Wheel is not a multimode wheel\n");
801 return LG4FF_MMODE_NOT_MULTIMODE;
802 }
803
804 /* Switch from "Driving Force" mode to native mode automatically.
805 * Otherwise keep the wheel in its current mode */
806 if (reported_product_id == USB_DEVICE_ID_LOGITECH_WHEEL &&
806 reported_product_id != *real_product_id) {
807 reported_product_id != *real_product_id &&
808 !lg4ff_no_autoswitch) {
807 const struct lg4ff_compat_mode_switch *s;
808
809 switch (*real_product_id) {
810 case USB_DEVICE_ID_LOGITECH_DFP_WHEEL:
811 s = &lg4ff_mode_switch_dfp;
812 break;
813 case USB_DEVICE_ID_LOGITECH_G25_WHEEL:
814 s = &lg4ff_mode_switch_g25;

--- 248 unchanged lines hidden ---
809 const struct lg4ff_compat_mode_switch *s;
810
811 switch (*real_product_id) {
812 case USB_DEVICE_ID_LOGITECH_DFP_WHEEL:
813 s = &lg4ff_mode_switch_dfp;
814 break;
815 case USB_DEVICE_ID_LOGITECH_G25_WHEEL:
816 s = &lg4ff_mode_switch_g25;

--- 248 unchanged lines hidden ---