Subject: [BK PATCH] USB changes for 2.5.54
From: Greg KH <[email-masked]>
To: [email-masked]
Cc: [email-masked], [email-masked]

Hi,

Here's some more USB changes, including a change to the dev_printk()
macro to take a pointer instead of a reference to struct device.  This
was requested by a lot of different people, with Randy Dunlap being the
most persistent :)

Please pull from:  bk://linuxusb.bkbits.net/linus-2.5

thanks,

greg k-h

 Documentation/usb/scanner-hp-sane.txt |   79 --------
 Documentation/usb/scanner.txt         |  329 +++++++++++++---------------------
 drivers/usb/class/usblp.c             |    3 
 drivers/usb/core/hcd-pci.c            |   16 -
 drivers/usb/core/hcd.c                |   34 +--
 drivers/usb/core/hub.c                |   70 +++----
 drivers/usb/core/usb-debug.c          |    2 
 drivers/usb/core/usb.c                |   38 +--
 drivers/usb/host/ehci-dbg.c           |    8 
 drivers/usb/host/ehci-hcd.c           |   11 -
 drivers/usb/host/ehci-q.c             |   19 +
 drivers/usb/host/ehci.h               |    2 
 drivers/usb/host/ohci-dbg.c           |   35 ++-
 drivers/usb/host/ohci-hcd.c           |   10 -
 drivers/usb/host/ohci-hub.c           |    2 
 drivers/usb/host/ohci-mem.c           |    2 
 drivers/usb/host/ohci-q.c             |    4 
 drivers/usb/image/Kconfig             |    4 
 drivers/usb/image/mdc800.c            |    4 
 drivers/usb/image/scanner.c           |  203 +++++++-------------
 drivers/usb/image/scanner.h           |   24 --
 drivers/usb/input/pid.c               |   45 +---
 drivers/usb/misc/Makefile             |    6 
 drivers/usb/misc/atmsar.c             |  177 +++++++-----------
 drivers/usb/misc/atmsar.h             |   27 +-
 drivers/usb/misc/auerswald.c          |    7 
 drivers/usb/misc/brlvger.c            |   21 --
 drivers/usb/misc/rio500.c             |    5 
 drivers/usb/misc/speedtouch.c         |   80 ++++----
 drivers/usb/misc/usbtest.c            |  306 +++++++++++++++++++++++++++++++
 drivers/usb/net/kaweth.c              |    8 
 drivers/usb/net/pegasus.c             |    5 
 drivers/usb/net/pegasus.h             |    4 
 drivers/usb/net/rtl8150.c             |    5 
 drivers/usb/net/usbnet.c              |   22 ++
 drivers/usb/serial/bus.c              |    9 
 drivers/usb/serial/empeg.c            |   12 -
 drivers/usb/serial/ezusb.c            |    4 
 drivers/usb/serial/generic.c          |    6 
 drivers/usb/serial/io_edgeport.c      |   38 +--
 drivers/usb/serial/io_ti.c            |   58 ++---
 drivers/usb/serial/ir-usb.c           |   16 -
 drivers/usb/serial/keyspan.c          |    6 
 drivers/usb/serial/pl2303.c           |   18 -
 drivers/usb/serial/usb-serial.c       |   38 +--
 drivers/usb/serial/usb-serial.h       |    2 
 drivers/usb/serial/visor.c            |   48 ++--
 drivers/usb/serial/whiteheat.c        |    4 
 drivers/usb/storage/freecom.c         |    4 
 drivers/usb/storage/transport.c       |  307 -------------------------------
 drivers/usb/storage/transport.h       |    1 
 include/linux/device.h                |   36 ++-
 52 files changed, 1021 insertions(+), 1203 deletions(-)
-----

[email-masked], 2003-01-08 10:21:15-08:00, [email-masked]
  [PATCH] USB Serial patch for old pl2303 devices.
  
  I got a PL2303 USB serial converter a few days ago, and got your driver
  up and running fairly quickly.  The problem is that I got an oops when I
  rmmod-ed the drivers.  The pl2303 uses two interfaces but registers only
  the second (technically wrong, I guess, but should work).  When pl2303.o
  is removed, it attempts to deregister the first interface (which has no
  effect), so the second interface remains registered with usbserial.  The
  old struct serial still points at the removed pl2303 driver so things go
  pop when anything touches it.
  
  I think the PL2303 hack in usb_serial_probe should not change the
  "interface" variable, which gets stored in serial->interface, since
  usbcore will register whatever "ifnum" says.  I think that's enough
  waffle.  The patch is below.  Keep up the good work!

 drivers/usb/serial/usb-serial.c |    4 +---
 1 files changed, 1 insertion(+), 3 deletions(-)
