[PATCH] add quirks for 0x4d9:0xa096 hid device
From: microcai I am using a USB keyborad that give me "usb_submit_urb(ctrl) failed: -1" error when I plugin it. and I need to wait for 10s for this device to be ready. by adding this quirks, the usb keyborad is usable right after plugin --- drivers/hid/hid-ids.h | 1 + drivers/hid/usbhid/hid-quirks.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 34bb220..22252b1 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -477,6 +477,7 @@ #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0700xa070 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0720xa072 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0810xa081 +#define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0960xa096 #define USB_VENDOR_ID_IMATION 0x0718 #define USB_DEVICE_ID_DISC_STAKKA 0xd000 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 8e4ddb3..d3056c8 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -120,6 +120,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_HD, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_QUAD_HD, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP_V103, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A096, HID_QUIRK_NO_INIT_REPORTS }, { 0, 0 } }; -- 2.0.0 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v2] add quirks for 0x4d9:0xa096 hid device
Resend the patch, because I miss spell the keyborad as mouse -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] add quirks for 0x04d9:0xa096 hid keyborad device
From: microcai I am using a USB keyborad that give me "usb_submit_urb(ctrl) failed: -1" error when I plugin it. and I need to wait for 10s for this device to be ready. by adding this quirks, the usb keyborad is usable right after plugin --- drivers/hid/hid-ids.h | 1 + drivers/hid/usbhid/hid-quirks.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 34bb220..a896532 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -477,6 +477,7 @@ #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0700xa070 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0720xa072 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0810xa081 +#define USB_DEVICE_ID_HOLTEK_ALT_KEYBORAD_A096 0xa096 #define USB_VENDOR_ID_IMATION 0x0718 #define USB_DEVICE_ID_DISC_STAKKA 0xd000 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 8e4ddb3..6a9bdfe 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -120,6 +120,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_HD, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_QUAD_HD, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP_V103, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBORAD_A096, HID_QUIRK_NO_INIT_REPORTS }, { 0, 0 } }; -- 2.0.0 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] add quirks for 0x04d9:0xa096 hid keyborad device
On Sun, 13 Jul 2014, micro...@fedoraproject.org wrote: > From: microcai Real name, please. Also, you need to add a signed-off-by line, refer to: Documentation/SubmittingPatches in the kernel source. > by adding this quirks, the usb keyborad is usable right after plugin It is spelled keyboard. Please also fix this on the patch itself: > +++ b/drivers/hid/hid-ids.h > @@ -477,6 +477,7 @@ > #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A070 0xa070 > #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A072 0xa072 > #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A081 0xa081 > +#define USB_DEVICE_ID_HOLTEK_ALT_KEYBORAD_A096 0xa096 KEYBOARD > #define USB_DEVICE_ID_DISC_STAKKA0xd000 > diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c > index 8e4ddb3..6a9bdfe 100644 > --- a/drivers/hid/usbhid/hid-quirks.c > +++ b/drivers/hid/usbhid/hid-quirks.c > @@ -120,6 +120,7 @@ static const struct hid_blacklist { > { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_HD, > HID_QUIRK_NO_INIT_REPORTS }, > { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_QUAD_HD, > HID_QUIRK_NO_INIT_REPORTS }, > { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP_V103, > HID_QUIRK_NO_INIT_REPORTS }, > + { USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBORAD_A096, > HID_QUIRK_NO_INIT_REPORTS }, Also here, KEYBOARD -- "One disk to rule them all, One disk to find them. One disk to bring them all and in the darkness grind them. In the Land of Redmond where the shadows lie." -- The Silicon Valley Tarot Henrique Holschuh -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
usb 3 HDD dock gets disconnected (bug 80131)
Hi list, (copied from https://bugzilla.kernel.org/show_bug.cgi?id=80131:) I have a problem with an external HDD USB 3 dock which gets regularly disconnected. It happens on my main computer, but not on an older linux box (with a recent kernel) and is also fine with a Mac OS X, so I believe that the device is OK. Below is a dmesg extract. I mounted the device shortly after s60, and then started to generate some IO (it seems to trigger the problem faster, but I'm not 100% sure). Problems begins at s137-142. At 143.328 the device comes back, I did not mount it this time, and it gets disconnected again some time after. [ 54.714646] usb 3-5: new SuperSpeed USB device number 2 using xhci_hcd [ 54.731397] usb 3-5: New USB device found, idVendor=152d, idProduct=2551 [ 54.731399] usb 3-5: New USB device strings: Mfr=1, Product=11, SerialNumber=3 [ 54.731400] usb 3-5: Product: USB Mass Storage [ 54.731401] usb 3-5: Manufacturer: JMicron [ 54.731402] usb 3-5: SerialNumber: 0023 [ 54.742900] usb-storage 3-5:1.0: USB Mass Storage device detected [ 54.742953] scsi6 : usb-storage 3-5:1.0 [ 54.743258] usbcore: registered new interface driver usb-storage [ 55.743830] scsi 6:0:0:0: Direct-Access HDD PQ: 0 ANSI: 2 CCS [ 55.744024] sd 6:0:0:0: Attached scsi generic sg4 type 0 [ 55.744243] sd 6:0:0:0: [sdd] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB) [ 55.744553] sd 6:0:0:0: [sdd] Write Protect is off [ 55.744556] sd 6:0:0:0: [sdd] Mode Sense: 28 00 00 00 [ 55.744848] sd 6:0:0:0: [sdd] No Caching mode page found [ 55.744850] sd 6:0:0:0: [sdd] Assuming drive cache: write through [ 55.745851] sd 6:0:0:0: [sdd] No Caching mode page found [ 55.745855] sd 6:0:0:0: [sdd] Assuming drive cache: write through [ 55.779813] sdd: sdd1 [ 55.780955] sd 6:0:0:0: [sdd] No Caching mode page found [ 55.780957] sd 6:0:0:0: [sdd] Assuming drive cache: write through [ 55.780959] sd 6:0:0:0: [sdd] Attached SCSI disk [ 56.025800] BTRFS: device label backup devid 1 transid 2941 /dev/sdd1 [ 56.027363] BTRFS: device label backup devid 1 transid 2941 /dev/sdd1 [ 60.369517] BTRFS: device label backup devid 1 transid 2941 /dev/sdd1 [ 60.370996] BTRFS info (device sdd1): disk space caching is enabled [ 137.654793] usb 3-5: Disable of device-initiated U1 failed. [ 142.649035] usb 3-5: Disable of device-initiated U2 failed. [ 142.792959] usb 3-5: USB disconnect, device number 2 [ 142.796813] scsi 6:0:0:0: rejecting I/O to offline device [ 142.796818] scsi 6:0:0:0: [sdd] killing request [ 142.796825] scsi 6:0:0:0: [sdd] Unhandled error code [ 142.796827] scsi 6:0:0:0: [sdd] [ 142.796829] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK [ 142.796831] scsi 6:0:0:0: [sdd] CDB: [ 142.796833] Read(10): 28 00 00 0f f1 c0 00 00 f0 00 [ 142.796837] end_request: I/O error, dev sdd, sector 1044928 [ 142.796844] scsi 6:0:0:0: rejecting I/O to offline device [ 142.796846] scsi 6:0:0:0: [sdd] killing request [ 142.796937] scsi 6:0:0:0: [sdd] Unhandled error code [ 142.796939] scsi 6:0:0:0: [sdd] [ 142.796939] Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK [ 142.796940] scsi 6:0:0:0: [sdd] CDB: [ 142.796941] Read(10): 28 00 00 07 f7 20 00 00 20 00 [ 142.796945] end_request: I/O error, dev sdd, sector 522016 [ 142.796947] BTRFS: bdev /dev/sdd1 errs: wr 0, rd 1, flush 0, corrupt 0, gen 0 [ 142.796986] BTRFS: i/o error at logical 525565952 on dev /dev/sdd1, sector 1042880: metadata leaf (level 0) in tree 524779520 [ 142.796988] BTRFS: i/o error at logical 525565952 on dev /dev/sdd1, sector 1042880: metadata leaf (level 0) in tree 524779520 [ 142.796990] BTRFS: bdev /dev/sdd1 errs: wr 0, rd 2, flush 0, corrupt 0, gen 0 [ 142.796993] BTRFS: unable to fixup (regular) error at logical 525565952 on dev /dev/sdd1 [ 142.797004] BTRFS: i/o error at logical 525582336 on dev /dev/sdd1, sector 1042912: metadata leaf (level 0) in tree 7 [ 142.797005] BTRFS: i/o error at logical 525582336 on dev /dev/sdd1, sector 1042912: metadata leaf (level 0) in tree 7 [ 142.797006] BTRFS: bdev /dev/sdd1 errs: wr 0, rd 3, flush 0, corrupt 0, gen 0 [ 142.797010] BTRFS: unable to fixup (regular) error at logical 525582336 on dev /dev/sdd1 [ 142.797017] BTRFS: i/o error at logical 525598720 on dev /dev/sdd1, sector 1042944: metadata leaf (level 0) in tree 7 [ 142.797018] BTRFS: i/o error at logical 525598720 on dev /dev/sdd1, sector 1042944: metadata leaf (level 0) in tree 7 [ 142.797020] BTRFS: bdev /dev/sdd1 errs: wr 0, rd 4, flush 0, corrupt 0, gen 0 [ 142.797023] BTRFS: unable to fixup (regular) error at logical 525598720 on dev /dev/sdd1 [ 142.797030] BTRFS: i/o error at logical 525615104 on dev /dev/sdd1, sector 1042976: metadata leaf (level 0) in tree 7 [ 142.797031] BTRFS: i/o error at logical 525615104 on dev /dev/sdd1, sector 1042976: metadata leaf (level 0) in tree 7 [ 142.797032] BTRFS: bdev /dev/sdd1 errs: wr 0, rd 5, flush 0, corrupt 0, gen 0 [ 142.797035] BT
Re: usb 3 HDD dock gets disconnected (bug 80131)
As an additional note: since that problem I could not mount any other mass storage device (even usb keys): [ 8963.471154] xhci_hcd :00:14.0: Timeout while waiting for a slot [ 8963.471159] hub 2-0:1.0: couldn't allocate port 11 usb_device [ 8995.002796] xhci_hcd :00:14.0: Timeout while waiting for a slot [ 8995.002803] hub 2-0:1.0: couldn't allocate port 11 usb_device So I did a "rmmod xhci_hcd": [ 9057.543485] xhci_hcd :00:14.0: remove, state 4 [ 9057.543491] usb usb3: USB disconnect, device number 1 [ 9057.543659] xhci_hcd :00:14.0: USB bus 3 deregistered [ 9057.543665] xhci_hcd :00:14.0: remove, state 1 [ 9057.543669] usb usb2: USB disconnect, device number 1 [ 9057.543671] usb 2-3: USB disconnect, device number 2 [ 9057.850472] usb 2-4: USB disconnect, device number 3 [ 9057.994823] xhci_hcd :00:14.0: USB bus 2 deregistered Then I had to log from another computer (usb keyboard ^^) to modprobe xhci_hcd again. I don't know how much of this log may be interesting but the general idea below is that USB keys can be mounted again. [ 9379.258224] systemd-logind[2280]: New session 25 of user adrien. [ 9393.348620] xhci_hcd :00:14.0: xHCI Host Controller [ 9393.348626] xhci_hcd :00:14.0: new USB bus registered, assigned bus number 2 [ 9393.348696] xhci_hcd :00:14.0: cache line size of 64 is not supported [ 9393.348709] xhci_hcd :00:14.0: irq 42 for MSI/MSI-X [ 9393.348754] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002 [ 9393.348755] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 9393.348756] usb usb2: Product: xHCI Host Controller [ 9393.348757] usb usb2: Manufacturer: Linux 3.14-1-amd64 xhci_hcd [ 9393.348758] usb usb2: SerialNumber: :00:14.0 [ 9393.348867] hub 2-0:1.0: USB hub found [ 9393.348883] hub 2-0:1.0: 14 ports detected [ 9393.368076] xhci_hcd :00:14.0: xHCI Host Controller [ 9393.368081] xhci_hcd :00:14.0: new USB bus registered, assigned bus number 3 [ 9393.368124] usb usb3: New USB device found, idVendor=1d6b, idProduct=0003 [ 9393.368125] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 9393.368125] usb usb3: Product: xHCI Host Controller [ 9393.368126] usb usb3: Manufacturer: Linux 3.14-1-amd64 xhci_hcd [ 9393.368127] usb usb3: SerialNumber: :00:14.0 [ 9393.368305] hub 3-0:1.0: USB hub found [ 9393.368316] hub 3-0:1.0: 6 ports detected [ 9393.659665] usb 2-3: new low-speed USB device number 2 using xhci_hcd [ 9393.860517] usb 2-3: New USB device found, idVendor=045e, idProduct=071d [ 9393.860520] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 9393.860521] usb 2-3: Product: Microsoft\xffc2\xffae\xffae 2.4GHz Transceiver V1.0 [ 9393.860522] usb 2-3: Manufacturer: Microsoft [ 9393.860670] usb 2-3: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes [ 9393.860674] usb 2-3: ep 0x82 - rounding interval to 64 microframes, ep desc says 80 microframes [ 9393.867468] input: Microsoft Microsoft\xffc2\xffae\xffae 2.4GHz Transceiver V1.0 as /devices/pci:00/:00:14.0/usb2/2-3/2-3:1.0/0003:045E:071D.0005/input/input23 [ 9393.867565] hid-generic 0003:045E:071D.0005: input,hidraw0: USB HID v1.11 Keyboard [Microsoft Microsoft\xffc2\xffae\xffae 2.4GHz Transceiver V1.0] on usb-:00:14.0-3/input0 [ 9393.926652] input: Microsoft Microsoft\xffc2\xffae\xffae 2.4GHz Transceiver V1.0 as /devices/pci:00/:00:14.0/usb2/2-3/2-3:1.1/0003:045E:071D.0006/input/input24 [ 9393.926853] hid-generic 0003:045E:071D.0006: input,hidraw1: USB HID v1.11 Mouse [Microsoft Microsoft\xffc2\xffae\xffae 2.4GHz Transceiver V1.0] on usb-:00:14.0-3/input1 [ 9394.091174] usb 2-4: new full-speed USB device number 3 using xhci_hcd [ 9394.220831] usb 2-4: New USB device found, idVendor=046d, idProduct=c526 [ 9394.220833] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 9394.220834] usb 2-4: Product: USB Receiver [ 9394.220835] usb 2-4: Manufacturer: Logitech [ 9394.222865] input: Logitech USB Receiver as /devices/pci:00/:00:14.0/usb2/2-4/2-4:1.0/0003:046D:C526.0007/input/input25 [ 9394.222943] hid-generic 0003:046D:C526.0007: input,hidraw2: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-:00:14.0-4/input0 [ 9394.224249] input: Logitech USB Receiver as /devices/pci:00/:00:14.0/usb2/2-4/2-4:1.1/0003:046D:C526.0008/input/input26 [ 9394.224325] hid-generic 0003:046D:C526.0008: input,hiddev0,hidraw3: USB HID v1.11 Device [Logitech USB Receiver] on usb-:00:14.0-4/input1 [ 9418.199444] usb 2-11: new high-speed USB device number 4 using xhci_hcd [ 9418.327695] usb 2-11: New USB device found, idVendor=8644, idProduct=800b [ 9418.327704] usb 2-11: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 9418.327708] usb 2-11: Product: USB Flash Disk [ 9418.327712] usb 2-11: Manufacturer: General [ 9418.327716] usb 2-11: SerialNumber: 0478 [ 9418.328286] usb-
Re: [PATCH v3] add quirks for 0x04d9:0xa096 hid keyborad device
I am using a USB keyboard that give me "usb_submit_urb(ctrl) failed: -1" error when I plugin it. and I need to wait for 10s for this device to be ready. by adding this quirks, the usb keyboard is usable right after plugin --- drivers/hid/hid-ids.h | 1 + drivers/hid/usbhid/hid-quirks.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 34bb220..bda276b 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -477,6 +477,7 @@ #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0700xa070 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0720xa072 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0810xa081 +#define USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD_A096 0xa096 #define USB_VENDOR_ID_IMATION 0x0718 #define USB_DEVICE_ID_DISC_STAKKA 0xd000 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 8e4ddb3..da22a5e 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -120,6 +120,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_HD, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_QUAD_HD, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP_V103, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD_A096, HID_QUIRK_NO_INIT_INPUT_REPORTS }, { 0, 0 } }; -- 2.0.0 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] add quirks for 0x04d9:0xa096 hid keyborad device
From: microcai I am using a USB keyborad that give me "usb_submit_urb(ctrl) failed: -1" error when I plugin it. and I need to wait for 10s for this device to be ready. by adding this quirks, the usb keyborad is usable right after plugin Signed-off-by: Wangzhao Cai --- drivers/hid/hid-ids.h | 1 + drivers/hid/usbhid/hid-quirks.c | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 34bb220..bda276b 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -477,6 +477,7 @@ #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0700xa070 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0720xa072 #define USB_DEVICE_ID_HOLTEK_ALT_MOUSE_A0810xa081 +#define USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD_A096 0xa096 #define USB_VENDOR_ID_IMATION 0x0718 #define USB_DEVICE_ID_DISC_STAKKA 0xd000 diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 8e4ddb3..da22a5e 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c @@ -120,6 +120,7 @@ static const struct hid_blacklist { { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_HD, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_QUAD_HD, HID_QUIRK_NO_INIT_REPORTS }, { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP_V103, HID_QUIRK_NO_INIT_REPORTS }, + { USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD_A096, HID_QUIRK_NO_INIT_INPUT_REPORTS }, { 0, 0 } }; -- 2.0.0 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv2 3/6] arm: omap3: twl: use the new lookup method with usb phy
Hi Tony, On Thursday 05 June 2014 06:22 PM, Heikki Krogerus wrote: > Provide complete association for the phy and it's user > (musb) with the new phy lookup method. I can take this patch with your Ack or if you want to take it Acked-by: Kishon Vijay Abraham I Thanks Kishon > > Signed-off-by: Heikki Krogerus > Cc: Tony Lindgren > --- > arch/arm/mach-omap2/twl-common.c | 18 -- > 1 file changed, 8 insertions(+), 10 deletions(-) > > diff --git a/arch/arm/mach-omap2/twl-common.c > b/arch/arm/mach-omap2/twl-common.c > index b0d54da..b78383c 100644 > --- a/arch/arm/mach-omap2/twl-common.c > +++ b/arch/arm/mach-omap2/twl-common.c > @@ -91,18 +91,14 @@ void __init omap_pmic_late_init(void) > } > > #if defined(CONFIG_ARCH_OMAP3) > -struct phy_consumer consumers[] = { > - PHY_CONSUMER("musb-hdrc.0", "usb"), > -}; > - > -struct phy_init_data init_data = { > - .consumers = consumers, > - .num_consumers = ARRAY_SIZE(consumers), > +static struct phy_lookup twl4030_usb_lookup = { > + .phy_name = "phy-twl4030_usb.0", > + .dev_id = "musb-hdrc.0", > + .con_id = "usb", > }; > > static struct twl4030_usb_data omap3_usb_pdata = { > - .usb_mode = T2_USB_MODE_ULPI, > - .init_data = &init_data, > + .usb_mode = T2_USB_MODE_ULPI, > }; > > static int omap3_batt_table[] = { > @@ -225,8 +221,10 @@ void __init omap3_pmic_get_config(struct > twl4030_platform_data *pmic_data, > } > > /* Common platform data configurations */ > - if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb) > + if (pdata_flags & TWL_COMMON_PDATA_USB && !pmic_data->usb) { > + phy_register_lookup(&twl4030_usb_lookup); > pmic_data->usb = &omap3_usb_pdata; > + } > > if (pdata_flags & TWL_COMMON_PDATA_BCI && !pmic_data->bci) > pmic_data->bci = &omap3_bci_pdata; > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv2 5/6] base: platform: name the device already during allocation
Greg, On Thursday 05 June 2014 06:22 PM, Heikki Krogerus wrote: > This allows resources such as GPIOs and clocks, which can be > matched based on the device name when requested, to be > assigned even when PLATFORM_DEVID_AUTO is used. Any comments on this patch? Thanks Kishon > > Signed-off-by: Heikki Krogerus > Cc: Greg Kroah-Hartman > --- > drivers/base/platform.c | 77 > ++--- > 1 file changed, 47 insertions(+), 30 deletions(-) > > diff --git a/drivers/base/platform.c b/drivers/base/platform.c > index 9e9227e..e856bc4 100644 > --- a/drivers/base/platform.c > +++ b/drivers/base/platform.c > @@ -177,11 +177,45 @@ struct platform_object { > */ > void platform_device_put(struct platform_device *pdev) > { > - if (pdev) > - put_device(&pdev->dev); > + if (!pdev) > + return; > + > + if (pdev->id_auto) { > + ida_simple_remove(&platform_devid_ida, pdev->id); > + pdev->id = PLATFORM_DEVID_AUTO; > + } > + > + put_device(&pdev->dev); > } > EXPORT_SYMBOL_GPL(platform_device_put); > > +static int pdev_set_name(struct platform_device *pdev) > +{ > + int ret; > + > + switch (pdev->id) { > + default: > + return dev_set_name(&pdev->dev, "%s.%d", pdev->name, pdev->id); > + case PLATFORM_DEVID_NONE: > + return dev_set_name(&pdev->dev, "%s", pdev->name); > + case PLATFORM_DEVID_AUTO: > + /* > + * Automatically allocated device ID. We mark it as such so > + * that we remember it must be freed, and we append a suffix > + * to avoid namespace collision with explicit IDs. > + */ > + ret = ida_simple_get(&platform_devid_ida, 0, 0, GFP_KERNEL); > + if (ret < 0) > + return ret; > + pdev->id = ret; > + pdev->id_auto = true; > + return dev_set_name(&pdev->dev, "%s.%d.auto", pdev->name, > + pdev->id); > + } > + > + return 0; > +} > + > static void platform_device_release(struct device *dev) > { > struct platform_object *pa = container_of(dev, struct platform_object, > @@ -214,6 +248,10 @@ struct platform_device *platform_device_alloc(const char > *name, int id) > device_initialize(&pa->pdev.dev); > pa->pdev.dev.release = platform_device_release; > arch_setup_pdev_archdata(&pa->pdev); > + if (pdev_set_name(&pa->pdev)) { > + kfree(pa); > + return NULL; > + } > } > > return pa ? &pa->pdev : NULL; > @@ -294,28 +332,6 @@ int platform_device_add(struct platform_device *pdev) > > pdev->dev.bus = &platform_bus_type; > > - switch (pdev->id) { > - default: > - dev_set_name(&pdev->dev, "%s.%d", pdev->name, pdev->id); > - break; > - case PLATFORM_DEVID_NONE: > - dev_set_name(&pdev->dev, "%s", pdev->name); > - break; > - case PLATFORM_DEVID_AUTO: > - /* > - * Automatically allocated device ID. We mark it as such so > - * that we remember it must be freed, and we append a suffix > - * to avoid namespace collision with explicit IDs. > - */ > - ret = ida_simple_get(&platform_devid_ida, 0, 0, GFP_KERNEL); > - if (ret < 0) > - goto err_out; > - pdev->id = ret; > - pdev->id_auto = true; > - dev_set_name(&pdev->dev, "%s.%d.auto", pdev->name, pdev->id); > - break; > - } > - > for (i = 0; i < pdev->num_resources; i++) { > struct resource *p, *r = &pdev->resource[i]; > > @@ -358,7 +374,6 @@ int platform_device_add(struct platform_device *pdev) > release_resource(r); > } > > - err_out: > return ret; > } > EXPORT_SYMBOL_GPL(platform_device_add); > @@ -378,11 +393,6 @@ void platform_device_del(struct platform_device *pdev) > if (pdev) { > device_del(&pdev->dev); > > - if (pdev->id_auto) { > - ida_simple_remove(&platform_devid_ida, pdev->id); > - pdev->id = PLATFORM_DEVID_AUTO; > - } > - > for (i = 0; i < pdev->num_resources; i++) { > struct resource *r = &pdev->resource[i]; > unsigned long type = resource_type(r); > @@ -400,8 +410,15 @@ EXPORT_SYMBOL_GPL(platform_device_del); > */ > int platform_device_register(struct platform_device *pdev) > { > + int ret; > + > device_initialize(&pdev->dev); > arch_setup_pdev_archdata(pdev); > + > + ret = pdev_set_name(pdev); > + if (ret) > + return ret; > + > return platform_device_add(pdev); > } > EXPORT_SYMBOL_GPL(platform_device_register); > -- To unsubscribe from