Skip to content

Commit 1fd29be

Browse files
author
Jiri Kosina
committed
Merge branch 'for-4.0/upstream-fixes' into for-4.1/wacom
Conflicts: drivers/hid/wacom_wac.c Need to fetch the 4.0 fixes to apply 4.1 patches based on top of those. Signed-off-by: Jiri Kosina <[email protected]>
2 parents 5fcad16 + b70b825 commit 1fd29be

File tree

11 files changed

+97
-43
lines changed

11 files changed

+97
-43
lines changed

drivers/hid/hid-core.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1872,6 +1872,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
18721872
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_SIDEWINDER_GV) },
18731873
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_NE4K) },
18741874
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_NE4K_JP) },
1875+
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_NE7K) },
18751876
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_LK6K) },
18761877
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_USB) },
18771878
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K) },
@@ -1926,6 +1927,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
19261927
#endif
19271928
#if IS_ENABLED(CONFIG_HID_SAITEK)
19281929
{ HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_PS1000) },
1930+
{ HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7_OLD) },
19291931
{ HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7) },
19301932
{ HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7) },
19311933
{ HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_RAT9) },
@@ -1957,6 +1959,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
19571959
{ HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb65a) },
19581960
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_TIVO, USB_DEVICE_ID_TIVO_SLIDE_BT) },
19591961
{ HID_USB_DEVICE(USB_VENDOR_ID_TIVO, USB_DEVICE_ID_TIVO_SLIDE) },
1962+
{ HID_USB_DEVICE(USB_VENDOR_ID_TIVO, USB_DEVICE_ID_TIVO_SLIDE_PRO) },
19601963
{ HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED, USB_DEVICE_ID_TOPSEED_CYBERLINK) },
19611964
{ HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED2, USB_DEVICE_ID_TOPSEED2_RF_COMBO) },
19621965
{ HID_USB_DEVICE(USB_VENDOR_ID_TWINHAN, USB_DEVICE_ID_TWINHAN_IR_REMOTE) },

drivers/hid/hid-ids.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,10 @@
459459
#define USB_DEVICE_ID_UGCI_FLYING 0x0020
460460
#define USB_DEVICE_ID_UGCI_FIGHTING 0x0030
461461

462+
#define USB_VENDOR_ID_HP 0x03f0
463+
#define USB_PRODUCT_ID_HP_LOGITECH_OEM_USB_OPTICAL_MOUSE 0x0a4a
464+
#define USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE 0x134a
465+
462466
#define USB_VENDOR_ID_HUION 0x256c
463467
#define USB_DEVICE_ID_HUION_TABLET 0x006e
464468

@@ -586,6 +590,7 @@
586590
#define USB_VENDOR_ID_LOGITECH 0x046d
587591
#define USB_DEVICE_ID_LOGITECH_AUDIOHUB 0x0a0e
588592
#define USB_DEVICE_ID_LOGITECH_T651 0xb00c
593+
#define USB_DEVICE_ID_LOGITECH_C077 0xc007
589594
#define USB_DEVICE_ID_LOGITECH_RECEIVER 0xc101
590595
#define USB_DEVICE_ID_LOGITECH_HARMONY_FIRST 0xc110
591596
#define USB_DEVICE_ID_LOGITECH_HARMONY_LAST 0xc14f
@@ -654,6 +659,7 @@
654659
#define USB_DEVICE_ID_MS_LK6K 0x00f9
655660
#define USB_DEVICE_ID_MS_PRESENTER_8K_BT 0x0701
656661
#define USB_DEVICE_ID_MS_PRESENTER_8K_USB 0x0713
662+
#define USB_DEVICE_ID_MS_NE7K 0x071d
657663
#define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K 0x0730
658664
#define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500 0x076c
659665
#define USB_DEVICE_ID_MS_SURFACE_PRO_2 0x0799
@@ -802,6 +808,7 @@
802808
#define USB_VENDOR_ID_SAITEK 0x06a3
803809
#define USB_DEVICE_ID_SAITEK_RUMBLEPAD 0xff17
804810
#define USB_DEVICE_ID_SAITEK_PS1000 0x0621
811+
#define USB_DEVICE_ID_SAITEK_RAT7_OLD 0x0ccb
805812
#define USB_DEVICE_ID_SAITEK_RAT7 0x0cd7
806813
#define USB_DEVICE_ID_SAITEK_MMO7 0x0cd0
807814

@@ -896,6 +903,7 @@
896903
#define USB_VENDOR_ID_TIVO 0x150a
897904
#define USB_DEVICE_ID_TIVO_SLIDE_BT 0x1200
898905
#define USB_DEVICE_ID_TIVO_SLIDE 0x1201
906+
#define USB_DEVICE_ID_TIVO_SLIDE_PRO 0x1203
899907

900908
#define USB_VENDOR_ID_TOPSEED 0x0766
901909
#define USB_DEVICE_ID_TOPSEED_CYBERLINK 0x0204

drivers/hid/hid-microsoft.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,8 @@ static const struct hid_device_id ms_devices[] = {
264264
.driver_data = MS_ERGONOMY },
265265
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_NE4K_JP),
266266
.driver_data = MS_ERGONOMY },
267+
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_NE7K),
268+
.driver_data = MS_ERGONOMY },
267269
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_LK6K),
268270
.driver_data = MS_ERGONOMY | MS_RDESC },
269271
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PRESENTER_8K_USB),

