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]

Reply via email to