Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9ef00ae authored by Jiri Kosina's avatar Jiri Kosina
Browse files

Merge branch 'for-4.17/elecom' into for-linus

Support for new elecom device.
parents b55dc1dc fbb77e88
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -280,9 +280,9 @@ config HID_ELECOM
	---help---
	---help---
	Support for ELECOM devices:
	Support for ELECOM devices:
	  - BM084 Bluetooth Mouse
	  - BM084 Bluetooth Mouse
	  - EX-G Trackball (Wired and wireless)
	  - EX-G Trackballs (M-XT3DRBK, M-XT3URBK)
	  - DEFT Trackball (Wired and wireless)
	  - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)
	  - HUGE Trackball (Wired and wireless)
	  - HUGE Trackballs (M-HT1DRBK, M-HT1URBK)


config HID_ELO
config HID_ELO
	tristate "ELO USB 4000/4500 touchscreen"
	tristate "ELO USB 4000/4500 touchscreen"
+17 −15
Original line number Original line Diff line number Diff line
/*
/*
 *  HID driver for ELECOM devices:
 *  HID driver for ELECOM devices:
 *  - BM084 Bluetooth Mouse
 *  - BM084 Bluetooth Mouse
 *  - EX-G Trackball (Wired and wireless)
 *  - EX-G Trackballs (M-XT3DRBK, M-XT3URBK, M-XT4DRBK)
 *  - DEFT Trackball (Wired and wireless)
 *  - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)
 *  - HUGE Trackball (Wired and wireless)
 *  - HUGE Trackballs (M-HT1DRBK, M-HT1URBK)
 *
 *
 *  Copyright (c) 2010 Richard Nauber <Richard.Nauber@gmail.com>
 *  Copyright (c) 2010 Richard Nauber <Richard.Nauber@gmail.com>
 *  Copyright (c) 2016 Yuxuan Shui <yshuiv7@gmail.com>
 *  Copyright (c) 2016 Yuxuan Shui <yshuiv7@gmail.com>
@@ -65,14 +65,15 @@ static __u8 *elecom_report_fixup(struct hid_device *hdev, __u8 *rdesc,
			rdesc[47] = 0x00;
			rdesc[47] = 0x00;
		}
		}
		break;
		break;
	case USB_DEVICE_ID_ELECOM_EX_G_WIRED:
	case USB_DEVICE_ID_ELECOM_M_XT3URBK:
	case USB_DEVICE_ID_ELECOM_EX_G_WIRELESS:
	case USB_DEVICE_ID_ELECOM_M_XT3DRBK:
	case USB_DEVICE_ID_ELECOM_M_XT4DRBK:
		mouse_button_fixup(hdev, rdesc, *rsize, 6);
		mouse_button_fixup(hdev, rdesc, *rsize, 6);
		break;
		break;
	case USB_DEVICE_ID_ELECOM_DEFT_WIRED:
	case USB_DEVICE_ID_ELECOM_M_DT1URBK:
	case USB_DEVICE_ID_ELECOM_DEFT_WIRELESS:
	case USB_DEVICE_ID_ELECOM_M_DT1DRBK:
	case USB_DEVICE_ID_ELECOM_HUGE_WIRED:
	case USB_DEVICE_ID_ELECOM_M_HT1URBK:
	case USB_DEVICE_ID_ELECOM_HUGE_WIRELESS:
	case USB_DEVICE_ID_ELECOM_M_HT1DRBK:
		mouse_button_fixup(hdev, rdesc, *rsize, 8);
		mouse_button_fixup(hdev, rdesc, *rsize, 8);
		break;
		break;
	}
	}
@@ -81,12 +82,13 @@ static __u8 *elecom_report_fixup(struct hid_device *hdev, __u8 *rdesc,


static const struct hid_device_id elecom_devices[] = {
static const struct hid_device_id elecom_devices[] = {
	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_EX_G_WIRED) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_EX_G_WIRELESS) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3DRBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRED) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRELESS) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRED) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRELESS) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK) },
	{ }
	{ }
};
};
MODULE_DEVICE_TABLE(hid, elecom_devices);
MODULE_DEVICE_TABLE(hid, elecom_devices);
+7 −6
Original line number Original line Diff line number Diff line
@@ -372,12 +372,13 @@


#define USB_VENDOR_ID_ELECOM		0x056e
#define USB_VENDOR_ID_ELECOM		0x056e
#define USB_DEVICE_ID_ELECOM_BM084	0x0061
#define USB_DEVICE_ID_ELECOM_BM084	0x0061
#define USB_DEVICE_ID_ELECOM_EX_G_WIRED	0x00fb
#define USB_DEVICE_ID_ELECOM_M_XT3URBK	0x00fb
#define USB_DEVICE_ID_ELECOM_EX_G_WIRELESS	0x00fc
#define USB_DEVICE_ID_ELECOM_M_XT3DRBK	0x00fc
#define USB_DEVICE_ID_ELECOM_DEFT_WIRED	0x00fe
#define USB_DEVICE_ID_ELECOM_M_XT4DRBK	0x00fd
#define USB_DEVICE_ID_ELECOM_DEFT_WIRELESS	0x00ff
#define USB_DEVICE_ID_ELECOM_M_DT1URBK	0x00fe
#define USB_DEVICE_ID_ELECOM_HUGE_WIRED	0x010c
#define USB_DEVICE_ID_ELECOM_M_DT1DRBK	0x00ff
#define USB_DEVICE_ID_ELECOM_HUGE_WIRELESS	0x010d
#define USB_DEVICE_ID_ELECOM_M_HT1URBK	0x010c
#define USB_DEVICE_ID_ELECOM_M_HT1DRBK	0x010d


#define USB_VENDOR_ID_DREAM_CHEEKY	0x1d34
#define USB_VENDOR_ID_DREAM_CHEEKY	0x1d34
#define USB_DEVICE_ID_DREAM_CHEEKY_WN	0x0004
#define USB_DEVICE_ID_DREAM_CHEEKY_WN	0x0004
+7 −6
Original line number Original line Diff line number Diff line
@@ -337,12 +337,13 @@ static const struct hid_device_id hid_have_special_driver[] = {
#endif
#endif
#if IS_ENABLED(CONFIG_HID_ELECOM)
#if IS_ENABLED(CONFIG_HID_ELECOM)
	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_EX_G_WIRED) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_EX_G_WIRELESS) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3DRBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRED) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRELESS) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRED) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRELESS) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK) },
#endif
#endif
#if IS_ENABLED(CONFIG_HID_ELO)
#if IS_ENABLED(CONFIG_HID_ELO)
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELO, 0x0009) },
	{ HID_USB_DEVICE(USB_VENDOR_ID_ELO, 0x0009) },