linux_dsm_epyc7002/drivers/usb/serial
Alan Stern 765e0ba626 usb-serial: new API for driver registration
This patch (as1522) adds two new routines to the usb-serial core, for
registering and unregistering serial drivers.  Instead of registering
the usb_driver and usb_serial_drivers separately, with error checking
for each one, the drivers can all be registered and unregistered by a
single function call.  This reduces duplicated code.

More importantly, the new core routines change the order in which the
drivers are registered.  Currently the usb-serial drivers are all
registered first and the usb_driver is done last, which leaves a
window for problems.  A udev script may quickly add a new dynamic-ID
for a usb-serial driver, causing the corresponding usb_driver to be
probed.  If the usb_driver hasn't been registered yet then an oops
will occur.

The new routine prevents such problems by registering the usb_driver
first.  To insure that it gets probed properly for already-attached
serial devices, we call driver_attach() after all the usb-serial
drivers have been registered.

Along with adding the new routines, the patch modifies the "generic"
serial driver to use them.  Further patches will similarly modify all
the other in-tree USB serial drivers.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-24 12:39:17 -08:00
..
aircable.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ark3116.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
belkin_sa.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
belkin_sa.h
bus.c
ch341.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
console.c
cp210x.c Merge branch 'usb-3.3-rc4' into usb-next 2012-02-23 08:21:03 -08:00
cyberjack.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
cypress_m8.c USB: serial: use dev_err_console in custom write paths 2012-02-10 10:21:04 -08:00
cypress_m8.h
digi_acceleport.c USB: serial: use dev_err_console in custom write paths 2012-02-10 10:21:04 -08:00
empeg.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ezusb_convert.pl
ezusb.c
ftdi_sio_ids.h USB: usbserial: add new PID number (0xa951) to the ftdi driver 2012-02-03 11:22:44 -08:00
ftdi_sio.c USB: usbserial: add new PID number (0xa951) to the ftdi driver 2012-02-03 11:22:44 -08:00
ftdi_sio.h USB: Add new FT232H chip to drivers/usb/serial/ftdi_sio.c 2011-06-27 13:46:44 -07:00
funsoft.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
garmin_gps.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
generic.c usb-serial: new API for driver registration 2012-02-24 12:39:17 -08:00
hp4x.c
io_16654.h
io_edgeport.c USB: serial: use dev_err_console in custom write paths 2012-02-10 10:21:04 -08:00
io_edgeport.h Fix common misspellings 2011-03-31 11:26:23 -03:00
io_ionsp.h
io_tables.h USB serial: add missing .usb_driver field in serial drivers 2011-01-22 18:38:59 -08:00
io_ti.c Merge tag 'usb-3.3-rc3' into usb-next 2012-02-10 11:13:53 -08:00
io_ti.h
io_usbvend.h
ipaq.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ipw.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ir-usb.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
iuu_phoenix.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
iuu_phoenix.h
Kconfig usb: fix ipw.c build error, select USB_SERIAL_WWAN 2011-08-24 15:06:53 -07:00
keyspan_pda.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
keyspan.h tiocmset: kill the file pointer argument 2011-02-17 11:52:43 -08:00
kl5kusb105.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
kl5kusb105.h
kobil_sct.c usb: serial: kobil_sct: fix compile warning: 2012-01-24 12:23:18 -08:00
kobil_sct.h
Makefile Revert "USB: sam-ba: add driver for Atmel SAM Boot Assistant (SAM-BA)" 2011-04-13 16:48:25 -07:00
Makefile-keyspan_pda_fw
mct_u232.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
mct_u232.h Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
mos7720.c USB: serial: use dev_err_console in custom write paths 2012-02-10 10:21:04 -08:00
mos7840.c USB: serial: use dev_err_console in custom write paths 2012-02-10 10:21:04 -08:00
moto_modem.c USB: moto_modem: Add USB identifier for the Motorola VE240. 2011-04-29 16:45:21 -07:00
navman.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
omninet.c USB: serial: use dev_err_console in custom write paths 2012-02-10 10:21:04 -08:00
opticon.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
option.c USB: option: cleanup zte 3g-dongle's pid in option.c 2012-02-14 15:08:40 -08:00
oti6858.c USB: serial: use dev_err_console in custom write paths 2012-02-10 10:21:04 -08:00
oti6858.h
pl2303.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
pl2303.h USB: serial: pl2303: rm duplicate id 2011-11-15 10:06:15 -08:00
qcaux.c qcaux: add more Pantech UML190 and UML290 ports 2012-01-24 15:47:52 -08:00
qcserial.c USB: qcserial: don't enable autosuspend 2012-02-01 15:56:18 -08:00
safe_serial.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
siemens_mpi.c USB serial: add missing .usb_driver field in serial drivers 2011-01-22 18:38:59 -08:00
sierra.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
spcp8x5.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ssu100.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
symbolserial.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ti_usb_3410_5052.c Merge branch 'usb-3.3-rc4' into usb-next 2012-02-23 08:21:03 -08:00
ti_usb_3410_5052.h USB: Serial: ti_usb_3410_5052: Add Abbot Diabetes Care cable id 2012-02-21 16:29:15 -08:00
usb_debug.c USB: usb_debug: use process_read_urb 2011-11-15 10:40:30 -08:00
usb_wwan.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
usb-serial.c usb-serial: new API for driver registration 2012-02-24 12:39:17 -08:00
usb-wwan.h tty: remove filp from the USB tty ioctls 2011-02-17 11:59:14 -08:00
visor.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
visor.h
vivopay-serial.c
whiteheat.c USB: serial: use dev_err_console in custom write paths 2012-02-10 10:21:04 -08:00
whiteheat.h
zio.c