<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/include/linux/usb/serial.h, branch v3.6.8</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.6.8</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.6.8'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2012-05-15T22:40:00+00:00</updated>
<entry>
<title>USB: serial: hook up reset_resume callback</title>
<updated>2012-05-15T22:40:00+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-05-15T22:40:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=7186364e46c3800635c283924bf25433d0a556a2'/>
<id>urn:sha1:7186364e46c3800635c283924bf25433d0a556a2</id>
<content type='text'>
The callback is now hooked up for any USB to serial driver that wants
it.  We only register the callback if any of the usb-serial structures
want it, this keeps the USB core happy.

Thanks to Alan Stern for the ideas on how to do this.

Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: serial: rework usb_serial_register/deregister_drivers()</title>
<updated>2012-05-08T22:46:14+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-05-08T22:46:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=68e24113457e437b1576670f2419b77ed0531e9e'/>
<id>urn:sha1:68e24113457e437b1576670f2419b77ed0531e9e</id>
<content type='text'>
This reworks the usb_serial_register_drivers() and
usb_serial_deregister_drivers() to not need a pointer to a struct
usb_driver anymore.  The usb_driver structure is now created dynamically
and registered and unregistered as needed.

This saves lines of code in each usb-serial driver.  All in-kernel users
of these functions were also fixed up at this time.  The pl2303 driver
was tested that everything worked properly.

Thanks for the idea to do this from Alan Stern.

Cc: Adhir Ramjiawan &lt;adhirramjiawan0@gmail.com&gt;
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Al Borchers &lt;alborchers@steinerpoint.com&gt;
Cc: Aleksey Babahin &lt;tamerlan311@gmail.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Andrew Worsley &lt;amworsley@gmail.com&gt;
Cc: Bart Hartgers &lt;bart.hartgers@gmail.com&gt;
Cc: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Dan Carpenter &lt;error27@gmail.com&gt;
Cc: Dan Williams &lt;dcbw@redhat.com&gt;
Cc: Donald Lee &lt;donald@asix.com.tw&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Cc: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Gary Brubaker &lt;xavyer@ix.netcom.com&gt;
Cc: Jesper Juhl &lt;jj@chaosbits.net&gt;
Cc: Jiri Kosina &lt;jkosina@suse.cz&gt;
Cc: Johan Hovold &lt;jhovold@gmail.com&gt;
Cc: Julia Lawall &lt;julia@diku.dk&gt;
Cc: Kautuk Consul &lt;consul.kautuk@gmail.com&gt;
Cc: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Cc: Lonnie Mendez &lt;dignome@gmail.com&gt;
Cc: Matthias Bruestle and Harald Welte &lt;support@reiner-sct.com&gt;
Cc: Matthias Urlichs &lt;smurf@smurf.noris.de&gt;
Cc: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Cc: Michal Sroczynski &lt;msroczyn@gmail.com&gt;
Cc: "Michał Wróbel" &lt;michal.wrobel@flytronic.pl&gt;
Cc: Oliver Neukum &lt;oliver@neukum.name&gt;
Cc: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Cc: Peter Berger &lt;pberger@brimson.com&gt;
Cc: Preston Fick &lt;preston.fick@silabs.com&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: Rigbert Hamisch &lt;rigbert@gmx.de&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Simon Arlott &lt;simon@fire.lp0.eu&gt;
Cc: Support Department &lt;support@connecttech.com&gt;
Cc: Thomas Tuttle &lt;ttuttle@chromium.org&gt;
Cc: Uwe Bonnes &lt;bon@elektron.ikp.physik.tu-darmstadt.de&gt;
Cc: Wang YanQing &lt;Udknight@gmail.com&gt;
Cc: William Greathouse &lt;wgreathouse@smva.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: serial: remove bizarre generic_serial probe function</title>
<updated>2012-05-07T21:46:48+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-05-07T21:46:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2edd284bd752e58ccb312f3d623267fb79857db3'/>
<id>urn:sha1:2edd284bd752e58ccb312f3d623267fb79857db3</id>
<content type='text'>
I can't remember why I wrote it like this many many years ago, but it's
not needed at all, let's rely on the usb-serial core for this function,
especially as it is being overridden by it anyway.

This lets us make usb_serial_probe() a static function, which it should
be.

Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: serial: remove usb_serial_disconnect call in all drivers</title>
<updated>2012-05-07T21:02:13+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-05-07T21:02:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=32078f915d1acab356080b144aa89fe3487f3979'/>
<id>urn:sha1:32078f915d1acab356080b144aa89fe3487f3979</id>
<content type='text'>
This is now set by the usb-serial core, no need for the driver to
individually set it.

Thanks to Alan Stern for the idea to get rid of it.

