this brings the UQ_BAD_HID entries together, lines up the
columns a bit better, and adds a short description for some
of the quirks.

any comments? ok?


Index: usb_quirks.c
===================================================================
RCS file: /cvs/src/sys/dev/usb/usb_quirks.c,v
retrieving revision 1.53
diff -u -p -r1.53 usb_quirks.c
--- usb_quirks.c        17 Oct 2009 07:10:38 -0000      1.53
+++ usb_quirks.c        6 Apr 2010 09:46:28 -0000
@@ -79,7 +79,7 @@ const struct usbd_quirk_entry {
        0x001, { UQ_ASSUME_CM_OVER_DATA }},
  { USB_VENDOR_EICON, USB_PRODUCT_EICON_DIVA852,
        0x100, { UQ_ASSUME_CM_OVER_DATA }},
- /* YAMAHA router's ucdDevice is the version of farmware and often changes. */
+ /* YAMAHA router's ucdDevice is the version of firmware and often changes. */
  { USB_VENDOR_YAMAHA, USB_PRODUCT_YAMAHA_RTA54I,
        ANY, { UQ_ASSUME_CM_OVER_DATA }},
  { USB_VENDOR_YAMAHA, USB_PRODUCT_YAMAHA_RTA55I,
@@ -106,9 +106,9 @@ const struct usbd_quirk_entry {
  { USB_VENDOR_TI, USB_PRODUCT_TI_UTUSB41,          0x110, { UQ_POWER_CLAIM }},
  { USB_VENDOR_TELEX, USB_PRODUCT_TELEX_MIC1,       0x009, { UQ_AU_NO_FRAC }},
 
- { USB_VENDOR_TERRATEC, USB_PRODUCT_TERRATEC_AUREON,
-                                                   ANY, { UQ_BAD_HID }},
-
+ /*
+  * UQ_BROKEN_BIDIR: ulpt(4) devices which don't handle reading.
+  */
  /* XXX These should have a revision number, but I don't know what they are. */
  { USB_VENDOR_HP, USB_PRODUCT_HP_895C,             ANY,   { UQ_BROKEN_BIDIR }},
  { USB_VENDOR_HP, USB_PRODUCT_HP_880C,             ANY,   { UQ_BROKEN_BIDIR }},
@@ -120,39 +120,47 @@ const struct usbd_quirk_entry {
  { USB_VENDOR_HP, USB_PRODUCT_HP_816C,             ANY,   { UQ_BROKEN_BIDIR }},
  { USB_VENDOR_HP, USB_PRODUCT_HP_959C,             ANY,   { UQ_BROKEN_BIDIR }},
  { USB_VENDOR_HP, USB_PRODUCT_HP_1220C,                    ANY,   { 
UQ_BROKEN_BIDIR }},
- { USB_VENDOR_ITUNER, USB_PRODUCT_ITUNER_USBLCD20x2,       ANY,   { UQ_BAD_HID 
}},
  { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY900,       ANY,   { UQ_BROKEN_BIDIR }},
  { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY760,       ANY,   { UQ_BROKEN_BIDIR }},
  { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY920,       ANY,   { UQ_BROKEN_BIDIR }},
  { USB_VENDOR_NEC, USB_PRODUCT_NEC_PICTY800,       ANY,   { UQ_BROKEN_BIDIR }},
- { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY, ANY,   { UQ_BAD_HID }},
- { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX35F,       ANY,   { UQ_BAD_HID }},
- { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX50F,       ANY,   { UQ_BAD_HID }},
- { USB_VENDOR_TENX, USB_PRODUCT_TENX_MISSILE,      ANY,   { UQ_BAD_HID }},
- { USB_VENDOR_APC, USB_PRODUCT_APC_UPSPRO500,      ANY,   { UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR, ANY,   { UQ_BAD_HID }},
- { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK,    ANY,    { 
UQ_BAD_HID }},
- { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1,           ANY,   { UQ_BAD_HID }},
- { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2,           ANY,   { UQ_BAD_HID }},
- { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500, ANY,    { UQ_BAD_HID }},
- { USB_VENDOR_MUSTEK2, USB_PRODUCT_MUSTEK2_PM800,      ANY,    { UQ_BAD_HID }},
+
+ /*
+  * UQ_BAD_HID: HID-class devices which must attach to ugen(4)
+  * to interact with software to control them.
+  */
+ { USB_VENDOR_APC, USB_PRODUCT_APC_UPSPRO500,          ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C550AVR,     ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F6C1500EITWRK, ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_CYBERPOWER, USB_PRODUCT_CYBERPOWER_1500, ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD,  ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,      ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,        ANY,   { 
UQ_BAD_HID }},
+ { USB_VENDOR_ITUNER, USB_PRODUCT_ITUNER_USBLCD20x2,   ANY,   { UQ_BAD_HID }},
  { USB_VENDOR_LIEBERT, USB_PRODUCT_LIEBERT_POWERSURE_PXT, ANY, { UQ_BAD_HID }},
+ { USB_VENDOR_MECANIQUE, USB_PRODUCT_MECANIQUE_WISPY,   ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS1,               ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_MGE, USB_PRODUCT_MGE_UPS2,               ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_MUSTEK2, USB_PRODUCT_MUSTEK2_PM800,      ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX35F,           ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_OMRON, USB_PRODUCT_OMRON_BX50F,           ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_TENX, USB_PRODUCT_TENX_MISSILE,          ANY,   { UQ_BAD_HID }},
+ { USB_VENDOR_TERRATEC, USB_PRODUCT_TERRATEC_AUREON,    ANY,   { UQ_BAD_HID }},
+
+ /*
+  * UQ_NO_STRINGS: suppress printing strings from the device in
+  * attach lines; use for devices with bad strings to avoid broken
+  * dmesg output.
+  */
+ { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220, ANY,    { UQ_NO_STRINGS }},
 
-  /* MS keyboards do weird things */
-  { USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLNOTEBOOK,
+ /* MS keyboards do weird things */
+ { USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLNOTEBOOK,
        ANY, { UQ_MS_BAD_CLASS | UQ_MS_LEADING_BYTE }},
-  { USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLNOTEBOOK2,
+ { USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLNOTEBOOK2,
        ANY, { UQ_MS_BAD_CLASS | UQ_MS_LEADING_BYTE }},
-  { USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLINTELLIMOUSE,
+ { USB_VENDOR_MICROSOFT, USB_PRODUCT_MICROSOFT_WLINTELLIMOUSE,
        ANY, { UQ_MS_LEADING_BYTE }},
-
- /* SISPM devices */
- { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_OLD,      ANY,   { UQ_BAD_HID 
}},
- { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM,          ANY,   { UQ_BAD_HID 
}},
- { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_SISPM_FLASH,            ANY,   { 
UQ_BAD_HID }},
-
- /* HUAWEI devices */
- { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220, ANY,    { UQ_NO_STRINGS }},
 
  { 0, 0, 0, { 0 } }
 };

Reply via email to