------

[email-masked], 2003-01-08 10:09:32-08:00, [email-masked]
  [PATCH] scanner.c, scanner.h: Use symbolic name for interface class
  
  Hi,
  
  On Wed, Jan 08, 2003 at 08:29:36AM -0800, Greg KH wrote:
  > On Tue, Dec 24, 2002 at 05:44:55PM +0100, Henning Meier-Geinitz wrote:
  > > Hi,
  > >
  > > On Tue, Dec 24, 2002 at 12:40:06AM +0100, Oliver Neukum wrote:
  > > >
  > > > > Well, the reason I didn't use one was that I didn't found one in
  > > > > usb.h/usb_ch9.h for 16. It's also not listed on www.usb.org.
  > > > >
  > > > > lsusb calls it "Data". However, I'm not sure if this is a hex/dec
  > > > > error and they really mean "Data" = dec 10, not 0x10 (=dec 16).
  > > > >
  > > > > Shall I define a local symbolic name (e.g.
  > > > > STRANGE_HP_SCANJET_INTERFACE_CLASS)? But I really don't know what this
  > > > > class is. I only know that it's used by a Hewlett-Packard ScanJet
  > > > > 3300c and Genius HR6 USB - Vivid III.
  > > >
  > > > Better that than a bare number.
  > >
  > > Patch attached.
  >
  > Applied to my 2.4 tree, sorry for the delay.
  
  Here is the same for 2.5.44:

 drivers/usb/image/scanner.c |    2 +-
 drivers/usb/image/scanner.h |    3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)
------

[email-masked], 2003-01-08 09:32:25-08:00, [email-masked]
  [PATCH] USB: speedtouch: add GPL notices
  
  speedtouch and friends: add GPL notices (yes, the module was released by Alcatel
  under the GPL) and fix some typos.

 drivers/usb/misc/atmsar.c     |  146 +++++++++++++++++++++---------------------
 drivers/usb/misc/atmsar.h     |   27 +++++--
 drivers/usb/misc/speedtouch.c |   72 ++++++++++++--------
 3 files changed, 138 insertions(+), 107 deletions(-)
------

[email-masked], 2003-01-08 09:32:04-08:00, [email-masked]
  [PATCH] USB: speedtouch: remove version string duplication
  
  speedtouch: remove udsl_version in favour of DRIVER_VERSION (which it duplicated).

 drivers/usb/misc/speedtouch.c |    4 +---
 1 files changed, 1 insertion(+), 3 deletions(-)
------

[email-masked], 2003-01-08 09:31:41-08:00, [email-masked]
  [PATCH] USB: speedtouch missing __init and __exit
  
  speedtouch: add __init and __exit to the module init/exit routines.

 drivers/usb/misc/speedtouch.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
------

[email-masked], 2003-01-08 09:31:20-08:00, [email-masked]
  [PATCH] USB: atmsar is not a module
  
  atmsar is not a module in its own right, it is an auxiliary library for speedtouch.
  So remove module code from atmsar and build module speedtch from speedtouch and
  atmsar.  Note the module name change speedtouch -> speedtch (speedtch is the name
   used for the original 2.4 module, and is the name used in the online documentation).

 drivers/usb/misc/Makefile |    6 +++---
 drivers/usb/misc/atmsar.c |   31 -------------------------------
 2 files changed, 3 insertions(+), 34 deletions(-)
------

[email-masked], 2003-01-08 08:23:03-08:00, [email-masked]
  [PATCH] [PATCH 2.5.54] scanner.c: endpoint detection cleanup
  
  This patch makes endpoint detection more generic. Basically, only one bulk-in
  endpoint is required, everything else is optional.
  
  The patch is on top of the PV8630 removal patch.

 drivers/usb/image/scanner.c |   55 ++++++++++++++++----------------------------
 1 files changed, 21 insertions(+), 34 deletions(-)
------

