bk://kernel.bkbits.net/gregkh/linux/usb-2.6 daniel.ritz@gmx.ch|ChangeSet|20041130001039|32207 daniel.ritz # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/11/29 20:55:53-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/io_edgeport.c # 2004/11/29 20:55:48-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/29 20:53:17-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/11/29 20:53:12-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/29 16:10:39-08:00 daniel.ritz@gmx.ch # [PATCH] USB touchkitusb: module_param to swap axes # # add a module parameter to swap the axes. many displays need this... # # Signed-off-by: Daniel Ritz # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/input/touchkitusb.c # 2004/11/24 09:57:59-08:00 daniel.ritz@gmx.ch +15 -4 # USB touchkitusb: module_param to swap axes # # ChangeSet # 2004/11/29 16:09:20-08:00 greg@kroah.com # USB: minor Makefile fix. # # This fixes http://bugme.osdl.org/show_bug.cgi?id=3813 # # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/Makefile # 2004/11/29 16:08:58-08:00 greg@kroah.com +1 -0 # USB: minor Makefile fix. # # This fixes http://bugme.osdl.org/show_bug.cgi?id=3813 # # Signed-off-by: Greg Kroah-Hartman # # ChangeSet # 2004/11/29 11:42:17-08:00 greg@kroah.com # [PATCH] USB: fix oops in io_edgeport.c driver # # This fixes https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=128916 # # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/serial/io_edgeport.c # 2004/11/29 11:41:49-08:00 greg@kroah.com +5 -2 # USB: fix oops in io_edgeport.c driver # # ChangeSet # 2004/11/29 10:42:14-08:00 rddunlap@osdl.org # [PATCH] usb-storage should enable scsi disk in Kconfig # # Add comment/NOTE that USB_STORAGE probably needs BLK_DEV_SD also. # Add a few device types to help text and reformat it. # # Signed-off-by: Randy Dunlap # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/storage/Kconfig # 2004/11/20 15:15:11-08:00 rddunlap@osdl.org +11 -4 # usb-storage should enable scsi disk in Kconfig # # ChangeSet # 2004/11/29 10:41:15-08:00 shemminger@osdl.org # [PATCH] usb_unlink_urb: ratelimit warning # # The warning about using unlink_urb needs to be rate limited, because # if a driver is still doing it will overrun the system logs. # # Signed-off-by: Stephen Hemminger # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/core/urb.c # 2004/11/29 09:46:33-08:00 shemminger@osdl.org +5 -3 # usb_unlink_urb: ratelimit warning # # ChangeSet # 2004/11/29 10:40:36-08:00 marcel@holtmann.org # [PATCH] fix unnecessary increment in firmware_class_hotplug() and USB core # # > This patch is to fix unnecessary increment of 'i' used to # > specify an element of an arry 'envp[]' in firmware_class_hotplug(). # > The 'i' is already incremented in add_hotplug_env_var(), actually. # # you are right. The incrementation is wrong, but it doesn't have any # negative effect. However the same applies for the usb_hotplug() function # in drivers/usb/core/usb.c. # # Signed-off-by: Keiichiro Tokunaga # Signed-off-by: Marcel Holtmann # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/core/usb.c # 2004/11/26 12:27:08-08:00 marcel@holtmann.org +1 -1 # fix unnecessary increment in firmware_class_hotplug() and USB core # # drivers/base/firmware_class.c # 2004/11/26 12:26:48-08:00 marcel@holtmann.org +1 -1 # fix unnecessary increment in firmware_class_hotplug() and USB core # # ChangeSet # 2004/11/29 10:40:01-08:00 phil@ipom.com # [PATCH] USB Storage: Add unusual_devs entry for another yakumo camera # # This adds an unusual devs entry for another Yakumo camera - it suffers # from the residue problem. # # Originally reported by Michele Alzetta . # # Greg, please apply. # # Signed-off-by: Phil Dibowitz # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/storage/unusual_devs.h # 2004/11/25 21:54:42-08:00 phil@ipom.com +8 -0 # USB Storage: Add unusual_devs entry for another yakumo camera # # ChangeSet # 2004/11/27 13:56:03-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/11/27 13:55:59-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/26 00:57:50-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/visor.c # 2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/usbnet.c # 2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/hid-core.c # 2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.c # 2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hub.c # 2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hcd.c # 2004/11/26 00:57:45-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/24 15:46:18-08:00 greg@kroah.com # USB: fix dev_dbg() call in visor.c # # Turns out that this macro doesn't work in usb-serial drivers, I had forgotten # about that :( # # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/serial/visor.c # 2004/11/24 15:45:47-08:00 greg@kroah.com +1 -1 # USB: fix dev_dbg() call in visor.c # # Turns out that this macro doesn't work in usb-serial drivers, I had forgotten # about that :( # # Signed-off-by: Greg Kroah-Hartman # # ChangeSet # 2004/11/24 15:15:22-08:00 dfries@mail.win.org # [PATCH] USB: fix for HID field index # # The problem I'm having is that the field index is always returned as 0 # when reading struct hiddev_usage_ref and I need something to # distinguish the input data as the usage code is the same. I looked # through hid-core.c and hiddev.c and hiddev_hid_event is the only place # I could see field->index being used. It wasn't being initialized # causing the input to always be returned as zero. # # Signed-off-by: David Fries # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/input/hid-core.c # 2004/11/15 08:54:39-08:00 dfries@mail.win.org +2 -1 # USB: fix for HID field index # # ChangeSet # 2004/11/24 15:14:58-08:00 david-b@pacbell.net # [PATCH] USB: ax8817x/usbnet, no GFP_KERNEL blocking in_irq # # This removes some nasty might_sleep() warnings. # Worth fixing before 2.6.10-final IMO; we don't # actually _know_ of oopses this bug caused ... # # The AX8817x link detection code was calling usb_submit_urb() with # GFP_KERNEL in a completion handler (IRQ handler). That's a no-no. # # Signed-off-by: David Brownell # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/net/usbnet.c # 2004/11/23 12:19:08-08:00 david-b@pacbell.net +1 -1 # USB: ax8817x/usbnet, no GFP_KERNEL blocking in_irq # # ChangeSet # 2004/11/24 15:14:34-08:00 armijn@uulug.nl # [PATCH] USB: add ati_remote.c device id # # please consider applying the attached patch which adds an identifier for # another variant of the X10 RF remote. This one is very common everywhere # in Europe where Aldi (a supermarket discounter) sells their PCs # (Netherlands, Belgium, northern Germany, France, Spain, ...). # Considering that they ship a few 100,000 PCs once or twice every year # you can imagine there are quite a few of these remotes kicking around. # # I've tested with 2.6.10-rc2 and various versions of XMMS and lirc with # the devinput driver. It does play well with lirc-0.7.0-pre8 but not so # nice with 0.7.0. I don't know why, but according to some posts on the # lirc list it seems to be in lirc. # # By the way, there seem to be even more variants of this device, # according to: # # http://cvs.sourceforge.net/viewcvs.py/lirc/lirc/drivers/lirc_atiusb/lirc_atiusb.c # # From: Armijn Hemel # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/input/ati_remote.c # 2004/11/21 17:16:11-08:00 armijn@uulug.nl +4 -1 # USB: add ati_remote.c device id # # ChangeSet # 2004/11/24 15:14:09-08:00 alborchers@steinerpoint.com # [PATCH] USB Gadget: gadget serial documentation # # This patch adds the gadget serial documentation. # # # Signed-off-by: Al Borchers # Signed-off-by: Greg Kroah-Hartman # # Documentation/usb/gadget_serial.txt # 2004/11/20 00:13:32-08:00 alborchers@steinerpoint.com +332 -0 # USB Gadget: gadget serial documentation # # Documentation/usb/gadget_serial.txt # 2004/11/20 00:13:32-08:00 alborchers@steinerpoint.com +0 -0 # BitKeeper file /home/greg/linux/BK/usb-2.6/Documentation/usb/gadget_serial.txt # # ChangeSet # 2004/11/24 15:13:42-08:00 david-b@pacbell.net # [PATCH] USB: "sparse -Wcontext" and USB HCDs ... # # This adds "sparse -Wcontext" annotations to the main HCDs, reflecting that # they all need to drop their (schedule) lock while issuing URB completion # callbacks. (Some completion callbacks will resubmit that URB, relying on # that to keep the endpoint queue from emptying and getting descheduled.) # # Signed-off-by: David Brownell # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/host/uhci-hcd.c # 2004/11/20 10:29:31-08:00 david-b@pacbell.net +4 -1 # USB: "sparse -Wcontext" and USB HCDs ... # # drivers/usb/host/ohci-q.c # 2004/11/20 10:28:54-08:00 david-b@pacbell.net +2 -0 # USB: "sparse -Wcontext" and USB HCDs ... # # drivers/usb/host/ehci-q.c # 2004/11/20 10:29:13-08:00 david-b@pacbell.net +2 -0 # USB: "sparse -Wcontext" and USB HCDs ... # # ChangeSet # 2004/11/24 15:13:17-08:00 david-b@pacbell.net # [PATCH] USB: usb_sg_*() unlink deadlock fix # # This would be rare with HCDs that maintain chains of DMA # transfers, except if the HC dies in the middle of an I/O # request; so no rush to merge this. It'd happen in a PIO # based HCD though ... :) # # # Async unlink of an URB from an endpoint's I/O queue _normally_ involves a # delay from handshaking with the host controller, to be sure the DMA queue # is inactive. So urb->complete() runs after usb_unlink_urb() returns, and # from a different context. But not always... # # The completion may run immediately whenever the HCD knows that HC isn't # busy with the URB. Maybe that HCD is in a HALT state, or the endpoint # queue is is temporarily off-schedule (halted, or dead after PM resume # from D3cold, etc) ... or maybe the HCD doesn't use DMA, so most unlinks # just list_del_init() and return. # # This makes usb_sg_cancel() and sg_complete() drop the io->lock when they # cancel active urbs, preventing potential self-deadlock when that completion # handler runs immediately. # # Signed-off-by: David Brownell # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/core/message.c # 2004/11/22 01:04:54-08:00 david-b@pacbell.net +6 -1 # USB: usb_sg_*() unlink deadlock fix # # ChangeSet # 2004/11/24 15:12:52-08:00 david-b@pacbell.net # [PATCH] USB: fix Genesys GL880S EHCI # # This has two minor patches to make this driver work better with # the Genesys GL880S: don't report hardware port indicators (until # the root hub code supports them); and patch the misreported number # of ports (two, not four). # # Signed-off-by: David Brownell # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/host/ehci-hub.c # 2004/11/23 00:14:42-08:00 david-b@pacbell.net +3 -0 # USB: fix Genesys GL880S EHCI # # drivers/usb/host/ehci-hcd.c # 2004/11/23 00:39:00-08:00 david-b@pacbell.net +8 -0 # USB: fix Genesys GL880S EHCI # # ChangeSet # 2004/11/24 15:12:26-08:00 david-b@pacbell.net # [PATCH] USB Gadget: add and use gadget_is_pxa27x() # # The UDC in Intel's "Bulverde" processors is incompatible with the # one in their PXA 25x/26x/21x processors, and has different sorts # of restrictions. For example, it can implement real CDC Ethernet, # while the earlier (PXA 25x etc) can't. # # # This adds a gadget_is_pxa27x() function and uses it appropriately in the # current set of gadget drivers. (And moves an LH7A40X entry to the right # place in "ether.c"). # # From: Dmitry Krivoschokov # Signed-off-by: David Brownell # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/gadget/zero.c # 2004/11/23 03:00:18-08:00 david-b@pacbell.net +2 -0 # USB Gadget: add and use gadget_is_pxa27x() # # drivers/usb/gadget/serial.c # 2004/11/23 03:00:18-08:00 david-b@pacbell.net +3 -0 # USB Gadget: add and use gadget_is_pxa27x() # # drivers/usb/gadget/gadget_chips.h # 2004/11/23 03:00:18-08:00 david-b@pacbell.net +6 -0 # USB Gadget: add and use gadget_is_pxa27x() # # drivers/usb/gadget/file_storage.c # 2004/11/23 03:00:18-08:00 david-b@pacbell.net +2 -0 # USB Gadget: add and use gadget_is_pxa27x() # # drivers/usb/gadget/ether.c # 2004/11/23 03:01:48-08:00 david-b@pacbell.net +10 -4 # USB Gadget: add and use gadget_is_pxa27x() # # ChangeSet # 2004/11/24 15:11:59-08:00 zaitcev@redhat.com # [PATCH] ub: oops with preempt ("Sahara Workshop") # # I admit that the code should be locked properly instead, but the global plan # is to drop all P3 tagged printks anyway. So let it be guarded for the moment. # # Signed-off-by: Pete Zaitcev # Signed-off-by: Greg Kroah-Hartman # # drivers/block/ub.c # 2004/11/07 19:01:03-08:00 zaitcev@redhat.com +5 -2 # ub: oops with preempt ("Sahara Workshop") # # ChangeSet # 2004/11/24 15:11:33-08:00 zaitcev@redhat.com # [PATCH] ub: flag day - major 180 # # The major 180 has been allocated by LANANA. This is needed for people who # insist on running 2.6 without udev (imagine that). # # # From: Pete Zaitcev # Signed-off-by: Greg Kroah-Hartman # # drivers/block/ub.c # 2004/11/07 19:01:03-08:00 zaitcev@redhat.com +1 -1 # ub: flag day - major 180 # # ChangeSet # 2004/11/24 15:11:06-08:00 rl@hellgate.ch # [PATCH] USB visor: Don't count outstanding URBs twice # # Incrementing the outstanding_urbs counter twice for the same URB can't # be good. No wonder Simon didn't get far syncing his Palm. # # Signed-off-by: Roger Luethi # Signed-off-by: Greg Kroah-Hartman # # drivers/usb/serial/visor.c # 2004/11/23 11:24:53-08:00 rl@hellgate.ch +0 -1 # USB visor: Don't count outstanding URBs twice # # ChangeSet # 2004/11/19 20:21:51-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/storage/isd200.c # 2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/visor.c # 2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/pl2303.c # 2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0 # Auto merged # # MAINTAINERS # 2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/11/19 20:21:47-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/17 20:09:39-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # Documentation/kernel-parameters.txt # 2004/11/17 20:09:34-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/14 21:42:33-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # Documentation/kernel-parameters.txt # 2004/11/14 21:42:28-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/13 14:43:57-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/usb-serial.c # 2004/11/13 14:43:54-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/io_ti.c # 2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/io_edgeport.c # 2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci.h # 2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci-hub.c # 2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/11/13 14:43:53-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/12 13:24:38-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/usb-serial.c # 2004/11/12 13:24:35-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/io_edgeport.c # 2004/11/12 13:24:35-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hub.c # 2004/11/12 13:24:35-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hcd.c # 2004/11/12 13:24:35-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/11 15:18:04-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/host/ohci-hub.c # 2004/11/11 15:18:00-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/hcd.c # 2004/11/11 15:18:00-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hub.c # 2004/11/11 15:18:00-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/11 15:15:28-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/11/11 15:15:24-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/09 19:49:40-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # Documentation/kernel-parameters.txt # 2004/11/09 19:49:35-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/07 21:32:29-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/11/07 21:32:26-08:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/11/07 21:32:26-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/05 20:53:11-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/host/ohci.h # 2004/11/05 20:53:08-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/04 18:38:41-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/11/04 18:38:37-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/04 13:23:27-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/11/04 13:23:23-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/03 19:52:50-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/usb-serial.c # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/pl2303.c # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/usbnet.c # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.h # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.c # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci.h # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci-hub.c # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci-dbg.c # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci.h # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hcd.c # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/hcd.c # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # MAINTAINERS # 2004/11/03 19:52:46-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/03 12:53:06-08:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/11/03 12:53:03-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/11/01 22:14:34-08:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/usb-serial.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/pl2303.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/catc.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/hid-core.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hub.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci-hub.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci-dbg.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hub.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hcd.c # 2004/11/01 22:14:29-08:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/hcd.c # 2004/11/01 22:14:28-08:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/30 23:13:27-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/10/30 23:13:23-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/10/30 23:13:23-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/29 16:12:43-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/10/29 16:12:39-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/10/29 16:12:39-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/28 13:17:12-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/media/ov511.c # 2004/10/28 13:17:08-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/10/28 13:17:08-07:00 akpm@bix.(none) +0 -0 # Auto merged # # MAINTAINERS # 2004/10/28 13:17:07-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/25 19:24:31-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # MAINTAINERS # 2004/10/25 19:24:27-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/22 23:22:28-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/net/kaweth.c # 2004/10/22 23:22:25-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hcd.c # 2004/10/22 23:22:25-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/21 14:29:54-07:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/visor.c # 2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/usb-serial.c # 2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/pl2303.c # 2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/cyberjack.c # 2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/gadget/net2280.c # 2004/10/21 14:29:50-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/21 14:28:27-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/visor.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/usb-serial.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/pl2303.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/io_ti.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/io_edgeport.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/empeg.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/digi_acceleport.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/cyberjack.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/cdc-acm.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/bluetty.c # 2004/10/21 14:28:22-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/21 00:30:07-07:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/net/usbnet.c # 2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/kaweth.c # 2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/hid-core.c # 2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.c # 2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/usblp.c # 2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # MAINTAINERS # 2004/10/21 00:30:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/21 00:28:34-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/net/catc.c # 2004/10/21 00:28:30-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/media/ov511.c # 2004/10/21 00:28:30-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.c # 2004/10/21 00:28:30-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/10/21 00:28:30-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/19 22:18:43-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/net/rtl8150.c # 2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/kaweth.c # 2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/catc.c # 2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.c # 2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hcd.c # 2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/gadget/net2280.c # 2004/10/19 22:18:40-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/19 17:42:42-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/digi_acceleport.c # 2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/media/konicawc.c # 2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/hid-core.c # 2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci.h # 2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hcd.c # 2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/gadget/net2280.c # 2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/usblp.c # 2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/10/19 17:42:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/18 20:41:07-07:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/net/usbnet.c # 2004/10/18 20:41:04-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/kaweth.c # 2004/10/18 20:41:04-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/cdc-acm.c # 2004/10/18 20:41:04-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/18 20:40:03-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/input/hid-core.c # 2004/10/18 20:40:00-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/15 22:48:29-07:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # Documentation/kernel-parameters.txt # 2004/10/15 22:48:26-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/15 22:47:28-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/digi_acceleport.c # 2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -6 # Auto merged # # drivers/usb/media/konicawc.c # 2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -1 # Auto merged # # drivers/usb/input/hid-core.c # 2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -1 # Auto merged # # drivers/usb/host/ehci.h # 2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -1 # Auto merged # # drivers/usb/host/ehci-hcd.c # 2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -9 # Auto merged # # drivers/usb/gadget/net2280.c # 2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -10 # Auto merged # # drivers/usb/class/usblp.c # 2004/10/15 22:47:24-07:00 akpm@bix.(none) +0 -4 # Auto merged # # ChangeSet # 2004/10/09 14:45:27-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-usb # # Documentation/kernel-parameters.txt # 2004/10/09 14:45:23-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/08 12:14:08-07:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/serial/empeg.c # 2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/hcd.c # 2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/bluetty.c # 2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # MAINTAINERS # 2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/10/08 12:14:03-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/06 20:17:39-07:00 akpm@bix.(none) # Merge bk://kernel.bkbits.net/gregkh/linux/usb-2.6 # into bix.(none):/usr/src/bk-usb # # drivers/usb/storage/protocol.c # 2004/10/06 20:17:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/storage/isd200.c # 2004/10/06 20:17:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/io_ti.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/io_edgeport.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/empeg.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/usbnet.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/rtl8150.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/kaweth.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/catc.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/misc/legousbtower.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/misc/auerswald.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/media/ov511.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/wacom.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/kbtab.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/hid-core.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/aiptek.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hub.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.h # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci.h # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci-hub.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci-dbg.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci.h # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hub.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/hcd.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/usblp.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/cdc-acm.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/bluetty.c # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/10/06 20:17:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # MAINTAINERS # 2004/10/06 20:17:34-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/06 14:34:47-07:00 akpm@bix.(none) # foo # # drivers/usb/host/uhci-hub.c # 2004/10/06 14:34:41-07:00 akpm@bix.(none) +0 -3 # foo # # drivers/usb/storage/protocol.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/storage/isd200.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/io_ti.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/io_edgeport.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/serial/empeg.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/usbnet.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/rtl8150.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/kaweth.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/net/catc.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/misc/legousbtower.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/misc/auerswald.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/media/ov511.c # 2004/10/06 14:31:36-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/wacom.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/kbtab.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/hid-core.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/input/aiptek.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.h # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/uhci-hcd.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci.h # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci-hub.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ohci-dbg.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci.h # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/host/ehci-hub.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/core/hcd.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/usblp.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/cdc-acm.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/usb/class/bluetty.c # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # MAINTAINERS # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/kernel-parameters.txt # 2004/10/06 14:31:35-07:00 akpm@bix.(none) +0 -0 # Auto merged # diff -Nru a/Documentation/usb/gadget_serial.txt b/Documentation/usb/gadget_serial.txt --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/Documentation/usb/gadget_serial.txt 2004-11-29 22:05:34 -08:00 @@ -0,0 +1,332 @@ + + Linux Gadget Serial Driver v2.0 + 11/20/2004 + + +License and Disclaimer +---------------------- +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of +the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public +License along with this program; if not, write to the Free +Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, +MA 02111-1307 USA. + +This document and the the gadget serial driver itself are +Copyright (C) 2004 by Al Borchers (alborchers@steinerpoint.com). + +If you have questions, problems, or suggestions for this driver +please contact Al Borchers at alborchers@steinerpoint.com. + + +Prerequisites +------------- +Versions of the gadget serial driver are available for the +2.4 Linux kernels, but this document assumes you are using +version 2.0 or later of the gadget serial driver in a 2.6 +Linux kernel. + +This document assumes that you are familiar with Linux and +Windows and know how to configure and build Linux kernels, run +standard utilities, use minicom and HyperTerminal, and work with +USB and serial devices. It also assumes you configure the Linux +gadget and usb drivers as modules. + + +Overview +-------- +The gadget serial driver is a Linux USB gadget driver, a USB device +side driver. It runs on a Linux system that has USB device side +hardware; for example, a PDA, an embedded Linux system, or a PC +with a USB development card. + +The gadget serial driver talks over USB to either a CDC ACM driver +or a generic USB serial driver running on a host PC. + + Host + -------------------------------------- + | Host-Side CDC ACM USB Host | + | Operating | or | Controller | USB + | System | Generic USB | Driver |-------- + | (Linux or | Serial | and | | + | Windows) Driver USB Stack | | + -------------------------------------- | + | + | + | + Gadget | + -------------------------------------- | + | Gadget USB Periph. | | + | Device-Side | Gadget | Controller | | + | Linux | Serial | Driver |-------- + | Operating | Driver | and | + | System USB Stack | + -------------------------------------- + +On the device-side Linux system, the gadget serial driver looks +like a serial device. + +On the host-side system, the gadget serial device looks like a +CDC ACM compliant class device or a simple vendor specific device +with bulk in and bulk out endpoints, and it is treated similarly +to other serial devices. + +The host side driver can potentially be any ACM compliant driver +or any driver that can talk to a device with a simple bulk in/out +interface. Gadget serial has been tested with the Linux ACM driver, +the Windows usbser.sys ACM driver, and the Linux USB generic serial +driver. + +With the gadget serial driver and the host side ACM or generic +serial driver running, you should be able to communicate between +the host and the gadget side systems as if they were connected by a +serial cable. + +The gadget serial driver only provides simple unreliable data +communication. It does not yet handle flow control or many other +features of normal serial devices. + + +Installing the Gadget Serial Driver +----------------------------------- +To use the gadget serial driver you must configure the Linux gadget +side kernel for "Support for USB Gadgets", for a "USB Peripheral +Controller" (for example, net2280), and for the "Serial Gadget" +driver. All this are listed under "USB Gadget Support" when +configuring the kernel. Then rebuild and install the kernel or +modules. + +The gadget serial driver uses major number 127, for now. So you +will need to create a device node for it, like this: + + mknod /dev/ttygserial c 127 0 + +You only need to do this once. + +Then you must load the gadget serial driver. To load it as an +ACM device, do this: + + modprobe g_serial use_acm=1 + +To load it as a vendor specific bulk in/out device, do this: + + modprobe g_serial + +This will also automatically load the underlying gadget peripheral +controller driver. This must be done each time you reboot the gadget +side Linux system. You can add this to the start up scripts, if +desired. + +If gadget serial is loaded as an ACM device you will want to use +either the Windows or Linux ACM driver on the host side. If gadget +serial is loaded as a bulk in/out device, you will want to use the +Linux generic serial driver on the host side. Follow the appropriate +instructions below to install the host side driver. + + +Installing the Windows Host ACM Driver +-------------------------------------- +To use the Windows ACM driver you must have the files "gserial.inf" +and "usbser.sys" together in a folder on the Windows machine. + +The "gserial.inf" file is given here. + +-------------------- CUT HERE -------------------- +[Version] +Signature="$Windows NT$" +Class=Ports +ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} +Provider=%LINUX% +DriverVer=08/17/2004,0.0.2.0 +; Copyright (C) 2004 Al Borchers (alborchers@steinerpoint.com) + +[Manufacturer] +%LINUX%=GSerialDeviceList + +[GSerialDeviceList] +%GSERIAL%=GSerialInstall, USB\VID_0525&PID_A4A7 + +[DestinationDirs] +DefaultDestDir=10,System32\Drivers + +[GSerialInstall] +CopyFiles=GSerialCopyFiles +AddReg=GSerialAddReg + +[GSerialCopyFiles] +usbser.sys + +[GSerialAddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,usbser.sys +HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" + +[GSerialInstall.Services] +AddService = usbser,0x0002,GSerialService + +[GSerialService] +DisplayName = %GSERIAL_DISPLAY_NAME% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\System32\Drivers\usbser.sys +LoadOrderGroup = Base + +[Strings] +LINUX = "Linux" +GSERIAL = "Gadget Serial" +GSERIAL_DISPLAY_NAME = "USB Gadget Serial Driver" +-------------------- CUT HERE -------------------- + +The "usbser.sys" file comes with various versions of Windows. +For example, it can be found on Windows XP typically in + + C:\WINDOWS\Driver Cache\i386\driver.cab + +Or it can be found on the Windows 98SE CD in the "win98" folder +in the "DRIVER11.CAB" through "DRIVER20.CAB" cab files. You will +need the DOS "expand" program, the Cygwin "cabextract" program, or +a similar program to unpack these cab files and extract "usbser.sys". + +For example, to extract "usbser.sys" into the current directory +on Windows XP, open a DOS window and run a command like + + expand C:\WINDOWS\Driver~1\i386\driver.cab -F:usbser.sys . + +(Thanks to Nishant Kamat for pointing out this DOS command.) + +When the gadget serial driver is loaded and the USB device connected +to the Windows host with a USB cable, Windows should recognize the +gadget serial device and ask for a driver. Tell Windows to find the +driver in the folder that contains "gserial.inf" and "usbser.sys". + +For example, on Windows XP, when the gadget serial device is first +plugged in, the "Found New Hardware Wizard" starts up. Select +"Install from a list or specific location (Advanced)", then on +the next screen select "Include this location in the search" and +enter the path or browse to the folder containing "gserial.inf" and +"usbser.sys". Windows will complain that the Gadget Serial driver +has not passed Windows Logo testing, but select "Continue anyway" +and finish the driver installation. + +On Windows XP, in the "Device Manager" (under "Control Panel", +"System", "Hardware") expand the "Ports (COM & LPT)" entry and you +should see "Gadget Serial" listed as the driver for one of the COM +ports. + +To uninstall the Windows XP driver for "Gadget Serial", right click +on the "Gadget Serial" entry in the "Device Manager" and select +"Uninstall". + + +Installing the Linux Host ACM Driver +------------------------------------ +To use the Linux ACM driver you must configure the Linux host side +kernel for "Support for Host-side USB" and for "USB Modem (CDC ACM) +support". + +Once the gadget serial driver is loaded and the USB device connected +to the Linux host with a USB cable, the host system should recognize +the gadget serial device. For example, the command + + cat /proc/bus/usb/devices + +should show something like this: + +T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 5 Spd=480 MxCh= 0 +D: Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 +P: Vendor=0525 ProdID=a4a7 Rev= 2.01 +S: Manufacturer=Linux 2.6.8.1 with net2280 +S: Product=Gadget Serial +S: SerialNumber=0 +C:* #Ifs= 2 Cfg#= 2 Atr=c0 MxPwr= 2mA +I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=acm +E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=32ms +I: If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=acm +E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +If the host side Linux system is configured properly, the ACM driver +should be loaded automatically. The command "lsmod" should show the +"acm" module is loaded. + + +Installing the Linux Host Generic USB Serial Driver +--------------------------------------------------- +To use the Linux generic USB serial driver you must configure the +Linux host side kernel for "Support for Host-side USB", for "USB +Serial Converter support", and for the "USB Generic Serial Driver". + +Once the gadget serial driver is loaded and the USB device connected +to the Linux host with a USB cable, the host system should recognize +the gadget serial device. For example, the command + + cat /proc/bus/usb/devices + +should show something like this: + +T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 6 Spd=480 MxCh= 0 +D: Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 +P: Vendor=0525 ProdID=a4a6 Rev= 2.01 +S: Manufacturer=Linux 2.6.8.1 with net2280 +S: Product=Gadget Serial +S: SerialNumber=0 +C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA +I: If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=serial +E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms +E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms + +You must explicitly load the usbserial driver with parameters to +configure it to recognize the gadget serial device, like this: + + modprobe usbserial vendor=0x0525 product=0xA4A6 + +If everything is working, usbserial will print a message in the +system log saying something like "Gadget Serial converter now +attached to ttyUSB0". + + +Testing with Minicom or HyperTerminal +------------------------------------- +Once the gadget serial driver and the host driver are both installed, +and a USB cable connects the gadget device to the host, you should +be able to communicate over USB between the gadget and host systems. +You can use minicom or HyperTerminal to try this out. + +On the gadget side run "minicom -s" to configure a new minicom +session. Under "Serial port setup" set "/dev/ttygserial" as the +"Serial Device". Set baud rate, data bits, parity, and stop bits, +to 9600, 8, none, and 1--these settings mostly do not matter. +Under "Modem and dialing" erase all the modem and dialing strings. + +On a Linux host running the ACM driver, configure minicom similarly +but use "/dev/ttyACM0" as the "Serial Device". (If you have other +ACM devices connected, change the device name appropriately.) + +On a Linux host running the USB generic serial driver, configure +minicom similarly, but use "/dev/ttyUSB0" as the "Serial Device". +(If you have other USB serial devices connected, change the device +name appropriately.) + +On a Windows host configure a new HyperTerminal session to use the +COM port assigned to Gadget Serial. The "Port Settings" will be +set automatically when HyperTerminal connects to the gadget serial +device, so you can leave them set to the default values--these +settings mostly do not matter. + +With minicom configured and running on the gadget side and with +minicom or HyperTerminal configured and running on the host side, +you should be able to send data back and forth between the gadget +side and host side systems. Anything you type on the terminal +window on the gadget side should appear in the terminal window on +the host side and vice versa. + + diff -Nru a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c --- a/drivers/base/firmware_class.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/base/firmware_class.c 2004-11-29 22:05:33 -08:00 @@ -103,7 +103,7 @@ "FIRMWARE=%s", fw_priv->fw_id)) return -ENOMEM; - envp[i++] = NULL; + envp[i] = NULL; return 0; } diff -Nru a/drivers/block/ub.c b/drivers/block/ub.c --- a/drivers/block/ub.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/block/ub.c 2004-11-29 22:05:33 -08:00 @@ -36,7 +36,7 @@ #define DRV_NAME "ub" #define DEVFS_NAME DRV_NAME -#define UB_MAJOR 125 /* Stolen from Experimental range for a week - XXX */ +#define UB_MAJOR 180 /* * Definitions which have to be scattered once we understand the layout better. @@ -1535,8 +1535,11 @@ ub_revalidate(sc); /* This is pretty much a long term P3 */ - printk(KERN_INFO "%s: device %u capacity nsec %ld bsize %u\n", - sc->name, sc->dev->devnum, sc->capacity.nsec, sc->capacity.bsize); + if (!atomic_read(&sc->poison)) { /* Cover sc->dev */ + printk(KERN_INFO "%s: device %u capacity nsec %ld bsize %u\n", + sc->name, sc->dev->devnum, + sc->capacity.nsec, sc->capacity.bsize); + } /* XXX Support sector size switching like in sr.c */ blk_queue_hardsect_size(disk->queue, sc->capacity.bsize); diff -Nru a/drivers/usb/Makefile b/drivers/usb/Makefile --- a/drivers/usb/Makefile 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/Makefile 2004-11-29 22:05:33 -08:00 @@ -38,6 +38,7 @@ obj-$(CONFIG_USB_OV511) += media/ obj-$(CONFIG_USB_PWC) += media/ obj-$(CONFIG_USB_SE401) += media/ +obj-$(CONFIG_USB_SN9C102) += media/ obj-$(CONFIG_USB_STV680) += media/ obj-$(CONFIG_USB_VICAM) += media/ obj-$(CONFIG_USB_W9968CF) += media/ diff -Nru a/drivers/usb/core/message.c b/drivers/usb/core/message.c --- a/drivers/usb/core/message.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/core/message.c 2004-11-29 22:05:33 -08:00 @@ -243,14 +243,16 @@ // BUG (); } - if (urb->status && urb->status != -ECONNRESET) { + if (io->status == 0 && urb->status && urb->status != -ECONNRESET) { int i, found, status; io->status = urb->status; /* the previous urbs, and this one, completed already. * unlink pending urbs so they won't rx/tx bad data. + * careful: unlink can sometimes be synchronous... */ + spin_unlock (&io->lock); for (i = 0, found = 0; i < io->entries; i++) { if (!io->urbs [i] || !io->urbs [i]->dev) continue; @@ -263,6 +265,7 @@ } else if (urb == io->urbs [i]) found = 1; } + spin_lock (&io->lock); } urb->dev = NULL; @@ -524,6 +527,7 @@ int i; io->status = -ECONNRESET; + spin_unlock (&io->lock); for (i = 0; i < io->entries; i++) { int retval; @@ -534,6 +538,7 @@ dev_warn (&io->dev->dev, "%s, unlink --> %d\n", __FUNCTION__, retval); } + spin_lock (&io->lock); } spin_unlock_irqrestore (&io->lock, flags); } diff -Nru a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c --- a/drivers/usb/core/urb.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/core/urb.c 2004-11-29 22:05:33 -08:00 @@ -451,9 +451,11 @@ return -EINVAL; if (!(urb->transfer_flags & URB_ASYNC_UNLINK)) { #ifdef CONFIG_DEBUG_KERNEL - printk(KERN_NOTICE "usb_unlink_urb() is deprecated for " - "synchronous unlinks. Use usb_kill_urb() instead.\n"); - WARN_ON(1); + if (printk_ratelimit()) { + printk(KERN_NOTICE "usb_unlink_urb() is deprecated for " + "synchronous unlinks. Use usb_kill_urb() instead.\n"); + WARN_ON(1); + } #endif usb_kill_urb(urb); return 0; diff -Nru a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c --- a/drivers/usb/core/usb.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/core/usb.c 2004-11-29 22:05:33 -08:00 @@ -656,7 +656,7 @@ return -ENOMEM; } - envp[i++] = NULL; + envp[i] = NULL; return 0; } diff -Nru a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c --- a/drivers/usb/gadget/ether.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/gadget/ether.c 2004-11-29 22:05:33 -08:00 @@ -223,6 +223,10 @@ #define DEV_CONFIG_CDC #endif +#ifdef CONFIG_USB_GADGET_LH7A40X +#define DEV_CONFIG_CDC +#endif + #ifdef CONFIG_USB_GADGET_MQ11XX #define DEV_CONFIG_CDC #endif @@ -235,6 +239,10 @@ #define DEV_CONFIG_CDC #endif +#ifdef CONFIG_USB_GADGET_PXA27X +#define DEV_CONFIG_CDC +#endif + /* For CDC-incapable hardware, choose the simple cdc subset. * Anything that talks bulk (without notable bugs) can do this. @@ -247,10 +255,6 @@ #define DEV_CONFIG_SUBSET #endif -#ifdef CONFIG_USB_GADGET_LH7A40X -#define DEV_CONFIG_CDC -#endif - #ifdef CONFIG_USB_GADGET_SA1100 /* use non-CDC for backwards compatibility */ #define DEV_CONFIG_SUBSET @@ -2321,6 +2325,8 @@ device_desc.bcdDevice = __constant_cpu_to_le16 (0x0209); } else if (gadget_is_n9604(gadget)) { device_desc.bcdDevice = __constant_cpu_to_le16 (0x0210); + } else if (gadget_is_pxa27x(gadget)) { + device_desc.bcdDevice = __constant_cpu_to_le16 (0x0211); } else { /* can't assume CDC works. don't want to default to * anything less functional on CDC-capable hardware, diff -Nru a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c --- a/drivers/usb/gadget/file_storage.c 2004-11-29 22:05:34 -08:00 +++ b/drivers/usb/gadget/file_storage.c 2004-11-29 22:05:34 -08:00 @@ -3739,6 +3739,8 @@ mod_data.release = 0x0309; else if (gadget_is_n9604(fsg->gadget)) mod_data.release = 0x0310; + else if (gadget_is_pxa27x(fsg->gadget)) + mod_data.release = 0x0311; else { WARN(fsg, "controller '%s' not recognized\n", fsg->gadget->name); diff -Nru a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h --- a/drivers/usb/gadget/gadget_chips.h 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/gadget/gadget_chips.h 2004-11-29 22:05:33 -08:00 @@ -68,6 +68,12 @@ #define gadget_is_n9604(g) 0 #endif +#ifdef CONFIG_USB_GADGET_PXA27X +#define gadget_is_pxa27x(g) !strcmp("pxa27x_udc", (g)->name) +#else +#define gadget_is_pxa27x(g) 0 +#endif + // CONFIG_USB_GADGET_AT91RM9200 // CONFIG_USB_GADGET_SX2 // CONFIG_USB_GADGET_AU1X00 diff -Nru a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c --- a/drivers/usb/gadget/serial.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/gadget/serial.c 2004-11-29 22:05:33 -08:00 @@ -1529,6 +1529,9 @@ } else if (gadget_is_n9604(gadget)) { gs_device_desc.bcdDevice = __constant_cpu_to_le16(GS_VERSION_NUM|0x0009); + } else if (gadget_is_pxa27x(gadget)) { + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0011); } else { printk(KERN_WARNING "gs_bind: controller '%s' not recognized\n", gadget->name); diff -Nru a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c --- a/drivers/usb/gadget/zero.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/gadget/zero.c 2004-11-29 22:05:33 -08:00 @@ -1190,6 +1190,8 @@ device_desc.bcdDevice = __constant_cpu_to_le16 (0x0209); } else if (gadget_is_n9604(gadget)) { device_desc.bcdDevice = __constant_cpu_to_le16 (0x0210); + } else if (gadget_is_pxa27x(gadget)) { + device_desc.bcdDevice = __constant_cpu_to_le16 (0x0211); } else { /* gadget zero is so simple (for now, no altsettings) that * it SHOULD NOT have problems with bulk-capable hardware. diff -Nru a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c --- a/drivers/usb/host/ehci-hcd.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/host/ehci-hcd.c 2004-11-29 22:05:33 -08:00 @@ -379,6 +379,14 @@ /* cache this readonly data; minimize PCI reads */ ehci->hcs_params = readl (&ehci->caps->hcs_params); + /* at least the Genesys GL880S needs fixup here */ + temp = HCS_N_CC(ehci->hcs_params) * HCS_N_PCC(ehci->hcs_params); + temp &= 0x0f; + if (temp && HCS_N_PORTS(ehci->hcs_params) > temp) { + temp |= (ehci->hcs_params & ~0xf); + ehci->hcs_params = temp; + } + /* force HC to halt state */ return ehci_halt (ehci); } diff -Nru a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c --- a/drivers/usb/host/ehci-hub.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/host/ehci-hub.c 2004-11-29 22:05:33 -08:00 @@ -281,8 +281,11 @@ temp = 0x0008; /* per-port overcurrent reporting */ if (HCS_PPC (ehci->hcs_params)) temp |= 0x0001; /* per-port power control */ +#if 0 +// re-enable when we support USB_PORT_FEAT_INDICATOR below. if (HCS_INDICATOR (ehci->hcs_params)) temp |= 0x0080; /* per-port indicators (LEDs) */ +#endif desc->wHubCharacteristics = cpu_to_le16 (temp); } diff -Nru a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c --- a/drivers/usb/host/ehci-q.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/host/ehci-q.c 2004-11-29 22:05:33 -08:00 @@ -175,6 +175,8 @@ static void ehci_urb_done (struct ehci_hcd *ehci, struct urb *urb, struct pt_regs *regs) +__releases(ehci->lock) +__acquires(ehci->lock) { if (likely (urb->hcpriv != 0)) { struct ehci_qh *qh = (struct ehci_qh *) urb->hcpriv; diff -Nru a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c --- a/drivers/usb/host/ohci-q.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/host/ohci-q.c 2004-11-29 22:05:33 -08:00 @@ -35,6 +35,8 @@ */ static void finish_urb (struct ohci_hcd *ohci, struct urb *urb, struct pt_regs *regs) +__releases(ohci->lock) +__acquires(ohci->lock) { // ASSERT (urb->hcpriv != 0); diff -Nru a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c --- a/drivers/usb/host/uhci-hcd.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/host/uhci-hcd.c 2004-11-29 22:05:33 -08:00 @@ -1602,7 +1602,10 @@ } } -static void uhci_finish_urb(struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs) +static void +uhci_finish_urb(struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs) +__releases(uhci->schedule_lock) +__acquires(uhci->schedule_lock) { struct uhci_hcd *uhci = hcd_to_uhci(hcd); diff -Nru a/drivers/usb/input/ati_remote.c b/drivers/usb/input/ati_remote.c --- a/drivers/usb/input/ati_remote.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/input/ati_remote.c 2004-11-29 22:05:33 -08:00 @@ -102,6 +102,7 @@ #define ATI_REMOTE_VENDOR_ID 0x0bc7 #define ATI_REMOTE_PRODUCT_ID 0x004 #define LOLA_REMOTE_PRODUCT_ID 0x002 +#define MEDION_REMOTE_PRODUCT_ID 0x006 #define DRIVER_VERSION "2.2.1" #define DRIVER_AUTHOR "Torrey Hoffman " @@ -126,6 +127,7 @@ static struct usb_device_id ati_remote_table[] = { { USB_DEVICE(ATI_REMOTE_VENDOR_ID, ATI_REMOTE_PRODUCT_ID) }, { USB_DEVICE(ATI_REMOTE_VENDOR_ID, LOLA_REMOTE_PRODUCT_ID) }, + { USB_DEVICE(ATI_REMOTE_VENDOR_ID, MEDION_REMOTE_PRODUCT_ID) }, {} /* Terminating entry */ }; @@ -730,7 +732,8 @@ /* See if the offered device matches what we can accept */ if ((udev->descriptor.idVendor != ATI_REMOTE_VENDOR_ID) || ( (udev->descriptor.idProduct != ATI_REMOTE_PRODUCT_ID) && - (udev->descriptor.idProduct != LOLA_REMOTE_PRODUCT_ID) )) + (udev->descriptor.idProduct != LOLA_REMOTE_PRODUCT_ID) && + (udev->descriptor.idProduct != MEDION_REMOTE_PRODUCT_ID) )) return -ENODEV; /* Allocate and clear an ati_remote struct */ diff -Nru a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c --- a/drivers/usb/input/hid-core.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/input/hid-core.c 2004-11-29 22:05:33 -08:00 @@ -94,7 +94,8 @@ memset(field, 0, sizeof(struct hid_field) + usages * sizeof(struct hid_usage) + values * sizeof(unsigned)); - report->field[report->maxfield++] = field; + field->index = report->maxfield++; + report->field[field->index] = field; field->usage = (struct hid_usage *)(field + 1); field->value = (unsigned *)(field->usage + usages); field->report = report; diff -Nru a/drivers/usb/input/touchkitusb.c b/drivers/usb/input/touchkitusb.c --- a/drivers/usb/input/touchkitusb.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/input/touchkitusb.c 2004-11-29 22:05:33 -08:00 @@ -59,6 +59,10 @@ #define DRIVER_AUTHOR "Daniel Ritz " #define DRIVER_DESC "eGalax TouchKit USB HID Touchscreen Driver" +static int swap_xy; +module_param(swap_xy, bool, 0644); +MODULE_PARM_DESC(swap_xy, "If set X and Y axes are swapped."); + struct touchkit_usb { unsigned char *data; dma_addr_t data_dma; @@ -80,6 +84,7 @@ { struct touchkit_usb *touchkit = urb->context; int retval; + int x, y; switch (urb->status) { case 0: @@ -103,13 +108,19 @@ goto exit; } + if (swap_xy) { + y = TOUCHKIT_GET_X(touchkit->data); + x = TOUCHKIT_GET_Y(touchkit->data); + } else { + x = TOUCHKIT_GET_X(touchkit->data); + y = TOUCHKIT_GET_Y(touchkit->data); + } + input_regs(&touchkit->input, regs); input_report_key(&touchkit->input, BTN_TOUCH, TOUCHKIT_GET_TOUCHED(touchkit->data)); - input_report_abs(&touchkit->input, ABS_X, - TOUCHKIT_GET_X(touchkit->data)); - input_report_abs(&touchkit->input, ABS_Y, - TOUCHKIT_GET_Y(touchkit->data)); + input_report_abs(&touchkit->input, ABS_X, x); + input_report_abs(&touchkit->input, ABS_Y, y); input_sync(&touchkit->input); exit: diff -Nru a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c --- a/drivers/usb/net/usbnet.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/net/usbnet.c 2004-11-29 22:05:33 -08:00 @@ -527,7 +527,7 @@ devdbg(dev, "ax8817x - Link Status is: %d", link); } } - usb_submit_urb(data->int_urb, GFP_KERNEL); + usb_submit_urb(data->int_urb, GFP_ATOMIC); } } diff -Nru a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c --- a/drivers/usb/serial/io_edgeport.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/serial/io_edgeport.c 2004-11-29 22:05:33 -08:00 @@ -2797,9 +2797,12 @@ static void unicode_to_ascii (char *string, __le16 *unicode, int unicode_size) { int i; - for (i = 0; i < unicode_size; ++i) { + + if (unicode_size <= 0) + return; + + for (i = 0; i < unicode_size; ++i) string[i] = (char)(le16_to_cpu(unicode[i])); - } string[unicode_size] = 0x00; } diff -Nru a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c --- a/drivers/usb/serial/visor.c 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/serial/visor.c 2004-11-29 22:05:33 -08:00 @@ -494,10 +494,9 @@ spin_lock_irqsave(&priv->lock, flags); if (priv->outstanding_urbs > URB_UPPER_LIMIT) { spin_unlock_irqrestore(&priv->lock, flags); - dev_dbg(&port->dev, "write limit hit\n"); + dbg("%s - write limit hit\n", __FUNCTION__); return 0; } - ++priv->outstanding_urbs; spin_unlock_irqrestore(&priv->lock, flags); buffer = kmalloc (count, GFP_ATOMIC); diff -Nru a/drivers/usb/storage/Kconfig b/drivers/usb/storage/Kconfig --- a/drivers/usb/storage/Kconfig 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/storage/Kconfig 2004-11-29 22:05:33 -08:00 @@ -2,16 +2,23 @@ # USB Storage driver configuration # +comment "NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information" + config USB_STORAGE tristate "USB Mass Storage support" depends on USB select SCSI ---help--- Say Y here if you want to connect USB mass storage devices to your - computer's USB port. This is the driver you need for USB floppy drives, - USB hard disks, USB tape drives and USB CD-ROMs, along with - similar devices. This driver may also be used for some cameras and - card readers. + computer's USB port. This is the driver you need for USB + floppy drives, USB hard disks, USB tape drives, USB CD-ROMs, + USB flash devices, and memory sticks, along with + similar devices. This driver may also be used for some cameras + and card readers. + + This option 'selects' (turns on, enables) 'SCSI', but you + probably also need 'SCSI device support: SCSI disk support' + (BLK_DEV_SD) for most USB storage devices. To compile this driver as a module, choose M here: the module will be called usb-storage. diff -Nru a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h --- a/drivers/usb/storage/unusual_devs.h 2004-11-29 22:05:33 -08:00 +++ b/drivers/usb/storage/unusual_devs.h 2004-11-29 22:05:33 -08:00 @@ -274,6 +274,14 @@ US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_IGNORE_RESIDUE ), +/* Another Yakumo camera. + * Reported by Michele Alzetta */ +UNUSUAL_DEV( 0x052b, 0x1804, 0x0100, 0x0100, + "Tekom Technologies, Inc", + "300_CAMERA", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_IGNORE_RESIDUE ), + /* Reported by Iacopo Spalletti */ UNUSUAL_DEV( 0x052b, 0x1807, 0x0100, 0x0100, "Tekom Technologies, Inc",