usb/122819: Patch to provide dynamic additions to the usb quirks table

Hans Petter Selasky hselasky at c2i.net
Thu Apr 17 16:45:48 UTC 2008


Hi,

You need to do a little bit more work regarding the token naming. There is no 
USB module called "UAU". Instead of "UAU_NO_FRAC" I think you should have 
changed it to "UAUDIO_NO_FRAC". The same applies for most of the other quirk 
tokens aswell. "UHID_IGNORE" is fine.

Search the kernel sources for where these tokens are used to figure out the 
module name:

find /usr/src/sys -name "*.c" -and -exec grep -H AU_NO_FRAC {} \; 

Else your changes are OK.

--HPS

On Thursday 17 April 2008, Maurice Castro wrote:
> The following reply was made to PR usb/122819; it has been noted by GNATS.

>  --Apple-Mail-2-311066617
>  Content-Disposition: attachment;
>  	filename=usb.diff
>  Content-Type: application/octet-stream;
>  	x-unix-mode=0644;
>  	name="usb.diff"
>  Content-Transfer-Encoding: 7bit
>
>  diff -ru /usr/src/share/man/man4/usb.4 /scratch/src/share/man/man4/usb.4
>  --- /usr/src/share/man/man4/usb.4	2008-04-11 22:43:31.000000000 +1000
>  +++ /scratch/src/share/man/man4/usb.4	2008-04-17 08:39:01.000000000 +1000
>  @@ -288,6 +288,66 @@
>   .Em DANGEROUS
>   and should be used with great care since it
>   can destroy the bus integrity.
>  +.It Dv USB_SETDYNQUIRKS
>  +This command will cause the dynamic quirks table to be rebuilt from the
>  +contents of the kernel environment. Environment strings of the form
>  +.Pp
>  +.Ic usb.quirk.N="VENDOR PRODUCT REVISION FLAGS"
>  +.Pp
>  +where
>  +.Ic N
>  +is a number between 0 and 9 and quirks must be numbered contiguously;
>  +.Ic VENDOR PRODUCT
>  +and
>  +.Ic REVISION
>  +are constants that identify the device (the value 0xffff for
>  +.Ic REVISION
>  +denotes all revisions); and
>  +.Ic FLAGS
>  +is any combination of
>  +.Bl -tag -width "UOPEN_CLEARSTALL" -compact -offset indent
>  +.It USWAP_UNICODE
>  +has some Unicode strings swapped.
>  +.It UMS_REVZ
>  +mouse has Z-axis reversed
>  +.It UNO_STRINGS
>  +string descriptors are broken.
>  +.It UBAD_ADC
>  +bad audio spec version number.
>  +.It UBUS_POWERED
>  +device is bus powered, despite claim
>  +.It UBAD_AUDIO
>  +device claims audio class, but isn't
>  +.It USPUR_BUT_UP
>  +spurious mouse button up events
>  +.It UAU_NO_XU
>  +audio device has broken extension unit
>  +.It UPOWER_CLAIM
>  +hub lies about power status
>  +.It UAU_NO_FRAC
>  +don't adjust for fractional samples
>  +.It UAU_INP_ASYNC
>  +input is async despite claim of adaptive
>  +.It UBROKEN_BIDIR
>  +printer has broken bidir mode
>  +.It UOPEN_CLEARSTALL
>  +device needs clear endpoint stall
>  +.It UHID_IGNORE
>  +device should be ignored by hid class
>  +.It UKBD_IGNORE
>  +device should be ignored by both kbd and hid class
>  +.It UMS_BAD_CLASS
>  +doesn't identify properly
>  +.It UMS_LEADING_BYTE
>  +mouse sends an unknown leading byte.





More information about the freebsd-usb mailing list