Commit Graph

44 Commits

Author SHA1 Message Date
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
augustss 86650920c9 Get rid of trailing white space. 2002-07-11 21:14:24 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
augustss 152efb1a0e Make a typedef for struct proc to make portingeasier. 2001-12-31 12:15:21 +00:00
lukem 667807e40c add RCSIDs 2001-11-13 06:24:53 +00:00
augustss a8415c10db Clear busy flag on write error. From PR 13731, IWAMOTO Toshihiro. 2001-08-16 22:31:24 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
augustss 8086f5e0ec Print portno when attaching. 2001-04-02 13:18:31 +00:00
augustss 840a1d7e2b Fiddle enough with the tty so that it wakes up on detach and drops
the reference count on the ucom.
2001-01-23 22:06:25 +00:00
augustss 4b0119383e Ad support for an extra message in the ucom attach code. 2001-01-23 21:56:17 +00:00
augustss 0156530592 Null out pointers when closing pipes.
Try to wake upper layer on error.
2001-01-23 21:22:57 +00:00
augustss 23cffa82c7 Rearrange detach code so it is more likely to survive detaching an open
device (it's still not waking up readers properly).
2001-01-23 17:35:58 +00:00
eeh 507aaec04c Adapt to the new line discipline scheme. 2000-11-02 00:01:44 +00:00
explorer 365f7337ea make ucom into a random source, type TTY 2000-10-22 19:01:44 +00:00
augustss 23116295f4 Remove some // type comments. 2000-09-23 04:33:04 +00:00
toshii 8debbc34ab Change the second argument of tiocm_to_ucom to u_long,
since the second argument of ioctl is a u_long value.
2000-09-15 17:03:24 +00:00
toshii 8b74873d54 Cleanup the error handling code introduced in rev. 1.26. Commented by jhawk.
No functional change.
2000-09-13 05:17:14 +00:00
toshii f7d700a127 Make the control line handling a little better. Avoid a DTR/RTS issue
from uninitialized sc_mcr by not calling ucom_{dtr,rts} if possible.

XXX Flow control is still incomplete and needs more work.
2000-09-10 03:10:20 +00:00
toshii 6bc11dce71 In ucomopen(), make sure to call splx() before returning
when initialization fails.
2000-09-08 07:20:52 +00:00
augustss 5cf4edb506 Handle output packet headers in a cleaner way. From IWAMOTO Toshihiro
<iwamoto@sat.t.u-tokyo.ac.jp>, fixes kern/10573.
2000-09-03 19:15:45 +00:00
augustss ed9486e158 Bring the coding style into the 80s, i.e., get rid of __P and use
ANSI prototypes and declarations.
2000-06-01 14:28:57 +00:00
augustss 30c20f930f Change my email address. 2000-04-27 15:26:44 +00:00
augustss 1767c08cba Add a capability for pre/post processing on write/read. 2000-04-14 14:21:55 +00:00
itojun d65678850d fix build of ucom. (static/non-static) 2000-04-08 01:22:26 +00:00
augustss 3b05a69aa2 Remove a couple of Static that shouldn't be there. 2000-04-07 12:40:16 +00:00
augustss a302716de4 Let the parent device of a ucom decide what size the read and write
buffers should be since it knows about the speed.
Increase the buffer size of uvisor.
XXX The uvisor is still pitifully slow.  There must be a problem somewhere.
2000-04-06 13:32:28 +00:00
augustss 1acb380bf7 Make it compile without USB_DEBUG. From Chris Jones. 2000-04-05 21:24:11 +00:00
augustss 8b5373dd2e Use reference counting on the softc so detach doesn't blow it away prematurely. 2000-04-05 11:11:33 +00:00
augustss fc72e72d7d Change (almost) all static to Static. The symbol `Static' can then be defined
to `' or `static' depending on if you want to debug or not.
2000-03-27 12:33:53 +00:00
augustss e922214fb2 Use NULL instead of 0. 2000-02-08 18:45:27 +00:00
augustss e0c519464a Add methods for ucom to call back on open/close. 2000-02-08 09:18:01 +00:00
augustss 0335569abc Make it compile even if you leave out the ucom attachment. 2000-01-25 13:56:23 +00:00
augustss a2b1ac707a Split the umodem driver into two parts: the part that emulates a tty over
two bulk pipes, and the setup and status fiddling goo.
This allows the former part to be shared by other drivers that need to
look like a tty.
2000-01-25 08:12:58 +00:00
augustss 0d2fabdf26 A number of stylistic changes to increase readability (many suggested
by Nick Hibma):
	use NULL not 0
	declare all local definitions static
	rename s/usbd_request/usbd_xfer/ s/reqh/xfer/
	rename s/r/err/
	use implicit test for no err
	KNF
1999-11-12 00:34:57 +00:00
augustss 2aadcb5f47 Change the internal API to allow DMA buffers to be pre-allocated by
the device driver instead of happening automagically in the HC driver.
This affects both the HC-USBD interface as well as the USBD-device
interface.
This change will allow DMA buffers to be reused e.g. in isochronous
traffic.

Add isochronous support to the UHCI driver (not for OHCI yet).
1999-09-09 12:26:43 +00:00
augustss b8b1e35ece Some changes from FreeBSD (no functional differences). 1999-08-14 14:49:31 +00:00
augustss b177c7a397 Totally redo the way device detach is done. It now uses a kernel event
thread and the config detach method.
Squish a number of space leaks on detach.
1999-06-30 06:44:22 +00:00
augustss f963dc8ddb Some minor updates from FreeBSD. 1999-01-10 19:13:15 +00:00
augustss 875aa92d2c Various little fixes from the FreeBSD version. 1999-01-08 11:58:25 +00:00
augustss e4b5e096e8 Fix some FreeBSD compiler warnings. 1999-01-07 02:22:50 +00:00
augustss 3b9a669a7d Remove #include that slipped in at FreeBSD merge. 1998-12-30 17:46:20 +00:00
augustss e0c228ae9c Merge changes to make the USB stack work with FreeBSD. The original
diffs from Nick Hibma <n_hibma@freebsd.org>, but with substantial
changes from me.
XXX Not tested on FreeBSD yet.
1998-12-26 12:53:00 +00:00
augustss f8b9a417f0 Improvement to the ugen driver.
Better error checking.
Some code rearrengment.
1998-12-09 00:18:10 +00:00
augustss e424a174ba Add stub for a modem driver. 1998-12-02 22:47:19 +00:00