[email-masked], 2003-01-07 21:29:37-08:00, [email-masked]
  Merge kroah.com:/home/linux/linux/BK/bleeding-2.5
  into kroah.com:/home/linux/linux/BK/gregkh-2.5

 include/linux/device.h |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)
------

[email-masked], 2003-01-07 15:45:51-08:00, [email-masked]
  [PATCH] USB serial: fixup for probe function paramaters changing.

 drivers/usb/serial/visor.c     |    4 ++--
 drivers/usb/serial/whiteheat.c |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
------

[email-masked], 2003-01-07 15:45:31-08:00, [email-masked]
  [PATCH] USB serial: pass the usb_device_id to the probe() function
  
  This is needed for drivers that want to use the driver_info field.

 drivers/usb/serial/usb-serial.c |    2 +-
 drivers/usb/serial/usb-serial.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
------

[email-masked], 2003-01-07 15:34:35-08:00, [email-masked]
  [PATCH] scanner.c, scanner.h: Remove PV8630 ioctls
  
  This patch removes the inofficial ioctls that were used to support the
  PV8630 USB-over-Parport chipset. They were alreaded ifdefed out.
  Instead of them, the more generic (and official) SCANNER_IOCTL_CTRLMSG
  should be used. The last software that used the old ioctl
  (sane-hp4200) switched to the new ioctls a long time ago.
  
  This patch is ontop of the "user-supplied" patch.

 drivers/usb/image/scanner.c |   60 +-------------------------------------------
 drivers/usb/image/scanner.h |   17 +-----------
 2 files changed, 4 insertions(+), 73 deletions(-)
------

[email-masked], 2003-01-07 15:22:11-08:00, [email-masked]
  [PATCH] 2.5.54 dev_*(&<dev>,...): drivers/usb/input/pid.c

 drivers/usb/input/pid.c |   45 +++++++++++++++------------------------------
 1 files changed, 15 insertions(+), 30 deletions(-)
------

[email-masked], 2003-01-07 15:10:35-08:00, [email-masked]
  [PATCH] scanner.c: print user-supplied ids only on start-up
  
  With this patch, information about user-supplied ids is printed only
  once at startup instead of everytime any USB device is plugged in.
  
  The patch is on top of the new ids patch.

 drivers/usb/image/scanner.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
------

[email-masked], 2003-01-07 15:10:17-08:00, [email-masked]
  [PATCH] scanner.c, scanner.h: Added vendor/product ids
  
  This patch adds vendor/product ids for two Visioneer scanners.
  
  The patch is on top of the ioctl patch.

 drivers/usb/image/scanner.c |    5 ++++-
 drivers/usb/image/scanner.h |    4 +++-
 2 files changed, 7 insertions(+), 2 deletions(-)
------

[email-masked], 2003-01-07 15:09:59-08:00, [email-masked]
  [PATCH] USB scanner driver: updated Kconfig
  
  This patch removes the link in Kconfig to
  Documentation/usb/scanner-hp-sane.txt which was removed by the
  documentation update.

 drivers/usb/image/Kconfig |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
------

[email-masked], 2003-01-07 15:09:40-08:00, [email-masked]
  [PATCH] USB scanner driver: updated documentation
  
  This patch updates the documentation for the USB scanner driver. The
  details:
  
  Documentation/usb/scanner.txt:
    - Amended for linux-2.5.54
    - Added information about read_timeout
    - Added more details about /proc/bus/usb/devices
    - Added/updated links
    - Added pointers two "special" scanner drivers
    - Reordering, spell-checking, formatting
    - Used /dev/usb/scanner[0-15] instead of /dev/usbscanner[0-15]
    - Removed some basic USB configuration stuff
    - Added EHCI
    - Removed some more references to HP
  
  Documentation/usb/scanner-hp-sane.txt:
    Removed completely. This was a very outdated text for some HP
    scanners. All of this is explained in the documentation of the
    user-space SANE tools. Links and a short explanation about SANE was
    added to scanner.txt instead.
  
  This is the (slightly adapted) patch you already apllied for 2.4.

 Documentation/usb/scanner-hp-sane.txt |   79 --------
 Documentation/usb/scanner.txt         |  329 +++++++++++++---------------------
 2 files changed, 134 insertions(+), 274 deletions(-)
------

