hopefully this is the last round; - don't duplicate documentation from .h in .c - move .h documentation to the same line as the #define for easier grepping - reword .h doc slightly, mostly to fit on 1 line where possible, change text for UQ_EHCI_NEEDTO_DISOWN to something that seems easier-reading to me
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 23:04:00 -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,6 @@ 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 }}, - /* 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 +117,38 @@ 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_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_LIEBERT, USB_PRODUCT_LIEBERT_POWERSURE_PXT, 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 }}, + + { 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 } } }; Index: usb_quirks.h =================================================================== RCS file: /cvs/src/sys/dev/usb/usb_quirks.h,v retrieving revision 1.14 diff -u -p -r1.14 usb_quirks.h --- usb_quirks.h 17 Oct 2009 07:10:38 -0000 1.14 +++ usb_quirks.h 6 Apr 2010 23:04:00 -0000 @@ -34,40 +34,27 @@ struct usbd_quirks { u_int32_t uq_flags; /* Device problems: */ - /* cannot handle SET PROTOCOL. */ -#define UQ_NO_SET_PROTO 0x00000001 +#define UQ_NO_SET_PROTO 0x00000001 /* cannot handle SET PROTOCOL */ - /* has some Unicode strings swapped. */ -#define UQ_SWAP_UNICODE 0x00000002 +#define UQ_SWAP_UNICODE 0x00000002 /* some Unicode strings swapped */ - /* mouse has Z-axis reversed */ -#define UQ_MS_REVZ 0x00000004 +#define UQ_MS_REVZ 0x00000004 /* mouse has Z-axis reversed */ - /* string descriptors are broken. */ -#define UQ_NO_STRINGS 0x00000008 +#define UQ_NO_STRINGS 0x00000008 /* string descriptors are broken */ - /* bad audio spec version number. */ -#define UQ_BAD_ADC 0x00000010 +#define UQ_BAD_ADC 0x00000010 /* bad audio spec version number */ - /* device is bus powered, despite claim */ -#define UQ_BUS_POWERED 0x00000020 +#define UQ_BUS_POWERED 0x00000020 /* is bus-powered, despite claim */ - /* device claims audio class, but isn't */ -#define UQ_BAD_AUDIO 0x00000040 +#define UQ_BAD_AUDIO 0x00000040 /* claims audio class, but isn't */ - /* spurious mouse button up events */ -#define UQ_SPUR_BUT_UP 0x00000080 +#define UQ_SPUR_BUT_UP 0x00000080 /* spurious mouse button up events */ - /* audio device has broken extension unit */ -#define UQ_AU_NO_XU 0x00000100 +#define UQ_AU_NO_XU 0x00000100 /* audio device has broken + extension unit */ - /* hub lies about power status */ -#define UQ_POWER_CLAIM 0x00000200 +#define UQ_POWER_CLAIM 0x00000200 /* hub lies about power status */ - /* don't adjust for fractional samples */ -#define UQ_AU_NO_FRAC 0x00000400 +#define UQ_AU_NO_FRAC 0x00000400 /* don't adjust for fractional + samples */ - /* modem device breaks on cm over data */ -#define UQ_ASSUME_CM_OVER_DATA 0x00001000 +#define UQ_ASSUME_CM_OVER_DATA 0x00001000 /* modem device breaks on cm + over data */ - /* printer has broken bidir mode */ -#define UQ_BROKEN_BIDIR 0x00002000 +#define UQ_BROKEN_BIDIR 0x00002000 /* printer has broken bidir mode */ - /* device claims uhid, but isn't */ -#define UQ_BAD_HID 0x00004000 +#define UQ_BAD_HID 0x00004000 /* device claims uhid, but isn't */ - /* doesn't identify properly */ -#define UQ_MS_BAD_CLASS 0x00008000 +#define UQ_MS_BAD_CLASS 0x00008000 /* mouse doesn't identify properly */ - /* mouse sends an unknown leading byte. */ -#define UQ_MS_LEADING_BYTE 0x00010000 +#define UQ_MS_LEADING_BYTE 0x00010000 /* mouse sends unknown leading byte */ - /* need to attach as 1.1 device if it is 2.0 */ -#define UQ_EHCI_NEEDTO_DISOWN 0x00020000 +#define UQ_EHCI_NEEDTO_DISOWN 0x00020000 /* must hand device over to USB 1.1 + if attached to EHCI */ }; extern const struct usbd_quirks usbd_no_quirk;