aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/serial/keyspan_pda.c
AgeCommit message (Collapse)AuthorFilesLines
2024-08-26USB: serial: drop driver owner initializationKrzysztof Kozlowski1-2/+0
Core in usb_serial_register_drivers() already sets the .owner, so driver does not need to. Signed-off-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2023-06-07USB: serial: return errors from break handlingJohan Hovold1-2/+6
Start propagating errors to user space when setting the break state fails. This will be used by follow-on changes to also report when a driver or device does not support break control. Tested-by: Corey Minyard <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2022-08-30usb: serial: Make ->set_termios() old ktermios constIlpo Järvinen1-1/+2
There should be no reason to adjust old ktermios which is going to get discarded anyway. Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Ilpo Järvinen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2021-09-21USB: serial: keyspan_pda: use usb_control_msg_recv()Himadri Pandya1-39/+28
Use the wrapper function usb_control_msg_recv() that accepts stack variables and remove dma buffers from callers of usb_control_msg(). Signed-off-by: Himadri Pandya <[email protected]> Link: https://lore.kernel.org/r/[email protected] [ johan: simplify write-room error handling further ] Signed-off-by: Johan Hovold <[email protected]>
2021-02-09USB: serial: make remove callback return voidUwe Kleine-König1-3/+1
All usb_serial drivers return 0 in their remove callbacks and driver core ignores the value returned by usb_serial_device_remove(). So change the remove callback to return void and return 0 unconditionally in usb_serial_device_remove(). Signed-off-by: Uwe Kleine-König <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: drop redundant usb-serial pointerJohan Hovold1-3/+2
Drop the redundant struct usb_serial pointer from the driver port data. Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: use BIT() macroJohan Hovold1-12/+13
Use the BIT() macro instead of open coding. Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: clean up comments and whitespaceJohan Hovold1-60/+56
Clean up comment style, remove some stale or redundant comments and drop superfluous white space. Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: clean up xircom/entrega supportJohan Hovold1-59/+9
Drop the separate Kconfig symbol for Xircom / Entrega and always include support in the keyspan_pda driver. Note that all configs that enabled CONFIG_USB_SERIAL_XIRCOM also enable CONFIG_USB_SERIAL_KEYSPAN_PDA. Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: add write-fifo supportJohan Hovold1-60/+55
Use the port write fifo and generic chars_and_buffer and write_room implementations when writing. This not only allows for more efficient transfers, but more importantly fixes the remaining issues related to the conservative write_room() implementation which could prevent the line discipline from making forward progress (e.g. waiting for n > 1 bytes of space to become available). Note that this also allows using the driver for the system console without dropping data when the write URB is busy (including when adding carriage return on line feed). Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: increase transmitter thresholdJohan Hovold1-1/+1
Increase the transmitter threshold so that writing isn't resumed until 128 bytes are available in the device buffer thereby allowing for larger and more efficient transfers. Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: fix write implementationJohan Hovold1-58/+51
Fix stalled writes by checking the available buffer space after requesting an unthrottle notification in case the device buffer is already empty so that no notification is ever sent (e.g. when doing single character writes). This also means we can drop the room query from write() which was conditioned on in_interrupt() and prevented writing using this driver from atomic contexts (e.g. PPP). Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: refactor write-room handlingJohan Hovold1-63/+50
Add helper to retrieve the available device transfer-buffer space. Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: fix write unthrottlingJohan Hovold1-9/+20
The driver did not update its view of the available device buffer space until write() was called in task context. This meant that write_room() would return 0 even after the device had sent a write-unthrottle notification, something which could lead to blocked writers not being woken up (e.g. when using OPOST). Note that we must also request an unthrottle notification is case a write() request fills the device buffer exactly. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: stable <[email protected]> Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: fix tx-unthrottle use-after-freeJohan Hovold1-0/+4
The driver's transmit-unthrottle work was never flushed on disconnect, something which could lead to the driver port data being freed while the unthrottle work is still scheduled. Fix this by cancelling the unthrottle work when shutting down the port. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: [email protected] Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: fix write-wakeup use-after-freeJohan Hovold1-14/+3
The driver's deferred write wakeup was never flushed on disconnect, something which could lead to the driver port data being freed while the wakeup work is still scheduled. Fix this by using the usb-serial write wakeup which gets cancelled properly on disconnect. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: [email protected] Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: fix stalled writesJohan Hovold1-1/+1
Make sure to clear the write-busy flag also in case no new data was submitted due to lack of device buffer space so that writing is resumed once space again becomes available. Fixes: 507ca9bc0476 ("[PATCH] USB: add ability for usb-serial drivers to determine if their write urb is currently being used.") Cc: stable <[email protected]> # 2.6.13 Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: fix write deadlockJohan Hovold1-3/+4
The write() callback can be called in interrupt context (e.g. when used as a console) so interrupts must be disabled while holding the port lock to prevent a possible deadlock. Fixes: e81ee637e4ae ("usb-serial: possible irq lock inversion (PPP vs. usb/serial)") Fixes: 507ca9bc0476 ("[PATCH] USB: add ability for usb-serial drivers to determine if their write urb is currently being used.") Cc: stable <[email protected]> # 2.6.19 Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-11-04USB: serial: keyspan_pda: fix dropped unthrottle interruptsJohan Hovold1-2/+2
Commit c528fcb116e6 ("USB: serial: keyspan_pda: fix receive sanity checks") broke write-unthrottle handling by dropping well-formed unthrottle-interrupt packets which are precisely two bytes long. This could lead to blocked writers not being woken up when buffer space again becomes available. Instead, stop unconditionally printing the third byte which is (presumably) only valid on modem-line changes. Fixes: c528fcb116e6 ("USB: serial: keyspan_pda: fix receive sanity checks") Cc: stable <[email protected]> # 4.11 Acked-by: Sebastian Andrzej Siewior <[email protected]> Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2020-07-02USB: serial: keyspan_pda: drop unused firmware reset statusJohan Hovold1-2/+1
Drop the unused firmware reset status which would already have been logged. This suppresses the corresponding W=1 (-Wunused-but-set-variable) warning. Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2019-06-20docs: usb: rename files to .rst and add them to drivers-apiMauro Carvalho Chehab1-1/+1
While there are a mix of things here, most of the stuff were written from Kernel developer's PoV. So, add them to the driver-api book. A follow up for this patch would be to move documents from there that are specific to sysadmins, adding them to the admin-guide. Signed-off-by: Mauro Carvalho Chehab <[email protected]> Acked-by: Johan Hovold <[email protected]> Acked-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-07-06USB: serial: keyspan_pda: fix modem-status error handlingJohan Hovold1-1/+3
Fix broken modem-status error handling which could lead to bits of slab data leaking to user space. Fixes: 3b36a8fd6777 ("usb: fix uninitialized variable warning in keyspan_pda") Cc: stable <[email protected]> # 2.6.27 Signed-off-by: Johan Hovold <[email protected]>
2017-11-04USB: serial: Remove redundant license textGreg Kroah-Hartman1-5/+0
Now that the SPDX tag is in all USB files, that identifies the license in a specific and legally-defined manner. So the extra GPL text wording can be removed as it is no longer needed at all. This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed. No copyright headers or other non-license-description text was removed. Signed-off-by: Greg Kroah-Hartman <[email protected]> Acked-by: Johan Hovold <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2017-11-04USB: add SPDX identifiers to all remaining files in drivers/usb/Greg Kroah-Hartman1-0/+1
It's good to have SPDX identifiers in all files to make it easier to audit the kernel tree for correct licenses. Update the drivers/usb/ and include/linux/usb* files with the correct SPDX license identifier based on the license text in the file itself. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. This work is based on a script and data from Thomas Gleixner, Philippe Ombredanne, and Kate Stewart. Cc: Thomas Gleixner <[email protected]> Cc: Kate Stewart <[email protected]> Cc: Philippe Ombredanne <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> Acked-by: Felipe Balbi <[email protected]> Acked-by: Johan Hovold <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2017-03-16USB: serial: keyspan_pda: simplify endpoint checkJohan Hovold1-14/+2
Simplify the endpoint sanity check by letting core verify that the required endpoints are present. Signed-off-by: Johan Hovold <[email protected]>
2017-01-31USB: serial: keyspan_pda: fix receive sanity checksJohan Hovold1-5/+14
Make sure to check for short transfers before parsing the receive buffer to avoid acting on stale data. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Reviewed-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2017-01-04USB: serial: keyspan_pda: verify endpoints at probeJohan Hovold1-0/+14
Check for the expected endpoints in attach() and fail loudly if not present. Note that failing to do this appears to be benign since da280e348866 ("USB: keyspan_pda: clean up write-urb busy handling") which prevents a NULL-pointer dereference in write() by never marking a non-existent write-urb as free. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: stable <[email protected]> # < v3.3 Signed-off-by: Johan Hovold <[email protected]>
2016-08-22USB: serial: use IS_ENABLED() instead of checking for built-in or moduleJavier Martinez Canillas1-2/+2
The IS_ENABLED() macro checks if a Kconfig symbol has been enabled either built-in or as a module, use that macro instead of open coding the same. Using the macro makes the code more readable by helping abstract away some of the Kconfig built-in and module enable details. Signed-off-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2015-03-19USB: keyspan_pda: add new device idNathaniel W Filardo1-0/+3
Add USB VID/PID for Xircom PGMFHUB USB/serial component. (The hub and SCSI bridge on that hardware are recognized out of the box by existing drivers.) Tested VID/PID using new_id and loopback connection and was met with success, but that's all the testing done. Signed-off-by: Nathaniel Wesley Filardo <[email protected]> Cc: stable <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2014-10-22USB: serial: keyspan_pda: fix Entrega company name spellingMark Knibbs1-8/+8
Entrega is misspelled as Entregra or Entrgra, so fix that. Signed-off-by: Mark Knibbs <[email protected]> Signed-off-by: Johan Hovold <[email protected]>
2014-03-12USB: serial: add missing newlines to dev_<level> messages.Johan Hovold1-1/+1
Add missing newlines to dev_<level> messages. Also make some messages less verbose where appropriate. Signed-off-by: Johan Hovold <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2014-01-08usb: delete non-required instances of include <linux/init.h>Paul Gortmaker1-1/+0
None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Signed-off-by: Paul Gortmaker <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-04-29Merge tag 'usb-3.10-rc1' of ↵Linus Torvalds1-13/+6
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB patches from Greg Kroah-Hartman: "Here's the big USB pull request for 3.10-rc1. Lots of USB patches here, the majority being USB gadget changes and USB-serial driver cleanups, the rest being ARM build fixes / cleanups, and individual driver updates. We also finally got some chipidea fixes, which have been delayed for a number of kernel releases, as the maintainer has now reappeared. All of these have been in linux-next for a while" * tag 'usb-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (568 commits) USB: ehci-msm: USB_MSM_OTG needs USB_PHY USB: OHCI: avoid conflicting platform drivers USB: OMAP: ISP1301 needs USB_PHY USB: lpc32xx: ISP1301 needs USB_PHY USB: ftdi_sio: enable two UART ports on ST Microconnect Lite usb: phy: tegra: don't call into tegra-ehci directly usb: phy: phy core cannot yet be a module USB: Fix initconst in ehci driver usb-storage: CY7C68300A chips do not support Cypress ATACB USB: serial: option: Added support Olivetti Olicard 145 USB: ftdi_sio: correct ST Micro Connect Lite PIDs ARM: mxs_defconfig: add CONFIG_USB_PHY ARM: imx_v6_v7_defconfig: add CONFIG_USB_PHY usb: phy: remove exported function from __init section usb: gadget: zero: put function instances on unbind usb: gadget: f_sourcesink.c: correct a copy-paste misnomer usb: gadget: cdc2: fix error return code in cdc_do_config() usb: gadget: multi: fix error return code in rndis_do_config() usb: gadget: f_obex: fix error return code in obex_bind() USB: storage: convert to use module_usb_driver() ...
2013-03-25USB: keyspan_pda: remove bogus disconnect test in closeJohan Hovold1-7/+2
Remove bogus (and unnecessary) test for serial->dev being NULL in close. The device is never cleared, and close is never called after a completed disconnect anyway. Signed-off-by: Johan Hovold <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-03-25USB: keyspan_pda: remove bogus disconnect test from dtr_rtsJohan Hovold1-6/+4
Remove bogus (and unnecessary) test for serial->dev being NULL in dtr_rts. The device is never cleared, and disconnect is handled for dtr_rts in usb-serial core anyway. Signed-off-by: Johan Hovold <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-03-18TTY: add tty_port_tty_wakeup helperJiri Slaby1-4/+2
It allows for cleaning up on a considerable amount of places. They did port_get, wakeup, kref_put. Now the only thing needed is to call tty_port_tty_wakeup which does exactly that. One exception is ifx6x60 where tty_wakeup was open-coded. We now call tty_wakeup properly there. Signed-off-by: Jiri Slaby <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-01-15TTY: switch tty_flip_buffer_pushJiri Slaby1-5/+2
Now, we start converting tty buffer functions to actually use tty_port. This will allow us to get rid of the need of tty in many call sites. Only tty_port will needed and hence no more tty_port_tty_get in those paths. Now, the one where most of tty_port_tty_get gets removed: tty_flip_buffer_push. IOW we also closed all the races in drivers not using tty_port_tty_get at all yet. Also we move tty_flip_buffer_push declaration from include/linux/tty.h to include/linux/tty_flip.h to all others while we are changing it anyway. Signed-off-by: Jiri Slaby <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2013-01-15TTY: switch tty_insert_flip_stringJiri Slaby1-1/+1
Now, we start converting tty buffer functions to actually use tty_port. This will allow us to get rid of the need of tty in many call sites. Only tty_port will needed and hence no more tty_port_tty_get in those paths. tty_insert_flip_string this time. Signed-off-by: Jiri Slaby <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-10-31USB: serial: remove driver version informationJohan Hovold1-4/+0
Remove all MODULE_VERSION macros and driver-version information (except for garmin_gps which uses it in a status reply). It is the kernel version that matters and not some private version scheme which rarely even gets updated. Signed-off-by: Johan Hovold <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-10-17USB: keyspan_pda: fix port-data memory leakJohan Hovold1-13/+17
Fix port-data memory leak by replacing attach and release with port_probe and port_remove. Since commit 0998d0631001288 (device-core: Ensure drvdata = NULL when no driver is bound) the port private data is no longer freed at release as it is no longer accessible. Note that the write waitqueue was initialised but never used. Compile-only tested. Cc: <[email protected]> Signed-off-by: Johan Hovold <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-10-01Merge tag 'usb-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbLinus Torvalds1-49/+24
Pull USB changes from Greg Kroah-Hartman: "Here is the big USB pull request for 3.7-rc1 There are lots of gadget driver changes (including copying a bunch of files into the drivers/staging/ccg/ directory so that the other gadget drivers can be fixed up properly without breaking that driver), and we remove the old obsolete ub.c driver from the tree. There are also the usual XHCI set of updates, and other various driver changes and updates. We also are trying hard to remove the old dbg() macro, but the final bits of that removal will be coming in through the networking tree before we can delete it for good. All of these patches have been in the linux-next tree. Signed-off-by: Greg Kroah-Hartman <[email protected]>" Fix up several annoying - but fairly mindless - conflicts due to the termios structure having moved into the tty device, and often clashing with dbg -> dev_dbg conversion. * tag 'usb-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (339 commits) USB: ezusb: move ezusb.c from drivers/usb/serial to drivers/usb/misc USB: uas: fix gcc warning USB: uas: fix locking USB: Fix race condition when removing host controllers USB: uas: add locking USB: uas: fix abort USB: uas: remove aborted field, replace with status bit. USB: uas: fix task management USB: uas: keep track of command urbs xhci: Intel Panther Point BEI quirk. powerpc/usb: remove checking PHY_CLK_VALID for UTMI PHY USB: ftdi_sio: add TIAO USB Multi-Protocol Adapter (TUMPA) support Revert "usb : Add sysfs files to control port power." USB: serial: remove vizzini driver usb: host: xhci: Fix Null pointer dereferencing with 71c731a for non-x86 systems Increase XHCI suspend timeout to 16ms USB: ohci-at91: fix null pointer in ohci_hcd_at91_overcurrent_irq USB: sierra_ms: don't keep unused variable fsl/usb: Add support for USB controller version 2.4 USB: qcaux: add Pantech vendor class match ...
2012-09-18USB: ezusb: add functions for firmware downloadRene Buergel1-24/+5
This patch adds new functions to upload firmware to the controller. The drivers currently using ezusb are adapted to use these new functions. This also fixes a bug occuring during firmware loading in the whiteheat-driver: The driver iterates over an ihex-formatted firmware using ++ on a "const struct ihex_binrec*" which leads to faulty results, because ihex data is read as length. The function "ihex_next_binrec(record)" has so be used to work correctly Signed-off-by: René Bürgel <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-18USB: ezusb: add support for Cypress FX2LPRene Buergel1-2/+3
This Patch adds support for the newer Cypress FX2LP. It also adapts three drivers currently using ezusb to the interface change. (whiteheat and keyspan[_pda]) Signed-off-by: René Bürgel <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-14USB: serial: keyspan_pda.c: remove debug module parameterGreg Kroah-Hartman1-5/+0
Now that the dbg() macro is no longer being used in the driver, the debug module parameter doesn't do anything at all. So remove it so as to not confuse people. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-14USB: serial: keyspan_pda.c: remove dbg() usageGreg Kroah-Hartman1-19/+17
dbg() was a very old USB-serial-specific macro. This patch removes it from being used in the driver and uses dev_dbg() instead. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-09-13USB: ezusb: remove dependancy on usb_serialRene Buergel1-3/+3
This patch removes the dependency on the usb_serial interface and names some magic constants Signed-off-by: René Bürgel <[email protected]> -- Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-07-16tty: move the termios object into the ttyAlan Cox1-2/+2
This will let us sort out a whole pile of tty related races. The alternative would be to keep points and refcount the termios objects. However 1. They are tiny anyway 2. Many devices don't use the stored copies 3. We can remove a pty special case Signed-off-by: Alan Cox <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-05-08USB: serial: rework usb_serial_register/deregister_drivers()Greg Kroah-Hartman1-6/+1
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 <[email protected]> Cc: Alan Stern <[email protected]> Cc: Al Borchers <[email protected]> Cc: Aleksey Babahin <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Andrew Worsley <[email protected]> Cc: Bart Hartgers <[email protected]> Cc: Bill Pemberton <[email protected]> Cc: Dan Carpenter <[email protected]> Cc: Dan Williams <[email protected]> Cc: Donald Lee <[email protected]> Cc: Eric Dumazet <[email protected]> Cc: "Eric W. Biederman" <[email protected]> Cc: Felipe Balbi <[email protected]> Cc: Gary Brubaker <[email protected]> Cc: Jesper Juhl <[email protected]> Cc: Jiri Kosina <[email protected]> Cc: Johan Hovold <[email protected]> Cc: Julia Lawall <[email protected]> Cc: Kautuk Consul <[email protected]> Cc: Kuninori Morimoto <[email protected]> Cc: Lonnie Mendez <[email protected]> Cc: Matthias Bruestle and Harald Welte <[email protected]> Cc: Matthias Urlichs <[email protected]> Cc: Mauro Carvalho Chehab <[email protected]> Cc: Michal Sroczynski <[email protected]> Cc: "Michał Wróbel" <[email protected]> Cc: Oliver Neukum <[email protected]> Cc: Paul Gortmaker <[email protected]> Cc: Peter Berger <[email protected]> Cc: Preston Fick <[email protected]> Cc: "Rafael J. Wysocki" <[email protected]> Cc: Rigbert Hamisch <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Simon Arlott <[email protected]> Cc: Support Department <[email protected]> Cc: Thomas Tuttle <[email protected]> Cc: Uwe Bonnes <[email protected]> Cc: Wang YanQing <[email protected]> Cc: William Greathouse <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-05-07USB: serial: remove usb_serial_disconnect call in all driversGreg Kroah-Hartman1-1/+0
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 <[email protected]> Cc: Matthias Bruestle and Harald Welte <[email protected]> Cc: Lonnie Mendez <[email protected]> Cc: Peter Berger <[email protected]> Cc: Al Borchers <[email protected]> Cc: Gary Brubaker <[email protected]> Cc: Oliver Neukum <[email protected]> Cc: Matthias Urlichs <[email protected]> Cc: Support Department <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Alan Stern <[email protected]> Cc: Mauro Carvalho Chehab <[email protected]> Cc: Kautuk Consul <[email protected]> Cc: Bill Pemberton <[email protected]> Cc: Paul Gortmaker <[email protected]> Cc: Bart Hartgers <[email protected]> Cc: Johan Hovold <[email protected]> Cc: Preston Fick <[email protected]> Cc: Uwe Bonnes <[email protected]> Cc: Simon Arlott <[email protected]> Cc: Andrew Worsley <[email protected]> Cc: "Michał Wróbel" <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Eric Dumazet <[email protected]> Cc: "Eric W. Biederman" <[email protected]> Cc: Felipe Balbi <[email protected]> Cc: Aleksey Babahin <[email protected]> Cc: Dan Carpenter <[email protected]> Cc: Jiri Kosina <[email protected]> Cc: Donald Lee <[email protected]> Cc: Julia Lawall <[email protected]> Cc: Michal Sroczynski <[email protected]> Cc: Wang YanQing <[email protected]> Cc: Dan Williams <[email protected]> Cc: Thomas Tuttle <[email protected]> Cc: Rigbert Hamisch <[email protected]> Cc: "Rafael J. Wysocki" <[email protected]> Cc: Kuninori Morimoto <[email protected]> Cc: Jesper Juhl <[email protected]> Cc: Adhir Ramjiawan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-05-07USB: serial: remove usb_serial_probe call in all driversGreg Kroah-Hartman1-1/+0
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 <[email protected]> Cc: Matthias Bruestle and Harald Welte <[email protected]> Cc: Lonnie Mendez <[email protected]> Cc: Peter Berger <[email protected]> Cc: Al Borchers <[email protected]> Cc: Gary Brubaker <[email protected]> Cc: Oliver Neukum <[email protected]> Cc: Matthias Urlichs <[email protected]> Cc: Support Department <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Alan Stern <[email protected]> Cc: Mauro Carvalho Chehab <[email protected]> Cc: Kautuk Consul <[email protected]> Cc: Bill Pemberton <[email protected]> Cc: Paul Gortmaker <[email protected]> Cc: Bart Hartgers <[email protected]> Cc: Johan Hovold <[email protected]> Cc: Preston Fick <[email protected]> Cc: Uwe Bonnes <[email protected]> Cc: Simon Arlott <[email protected]> Cc: Andrew Worsley <[email protected]> Cc: "Michał Wróbel" <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Eric Dumazet <[email protected]> Cc: "Eric W. Biederman" <[email protected]> Cc: Felipe Balbi <[email protected]> Cc: Aleksey Babahin <[email protected]> Cc: Dan Carpenter <[email protected]> Cc: Jiri Kosina <[email protected]> Cc: Donald Lee <[email protected]> Cc: Julia Lawall <[email protected]> Cc: Michal Sroczynski <[email protected]> Cc: Wang YanQing <[email protected]> Cc: Dan Williams <[email protected]> Cc: Thomas Tuttle <[email protected]> Cc: Rigbert Hamisch <[email protected]> Cc: "Rafael J. Wysocki" <[email protected]> Cc: Kuninori Morimoto <[email protected]> Cc: Jesper Juhl <[email protected]> Cc: Adhir Ramjiawan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>