As promised, here's the cleanup (against -pre5). I'd recommend testing this
out on the other serial adapters before sending it upstream.. all the drivers
compile, but I only have a keyspan device to test it with, and I did muck with
the probe code and the ftdi driver a little bit.
What I changed:
added write_wait to the per-port data structure (since two drivers use it,
and it really ought to be per-port and not per-device).
changed ftdi_sio.c to expect it there
changed keyspan_pda to really use the private data structure for its local
flow control variables, removed them from the common struct
added a new shutdown() serial_type method as a complement to startup()
keyspan_pda allocates the private area in startup(), frees it in shutdown()
cleaned up URB elements in struct usb_serial_port. Replaced the unused
control_urb with interrupt_in_urb. (this might affect the WhiteHEAT driver,
the unused section indicated it was waiting for that driver to be complete)
added read_int_callback() element in serial_type, only used by keyspan_pda
major reorganization of usb_probe_serial(). The interrupt_in stuff is now
handled there instead of as an exception in the keyspan_pda code. The probe
function now makes the assumption that we'll never have two serial types that
share vendor/device ID codes and only differ in the kinds of endpoints they
expect. Rearranged tests to remove extra conditionals: it now fits in 80
columns.
Comments welcome.
-Brian
serial.diff
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]