[email-masked], 2003-01-07 15:09:22-08:00, [email-masked]
  [PATCH] scanner.c: fix race in ioctl_scanner()
  
  This patch adds locking to ioctl_scanner() which was completely
  lacking until now. The patch is originally from Oliver Neukum
  <[email-masked]>.
  
  The patch was forward-ported from 2.4.

 drivers/usb/image/scanner.c |   73 ++++++++++++++++++++++++++------------------
 1 files changed, 44 insertions(+), 29 deletions(-)
------

[email-masked], 2003-01-07 14:52:33-08:00, [email-masked]
  [PATCH] USB: drivers/usb/serial/ fixups due to dev_printk change

 drivers/usb/serial/bus.c         |    9 +++---
 drivers/usb/serial/empeg.c       |   12 ++++----
 drivers/usb/serial/ezusb.c       |    4 +-
 drivers/usb/serial/generic.c     |    6 ++--
 drivers/usb/serial/io_edgeport.c |   38 ++++++++++++-------------
 drivers/usb/serial/io_ti.c       |   58 +++++++++++++++++++--------------------
 drivers/usb/serial/ir-usb.c      |   16 +++++-----
 drivers/usb/serial/keyspan.c     |    6 ++--
 drivers/usb/serial/pl2303.c      |   18 ++++++------
 drivers/usb/serial/usb-serial.c  |   32 ++++++++++-----------
 drivers/usb/serial/visor.c       |   44 ++++++++++++++---------------
 11 files changed, 122 insertions(+), 121 deletions(-)
------

[email-masked], 2003-01-07 14:52:13-08:00, [email-masked]
  [PATCH] USB: drivers/usb/host/ fixups due to dev_printk change

 drivers/usb/host/ehci-dbg.c |    8 ++++----
 drivers/usb/host/ohci-dbg.c |   22 +++++++++++-----------
 drivers/usb/host/ohci-hcd.c |   10 +++++-----
 drivers/usb/host/ohci-hub.c |    2 +-
 drivers/usb/host/ohci-mem.c |    2 +-
 drivers/usb/host/ohci-q.c   |    4 ++--
 6 files changed, 24 insertions(+), 24 deletions(-)
------

[email-masked], 2003-01-07 14:51:54-08:00, [email-masked]
  [PATCH] USB: drivers/usb/core/ fixups due to dev_printk change

 drivers/usb/core/hcd-pci.c   |   16 ++++-----
 drivers/usb/core/hcd.c       |   34 ++++++++++----------
 drivers/usb/core/hub.c       |   70 +++++++++++++++++++++----------------------
 drivers/usb/core/usb-debug.c |    2 -
 drivers/usb/core/usb.c       |   38 +++++++++++------------
 5 files changed, 80 insertions(+), 80 deletions(-)
------

[email-masked], 2003-01-07 14:51:34-08:00, [email-masked]
  [PATCH] DEV: change dev_printk() to take a pointer to dev instead of the structure itself.
  
  This was suggested by many people, Randy Dunlap being the most vocal :)

 include/linux/device.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
------

[email-masked], 2003-01-07 12:59:07-08:00, [email-masked]
  [PATCH] USB mdc800: forward port 2.4 fix for misuse of types.
  
  Thanks to Dave Jones for pointing this out.

 drivers/usb/image/mdc800.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
------

[email-masked], 2003-01-07 12:57:25-08:00, [email-masked]
  [PATCH] USB printer driver: forward port 2.4 fix for misuse of types.
  
  Thanks to Dave Jones for pointing this out.

 drivers/usb/class/usblp.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)
------

[email-masked], 2003-01-07 12:55:14-08:00, [email-masked]
  [PATCH] USB: removed MOD_INC_USE_COUNT and MOD_DEC_USE_COUNT from driver that do not need it.

 drivers/usb/misc/auerswald.c |    7 -------
 drivers/usb/misc/brlvger.c   |   18 +++++-------------
 drivers/usb/misc/rio500.c    |    5 +----
 3 files changed, 6 insertions(+), 24 deletions(-)
------

[email-masked], 2003-01-06 17:26:56-08:00, [email-masked]
  USB brlvger: Forward port 2.4 fix for misuse of types.
  
  Thanks to Dave Jones for pointing this out.

 drivers/usb/misc/brlvger.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)
------

