Commit Graph

32 Commits

Author SHA1 Message Date
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