Cc: William Greathouse &lt;wgreathouse@smva.com&gt;
Cc: Matthias Bruestle and Harald Welte &lt;support@reiner-sct.com&gt;
Cc: Lonnie Mendez &lt;dignome@gmail.com&gt;
Cc: Peter Berger &lt;pberger@brimson.com&gt;
Cc: Al Borchers &lt;alborchers@steinerpoint.com&gt;
Cc: Gary Brubaker &lt;xavyer@ix.netcom.com&gt;
Cc: Oliver Neukum &lt;oliver@neukum.name&gt;
Cc: Matthias Urlichs &lt;smurf@smurf.noris.de&gt;
Cc: Support Department &lt;support@connecttech.com&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
Cc: Kautuk Consul &lt;consul.kautuk@gmail.com&gt;
Cc: Bill Pemberton &lt;wfp5p@virginia.edu&gt;
Cc: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
Cc: Bart Hartgers &lt;bart.hartgers@gmail.com&gt;
Cc: Johan Hovold &lt;jhovold@gmail.com&gt;
Cc: Preston Fick &lt;preston.fick@silabs.com&gt;
Cc: Uwe Bonnes &lt;bon@elektron.ikp.physik.tu-darmstadt.de&gt;
Cc: Simon Arlott &lt;simon@fire.lp0.eu&gt;
Cc: Andrew Worsley &lt;amworsley@gmail.com&gt;
Cc: "Michał Wróbel" &lt;michal.wrobel@flytronic.pl&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Cc: Felipe Balbi &lt;balbi@ti.com&gt;
Cc: Aleksey Babahin &lt;tamerlan311@gmail.com&gt;
Cc: Dan Carpenter &lt;error27@gmail.com&gt;
Cc: Jiri Kosina &lt;jkosina@suse.cz&gt;
Cc: Donald Lee &lt;donald@asix.com.tw&gt;
Cc: Julia Lawall &lt;julia@diku.dk&gt;
Cc: Michal Sroczynski &lt;msroczyn@gmail.com&gt;
Cc: Wang YanQing &lt;Udknight@gmail.com&gt;
Cc: Dan Williams &lt;dcbw@redhat.com&gt;
Cc: Thomas Tuttle &lt;ttuttle@chromium.org&gt;
Cc: Rigbert Hamisch &lt;rigbert@gmx.de&gt;
Cc: "Rafael J. Wysocki" &lt;rjw@sisk.pl&gt;
Cc: Kuninori Morimoto &lt;kuninori.morimoto.gx@renesas.com&gt;
Cc: Jesper Juhl &lt;jj@chaosbits.net&gt;
Cc: Adhir Ramjiawan &lt;adhirramjiawan0@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: fix bug in serial driver unregistration</title>
<updated>2012-04-09T22:36:20+00:00</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2012-03-28T20:10:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=891a3b1fddb24b4b53426685bd0390bb74c9b5b3'/>
<id>urn:sha1:891a3b1fddb24b4b53426685bd0390bb74c9b5b3</id>
<content type='text'>
This patch (as1536) fixes a bug in the USB serial core.  Unloading and
reloading a serial driver while a serial device is plugged in causes
errors because of the code in usb_serial_disconnect() that tries to
make sure the port_remove method is called.  With the new order of
driver registration introduced in the 3.4 kernel, this is definitely
not the right thing to do (if indeed it ever was).

The patch removes that whole section code, along with the mechanism
for keeping track of each port's registration state, which is no
longer needed.  The driver core can handle all that stuff for us.

Note: This has been tested only with one or two USB serial drivers.
In theory, other drivers might still run into trouble.  But if they
do, it will be the fault of the drivers, not of this patch -- that is,
the drivers will need to be fixed.

Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Reported-and-tested-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: serial: use module_driver() macro</title>
<updated>2012-03-10T00:38:14+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-03-10T00:38:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b790f5d1260b4c962bd066cd34ae982943c27fe1'/>
<id>urn:sha1:b790f5d1260b4c962bd066cd34ae982943c27fe1</id>
<content type='text'>
Now that module_driver() can handle varargs, use it instead of rolling
our own version.

Cc: Lars-Peter Clausen &lt;lars@metafoo.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: create module_usb_serial_driver macro</title>
<updated>2012-02-28T19:21:48+00:00</updated>
<author>
<name>Greg KH</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-02-24T23:38:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d1cddb4a8e9b09c33158acae05c48069d74fa4d0'/>
<id>urn:sha1:d1cddb4a8e9b09c33158acae05c48069d74fa4d0</id>
<content type='text'>
Now that Alan Stern has cleaned up the usb serial driver registration,
we have the ability to create a module_usb_serial_driver macro to make
things a bit simpler, like the other *_driver macros created.

But, as we need two functions here, we can't reuse the existing
module_driver() macro, so we need to roll our own.

Here's a patch implementing module_usb_serial_driver() and it converts
the pl2303 driver to use it, showing a nice cleanup.

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: serial: remove usb_serial_register and usb_serial_deregister</title>
<updated>2012-02-24T20:50:30+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2012-02-24T20:50:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f799e7678390029e322ae2dc3cda389b11f38124'/>
<id>urn:sha1:f799e7678390029e322ae2dc3cda389b11f38124</id>
<content type='text'>
No one uses them anymore, they should be using the safer
usb_serial_register_drivers() and usb_serial_deregister_drivers()
functions instead.

Thanks to Alan Stern for writing these functions and porting all
in-kernel users to them.

Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb-serial: new API for driver registration</title>
<updated>2012-02-24T20:39:17+00:00</updated>
<author>
<name>Alan Stern</name>
<email>stern@rowland.harvard.edu</email>
</author>
<published>2012-02-23T19:55:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=765e0ba62613fb90f09c1b5926750df0aa56f349'/>
<id>urn:sha1:765e0ba62613fb90f09c1b5926750df0aa56f349</id>
<content type='text'>
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 &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>USB: serial: add macro for console error reporting</title>
<updated>2012-02-09T16:43:02+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>jhovold@gmail.com</email>
</author>
<published>2012-02-06T18:22:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e688355bfeadf17ef522b1e62cc12f8e88e69667'/>
<id>urn:sha1:e688355bfeadf17ef522b1e62cc12f8e88e69667</id>
<content type='text'>
Add macro which prints an error message only once if port is used a
console.

Reporting errors in a write path when port is used as a console could
otherwise result in an infinite loop.

Signed-off-by: Johan Hovold &lt;jhovold@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