[email-masked], 2003-01-06 16:35:55-08:00, [email-masked]
  [PATCH] USB storage: remove usb_stor_tranfer_length()
  
  This patch removes the (often troublesome) usb_stor_transfer_length()
  function.
  
  We've finally gotten all the command initiators to send the correct values
  in the srb->request_bufflen field, so this is no longer needed.
  
  There are probably some sanity checks that can also be removed now, but
  that's for a later patch.

 drivers/usb/storage/freecom.c   |    4 
 drivers/usb/storage/transport.c |  307 ----------------------------------------
 drivers/usb/storage/transport.h |    1 
 3 files changed, 5 insertions(+), 307 deletions(-)
------

[email-masked], 2003-01-06 16:31:07-08:00, [email-masked]
  USB: revert davem's compile time fix, now that it's fixed properly.

 drivers/usb/host/ohci-dbg.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)
------

[email-masked], 2003-01-06 16:21:39-08:00, [email-masked]
  [PATCH] usbtest, covers control queueing and fault cleanup
  
  I wrote this a while back, finally debugged it.  This covers
  some functionality that 2.5 newly demands of all HCDs:  control
  requests can be queued.  (Example:  a user mode driver can talk
  on one interface, and a kernel mode one can talk on another,
  no need to handshake about who can make control requests.)
  
  The good news is that all the HCDs seem (light testing) to do
  the right things ... until some of the requests (intentionally)
  trigger routine faults (like protocol stalls) which the HCDs
  need to recover from.  At that point, uhci-hcd started acting
  confused (it's got newish queueing code); details will come
  separately.  The other two HCDs acted fine.  I had expected more
  trouble there, maybe it'll show up later on.

 drivers/usb/misc/usbtest.c |  306 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 304 insertions(+), 2 deletions(-)
------

[email-masked], 2003-01-06 16:21:21-08:00, [email-masked]
  [PATCH] 2.5.54 -- ohci-dbg.c: 358: In function `show_list': `data1'
  
  OK here's the version that without the kernel version #ifdef
  that helped the backport ... it fixes the build by restoring
  the "debug support only if CONFIG_USB_DEBUG" semantics.

 drivers/usb/host/ohci-dbg.c |   11 +++++++++++
 1 files changed, 11 insertions(+)
------

[email-masked], 2003-01-06 16:01:14-08:00, [email-masked]
  [PATCH] USB: kaweth freeing skbs
  
  this is the 2.5 version of the 2.4 fix
    - proper freeing of skbs

 drivers/usb/net/kaweth.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
------

[email-masked], 2003-01-06 15:58:15-08:00, [email-masked]
  [PATCH] again rtl8150
  
  this diff is agains the latest linux-2.5;
  set mac address at dev->open()
  (as per Jeff Garzik :-)

 drivers/usb/net/rtl8150.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)
------

[email-masked], 2003-01-06 15:55:16-08:00, [email-masked]
  [PATCH] USB pegasus: small patch for 2.5
  
  Same as the previous email, just against latest linux-2.5 tree.  Sorry
  about the diffs - i can't sync with usb-2.5.

 drivers/usb/net/pegasus.c |    5 ++++-
 drivers/usb/net/pegasus.h |    4 ++--
 2 files changed, 6 insertions(+), 3 deletions(-)
------

[email-masked], 2003-01-06 15:48:03-08:00, [email-masked]
  [PATCH] zaurus B500 (sl-5600?) & usbnet
  
  More Zaurii.  That model will be interesting from the
  perspective of "usb gadget drivers", lots of flexible
  endpoints are available.

 drivers/usb/net/usbnet.c |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)
------

[email-masked], 2003-01-06 15:47:26-08:00, [email-masked]
  [PATCH] ehci, remove potential hangs
  
  These don't affect the hang I'm hunting for, but paranoia
  argues the patch is better integrated than not:
  
  - prevent resubmit-from-completion looping in_irq if the
     transfers complete really fast.  (likely never seen, but...)
  
  - grab ehci lock before reading irq status; should be harmless
     except in one host error cleanup-after-death

 drivers/usb/host/ehci-hcd.c |   11 +++++++----
 drivers/usb/host/ehci-q.c   |   19 +++++++++++++------
 drivers/usb/host/ehci.h     |    2 ++
 3 files changed, 22 insertions(+), 10 deletions(-)
------