drivers/hid/hid-saitek.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,8 @@ static int saitek_event(struct hid_device *hdev, struct hid_field *field,
177177
static const struct hid_device_id saitek_devices[] = {
178178
{ HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_PS1000),
179179
.driver_data = SAITEK_FIX_PS1000 },
180+
{ HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7_OLD),
181+
.driver_data = SAITEK_RELEASE_MODE_RAT7 },
180182
{ HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7),
181183
.driver_data = SAITEK_RELEASE_MODE_RAT7 },
182184
{ HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_RAT9),

drivers/hid/hid-sensor-hub.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,8 +135,9 @@ static struct hid_sensor_hub_callbacks *sensor_hub_get_callback(
135135
{
136136
struct hid_sensor_hub_callbacks_list *callback;
137137
struct sensor_hub_data *pdata = hid_get_drvdata(hdev);
138+
unsigned long flags;
138139

139-
spin_lock(&pdata->dyn_callback_lock);
140+
spin_lock_irqsave(&pdata->dyn_callback_lock, flags);
140141
list_for_each_entry(callback, &pdata->dyn_callback_list, list)
141142
if (callback->usage_id == usage_id &&
142143
(collection_index >=
@@ -145,10 +146,11 @@ static struct hid_sensor_hub_callbacks *sensor_hub_get_callback(
145146
callback->hsdev->end_collection_index)) {
146147
*priv = callback->priv;
147148
*hsdev = callback->hsdev;
148-
spin_unlock(&pdata->dyn_callback_lock);
149+
spin_unlock_irqrestore(&pdata->dyn_callback_lock,
150+
flags);
149151
return callback->usage_callback;
150152
}
151-
spin_unlock(&pdata->dyn_callback_lock);
153+
spin_unlock_irqrestore(&pdata->dyn_callback_lock, flags);
152154

153155
return NULL;
154156
}

drivers/hid/hid-sony.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -804,7 +804,7 @@ union sixaxis_output_report_01 {
804804
#define DS4_REPORT_0x81_SIZE 7
805805
#define SIXAXIS_REPORT_0xF2_SIZE 18
806806

807-
static spinlock_t sony_dev_list_lock;
807+
static DEFINE_SPINLOCK(sony_dev_list_lock);
808808
static LIST_HEAD(sony_device_list);
809809
static DEFINE_IDA(sony_device_id_allocator);
810810

@@ -1944,6 +1944,8 @@ static int sony_probe(struct hid_device *hdev, const struct hid_device_id *id)
19441944
return -ENOMEM;
19451945
}
19461946

1947+
spin_lock_init(&sc->lock);
1948+
19471949
sc->quirks = quirks;
19481950
hid_set_drvdata(hdev, sc);
19491951
sc->hdev = hdev;
@@ -2147,8 +2149,8 @@ static void __exit sony_exit(void)
21472149
{
21482150
dbg_hid("Sony:%s\n", __func__);
21492151

2150-
ida_destroy(&sony_device_id_allocator);
21512152
hid_unregister_driver(&sony_driver);
2153+
ida_destroy(&sony_device_id_allocator);
21522154
}
21532155
module_init(sony_init);
21542156
module_exit(sony_exit);

drivers/hid/hid-tivo.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ static const struct hid_device_id tivo_devices[] = {
6464
/* TiVo Slide Bluetooth remote, pairs with a Broadcom dongle */
6565
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_TIVO, USB_DEVICE_ID_TIVO_SLIDE_BT) },
6666
{ HID_USB_DEVICE(USB_VENDOR_ID_TIVO, USB_DEVICE_ID_TIVO_SLIDE) },
67+
{ HID_USB_DEVICE(USB_VENDOR_ID_TIVO, USB_DEVICE_ID_TIVO_SLIDE_PRO) },
6768
{ }
6869
};
6970
MODULE_DEVICE_TABLE(hid, tivo_devices);

drivers/hid/i2c-hid/i2c-hid.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,10 @@ static int i2c_hid_hwreset(struct i2c_client *client)
370370
static void i2c_hid_get_input(struct i2c_hid *ihid)
371371
{
372372
int ret, ret_size;
373-
int size = ihid->bufsize;
373+
int size = le16_to_cpu(ihid->hdesc.wMaxInputLength);
374+
375+
if (size > ihid->bufsize)
376+
size = ihid->bufsize;
374377

375378
ret = i2c_master_recv(ihid->client, ihid->inbuf, size);
376379
if (ret != size) {
@@ -785,7 +788,7 @@ static int i2c_hid_init_irq(struct i2c_client *client)
785788
dev_dbg(&client->dev, "Requesting IRQ: %d\n", client->irq);
786789

787790
ret = request_threaded_irq(client->irq, NULL, i2c_hid_irq,
788-
IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
791+
IRQF_TRIGGER_LOW | IRQF_ONESHOT,
789792
client->name, ihid);
790793
if (ret < 0) {
791794
dev_warn(&client->dev,

drivers/hid/usbhid/hid-quirks.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ static const struct hid_blacklist {
7878
{ USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
7979
{ USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },
8080
{ USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET },
81+
{ USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_LOGITECH_OEM_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL },
82+
{ USB_VENDOR_ID_HP, USB_PRODUCT_ID_HP_PIXART_OEM_USB_OPTICAL_MOUSE, HID_QUIRK_ALWAYS_POLL },
83+
{ USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_C077, HID_QUIRK_ALWAYS_POLL },
8184
{ USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET },
8285
{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3, HID_QUIRK_NO_INIT_REPORTS },
8386
{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3_JP, HID_QUIRK_NO_INIT_REPORTS },

0 commit comments

Comments
 (0)