Skip to content

Commit 15d90b2

Browse files
committed
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
Pull HID fixes from Jiri Kosina: - a few regression fixes for wacom driver (including fix for my earlier mismerge) from Aaron Armstrong Skomra and Jason Gerecke - revert of a few Logitech device ID additions which turn out to not work perfectly with the hidpp driver at the moment; proper support is now scheduled for 5.4. Fixes from Benjamin Tissoires - scheduling-in-atomic fix for cp2112 driver, from Benjamin Tissoires - new device ID to intel-ish, from Even Xu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: HID: wacom: correct misreported EKR ring values HID: cp2112: prevent sleeping function called from invalid context HID: intel-ish-hid: ipc: add EHL device id HID: wacom: Correct distance scale for 2nd-gen Intuos devices HID: logitech-hidpp: remove support for the G700 over USB Revert "HID: logitech-hidpp: add USB PID for a few more supported mice" HID: wacom: add back changes dropped in merge commit
2 parents 5f97cbe + fcf887e commit 15d90b2

File tree

5 files changed

+13
-26
lines changed

5 files changed

+13
-26
lines changed

drivers/hid/hid-cp2112.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1153,8 +1153,6 @@ static unsigned int cp2112_gpio_irq_startup(struct irq_data *d)
11531153

11541154
INIT_DELAYED_WORK(&dev->gpio_poll_worker, cp2112_gpio_poll_callback);
11551155

1156-
cp2112_gpio_direction_input(gc, d->hwirq);
1157-
11581156
if (!dev->gpio_poll) {
11591157
dev->gpio_poll = true;
11601158
schedule_delayed_work(&dev->gpio_poll_worker, 0);
@@ -1204,6 +1202,12 @@ static int __maybe_unused cp2112_allocate_irq(struct cp2112_device *dev,
12041202
return PTR_ERR(dev->desc[pin]);
12051203
}
12061204

1205+
ret = cp2112_gpio_direction_input(&dev->gc, pin);
1206+
if (ret < 0) {
1207+
dev_err(dev->gc.parent, "Failed to set GPIO to input dir\n");
1208+
goto err_desc;
1209+
}
1210+
12071211
ret = gpiochip_lock_as_irq(&dev->gc, pin);
12081212
if (ret) {
12091213
dev_err(dev->gc.parent, "Failed to lock GPIO as interrupt\n");

drivers/hid/hid-logitech-hidpp.c

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3749,30 +3749,8 @@ static const struct hid_device_id hidpp_devices[] = {
37493749

37503750
{ L27MHZ_DEVICE(HID_ANY_ID) },
37513751

3752-
{ /* Logitech G203/Prodigy Gaming Mouse */
3753-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC084) },
3754-
{ /* Logitech G302 Gaming Mouse */
3755-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC07F) },
3756-
{ /* Logitech G303 Gaming Mouse */
3757-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC080) },
3758-
{ /* Logitech G400 Gaming Mouse */
3759-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC07E) },
37603752
{ /* Logitech G403 Wireless Gaming Mouse over USB */
37613753
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC082) },
3762-
{ /* Logitech G403 Gaming Mouse */
3763-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC083) },
3764-
{ /* Logitech G403 Hero Gaming Mouse over USB */
3765-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC08F) },
3766-
{ /* Logitech G502 Proteus Core Gaming Mouse */
3767-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC07D) },
3768-
{ /* Logitech G502 Proteus Spectrum Gaming Mouse over USB */
3769-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC332) },
3770-
{ /* Logitech G502 Hero Gaming Mouse over USB */
3771-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC08B) },
3772-
{ /* Logitech G700 Gaming Mouse over USB */
3773-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC06B) },
3774-
{ /* Logitech G700s Gaming Mouse over USB */
3775-
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC07C) },
37763754
{ /* Logitech G703 Gaming Mouse over USB */
37773755
HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, 0xC087) },
37783756
{ /* Logitech G703 Hero Gaming Mouse over USB */

drivers/hid/intel-ish-hid/ipc/hw-ish.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#define ICL_MOBILE_DEVICE_ID 0x34FC
2525
#define SPT_H_DEVICE_ID 0xA135
2626
#define CML_LP_DEVICE_ID 0x02FC
27+
#define EHL_Ax_DEVICE_ID 0x4BB3
2728

2829
#define REVISION_ID_CHT_A0 0x6
2930
#define REVISION_ID_CHT_Ax_SI 0x0

drivers/hid/intel-ish-hid/ipc/pci-ish.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ static const struct pci_device_id ish_pci_tbl[] = {
3333
{PCI_DEVICE(PCI_VENDOR_ID_INTEL, ICL_MOBILE_DEVICE_ID)},
3434
{PCI_DEVICE(PCI_VENDOR_ID_INTEL, SPT_H_DEVICE_ID)},
3535
{PCI_DEVICE(PCI_VENDOR_ID_INTEL, CML_LP_DEVICE_ID)},
36+
{PCI_DEVICE(PCI_VENDOR_ID_INTEL, EHL_Ax_DEVICE_ID)},
3637
{0, }
3738
};
3839
MODULE_DEVICE_TABLE(pci, ish_pci_tbl);

drivers/hid/wacom_wac.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -846,6 +846,8 @@ static int wacom_intuos_general(struct wacom_wac *wacom)
846846
y >>= 1;
847847
distance >>= 1;
848848
}
849+
if (features->type == INTUOSHT2)
850+
distance = features->distance_max - distance;
849851
input_report_abs(input, ABS_X, x);
850852
input_report_abs(input, ABS_Y, y);
851853
input_report_abs(input, ABS_DISTANCE, distance);
@@ -1059,7 +1061,7 @@ static int wacom_remote_irq(struct wacom_wac *wacom_wac, size_t len)
10591061
input_report_key(input, BTN_BASE2, (data[11] & 0x02));
10601062

10611063
if (data[12] & 0x80)
1062-
input_report_abs(input, ABS_WHEEL, (data[12] & 0x7f));
1064+
input_report_abs(input, ABS_WHEEL, (data[12] & 0x7f) - 1);
10631065
else
10641066
input_report_abs(input, ABS_WHEEL, 0);
10651067

@@ -1290,7 +1292,8 @@ static void wacom_intuos_pro2_bt_pen(struct wacom_wac *wacom)
12901292
}
12911293
if (wacom->tool[0]) {
12921294
input_report_abs(pen_input, ABS_PRESSURE, get_unaligned_le16(&frame[5]));
1293-
if (wacom->features.type == INTUOSP2_BT) {
1295+
if (wacom->features.type == INTUOSP2_BT ||
1296+
wacom->features.type == INTUOSP2S_BT) {
12941297
input_report_abs(pen_input, ABS_DISTANCE,
12951298
range ? frame[13] : wacom->features.distance_max);
12961299
} else {

0 commit comments

Comments
 (0)