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