Commit Graph

40 Commits

Author SHA1 Message Date
dyoung
f611b6f9fc Simplify activation hooks. (sc_dying must die!) 2009-11-12 19:58:27 +00:00
cegger
8c2b3a39bc make this compile 2009-01-11 10:58:26 +00:00
gmcgarry
bdd7de96c7 Constify most umidi-quirk data. Addresses PR#39017. 2008-07-08 11:34:43 +00:00
cube
3624455eba Split device_t and softc for all USB device drivers, and related cosmetic
changes.

Matthias Drochner kindly reviewed this patch, and tested ums, ubt, uaudio
and ral.  I tested umass myself.
2008-05-24 16:40:58 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
cegger
395c8c3fd3 use aprint_*_dev and device_xname 2008-04-05 16:35:35 +00:00
dyoung
0b1dce29ae Use device_t and its accessor functions.
Register _childdetached methods with drivers that attach children.
Wait to set child references to NULL there, instead of doing that
in the detach method.

Replace many uses of USB_DECLARE_DRIVER() with CFATTACH_DECL2().
2008-02-18 05:24:24 +00:00
ad
0664a0459b Start detangling lock.h from intr.h. This is likely to cause short term
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.
2008-01-04 21:17:40 +00:00
ad
46ed8f7d77 Use the softint API. 2007-10-08 16:18:02 +00:00
ad
bba99c25aa Generic soft interrupts are mandatory. 2007-07-14 21:02:36 +00:00
drochner
8258b792b7 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!
2007-03-13 13:51:53 +00:00
drochner
c033a8d4ed Don't assume that usb_descriptor_t contains a bDescriptorSubtype field.
This is class specific and shouldn't be in a generic definition.
2007-02-26 13:14:11 +00:00
christos
168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
christos
4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
chap
710af63468 Ankh-Morpork, we have a MIDI driver....
Merge from chap-midi branch, after
~month for review
Comments by thorpej@ drochner@ and Alexandre Ratchov

Incorporated: points by thorpej@ drochner@; preliminary support for
a stats-collecting ioctl suggested by martin@ from comments by A.R.

PR kern/32441 kern/32442 kern/32567 kern/32588 kern/32694 kern/33590
kern/33614 and one instance of kern/32651

ok martin@
2006-06-30 13:56:25 +00:00
christos
84d09c873a Coverity CID 1356: Add KASSERT for NULL deref. 2006-04-14 22:25:42 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
augustss
834327c847 Don't keep the devinfo string on the stack, instead use malloc/free.
This should cure some rare stack overflows.
2005-05-11 10:02:28 +00:00
yamt
18f717bb90 constify audio_hw_if, midi_hw_if, and radio_hw_if. 2004-10-29 12:57:15 +00:00
itojun
300aa0dcd5 use bounded string ops (snprintf, strl*) 2004-04-23 17:25:25 +00:00
gson
f3b20f4de0 In alloc_all_endpoints_genuine(), search for the endpoint descriptors
within the configuration descriptor, not the class specific interface
descriptor. The Edirol UM-1SX now successfully attaches and works as
a standard USB MIDI interface when the "advanced driver" switch is set
to "off".
2004-01-19 07:36:35 +00:00
gson
e11055d090 Abort the USB transfer on an endpoint when the last midi device
referencing it is closed.  Fixes kern/23987.
2004-01-06 05:42:47 +00:00
gson
07bb045f57 Opening umidi read-only failed to increment ep->num_open because
open_in_jack() treated USBD_IN_PROGRESS as a failure return.
2003-12-05 06:01:59 +00:00
keihan
b8702f530b netbsd.org -> NetBSD.org
This was the last commit of this kind to src/sys, which is now totally
"NetBSD.org clean".  Thanks for the patiance, and sorry for all the commits.
2003-12-04 13:57:30 +00:00
augustss
86650920c9 Get rid of trailing white space. 2002-07-11 21:14:24 +00:00
tshiozak
4a57ce1e18 fix some bugs (by kay@kaynet.or.jp):
- compile error with debug option,
  - miss of cut and paste, and
  - logical error on resource freeing.
2002-06-19 13:51:34 +00:00
kent
ad276dda9e free_all_endpoints(): Fix a problem with disabled device. 2002-03-08 17:24:06 +00:00
tsutsui
e6f8529d26 Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:58:16 +00:00
augustss
cee8ba6db9 Get rid of a few stray __P(). 2002-01-02 17:20:09 +00:00
augustss
7727919172 Use USBD_NO_COPY in for some transfers where it was missing. 2001-12-12 15:44:47 +00:00
lukem
667807e40c add RCSIDs 2001-11-13 06:24:53 +00:00
tshiozak
d645f8862c fix for Roland/EDIROL UM-880.
- add NULL check to UMQ_ISTYPE; sc_quirk is NULL for genuine umidi, but
    forgotten to check.  Thus, kernel will panic after connect the device.
  - fix how to count the number of endpoints in alloc_all_endpoints_genuine().
  - add a quirk for the native mode of UM-880.
2001-09-29 22:00:47 +00:00
tshiozak
83da433ada fix for UX96 (and all Yamaha specific devices, hopefully).
- fix how to get endpoint addresses.
  - fix allocate count of pipes.
  - add necessary null checks for asymmetry jacks.
2001-05-28 20:52:06 +00:00
tshiozak
5b51f5ebe2 fix forgotten/malformed initialization of some variables.
(pointed out by Krister Walfridsson.)
2001-05-25 19:33:36 +00:00
tshiozak
042dae07d7 support "running status" handling. midiplay via umidi is working now. 2001-04-07 22:01:34 +00:00
jdolecek
522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
tshiozak
b13009db08 separate mididev and jack logically. 2001-02-03 18:50:31 +00:00
tshiozak
579a1c26ca change how to allocate xfer; alloc xfer when attach and free xfer when detach. 2001-02-03 16:49:06 +00:00
tshiozak
ca8eb9d318 correct MUX-MIDI state machine. (EXCL_2 state) 2001-01-31 16:02:38 +00:00
tshiozak
6c60c9ff82 initial commit of USB midi driver.
- I tested only ROLAND UM-1 and YAMAHA UX256.
    These are not conforming to USB-MIDI spec, however these are
    similar to USB-MIDI.
  - Since I've not yet seen the "genuine" USB-MIDI device,
    I cannot test such devices although I wrote the codes for it.
TODO:
  - clean up the codes.
  - umidi(4) manpage.
  - /dev/rmidi? is working well, but /dev/music seems not working correctly.
2001-01-30 23:26:47 +00:00