Subject: CVS commit: src/sys/dev/usb
To: None <source-changes@NetBSD.org>
From: Matthias Drochner <drochner@netbsd.org>
List: source-changes
Date: 03/13/2007 13:51:57
Module Name:	src
Committed By:	drochner
Date:		Tue Mar 13 13:51:57 UTC 2007

Modified Files:
	src/sys/dev/usb: files.usb if_atu.c if_aue.c if_axe.c if_cdce.c
	    if_cue.c if_kue.c if_rum.c if_udav.c if_upl.c if_ural.c if_url.c
	    uaudio.c ubsa.c ubt.c udsbr.c uep.c uftdi.c ugensa.c uhidev.c
	    uhidev.h uhub.c uipaq.c uirda.c ukyopon.c ulpt.c umass.c umct.c
	    umidi.c umodem.c umodem_common.c umodemvar.h uplcom.c urio.c
	    usb_port.h usb_subr.c usbdi.h uscanner.c usscanner.c ustir.c
	    utoppy.c uvisor.c uvscom.c uyap.c xboxcontroller.c

Log Message:
Introduce different autoconf interface attributes for USB drivers
matching (and handling) a whole device and those which match an
interface only. This will allow to enforce some rules, eg that
the former don't use interface information for matching or that the
latter don't modify global device state.
The previous way left too much freedom do the drivers which led to
inconsistencies and abuse.
For now, I've not changed locators and submatch rules, this will
happen later.
There should not be any change in behaviour, except in the case of
some drivers which did behave inconsistently:
if_atu, if_axe, uep: matched the configured device in the interface
 stage, but did configuration again. I've converted them to match
 in the device stage.
ustir, utoppy: matched in the interface stage, but only against
 vendor/device information, and used any configuration/interface
 without checking. Changed to match in device stage, and added
 some simple code to configure and use the first interface.
If you have one of those devices, please test!


To generate a diff of this commit:
cvs rdiff -r1.73 -r1.74 src/sys/dev/usb/files.usb
cvs rdiff -r1.25 -r1.26 src/sys/dev/usb/if_atu.c src/sys/dev/usb/if_url.c
cvs rdiff -r1.100 -r1.101 src/sys/dev/usb/if_aue.c
cvs rdiff -r1.18 -r1.19 src/sys/dev/usb/if_axe.c src/sys/dev/usb/ubsa.c \
    src/sys/dev/usb/ustir.c
cvs rdiff -r1.13 -r1.14 src/sys/dev/usb/if_cdce.c
cvs rdiff -r1.49 -r1.50 src/sys/dev/usb/if_cue.c
cvs rdiff -r1.59 -r1.60 src/sys/dev/usb/if_kue.c
cvs rdiff -r1.8 -r1.9 src/sys/dev/usb/if_rum.c src/sys/dev/usb/uep.c
cvs rdiff -r1.16 -r1.17 src/sys/dev/usb/if_udav.c
cvs rdiff -r1.28 -r1.29 src/sys/dev/usb/if_upl.c
cvs rdiff -r1.19 -r1.20 src/sys/dev/usb/if_ural.c src/sys/dev/usb/uvscom.c
cvs rdiff -r1.109 -r1.110 src/sys/dev/usb/uaudio.c
cvs rdiff -r1.23 -r1.24 src/sys/dev/usb/ubt.c src/sys/dev/usb/uirda.c
cvs rdiff -r1.11 -r1.12 src/sys/dev/usb/udsbr.c \
    src/sys/dev/usb/umodem_common.c src/sys/dev/usb/uyap.c
cvs rdiff -r1.30 -r1.31 src/sys/dev/usb/uftdi.c
cvs rdiff -r1.9 -r1.10 src/sys/dev/usb/ugensa.c src/sys/dev/usb/utoppy.c
cvs rdiff -r1.33 -r1.34 src/sys/dev/usb/uhidev.c
cvs rdiff -r1.6 -r1.7 src/sys/dev/usb/uhidev.h src/sys/dev/usb/ukyopon.c
cvs rdiff -r1.85 -r1.86 src/sys/dev/usb/uhub.c
cvs rdiff -r1.5 -r1.6 src/sys/dev/usb/uipaq.c
cvs rdiff -r1.77 -r1.78 src/sys/dev/usb/ulpt.c
cvs rdiff -r1.123 -r1.124 src/sys/dev/usb/umass.c
cvs rdiff -r1.21 -r1.22 src/sys/dev/usb/umct.c src/sys/dev/usb/usscanner.c
cvs rdiff -r1.29 -r1.30 src/sys/dev/usb/umidi.c
cvs rdiff -r1.55 -r1.56 src/sys/dev/usb/umodem.c src/sys/dev/usb/uscanner.c
cvs rdiff -r1.4 -r1.5 src/sys/dev/usb/umodemvar.h \
    src/sys/dev/usb/xboxcontroller.c
cvs rdiff -r1.53 -r1.54 src/sys/dev/usb/uplcom.c
cvs rdiff -r1.27 -r1.28 src/sys/dev/usb/urio.c
cvs rdiff -r1.74 -r1.75 src/sys/dev/usb/usb_port.h
cvs rdiff -r1.143 -r1.144 src/sys/dev/usb/usb_subr.c
cvs rdiff -r1.72 -r1.73 src/sys/dev/usb/usbdi.h
cvs rdiff -r1.34 -r1.35 src/sys/dev/usb/uvisor.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.