1. 14 Jul, 2004 30 commits
    • Olaf Hering's avatar
      [PATCH] USB: fix SN9C10[12] driver for ia64 · 4a3280d8
      Olaf Hering authored
       On Sun, Jul 11, Luca Risolia wrote:
      
      > This single patch contains some updates and cleanups for
      > the W996[87]CF driver and a new experimental V4L2 driver
      > for SONiX SN9C10[12] PC Camera Controllers connected to various
      > image sensors. I have not divided the patch in two logical
      > sub-patches becouse of two independent changes in one common
      > file, KConfigure. Since this mailing list refused the patch,
      > due to its size, I have uploaded it here, as
      > Documentation/SubmittingPatches suggests:
      
      I need this patch for x86_64.
      
      
        CC [M]  drivers/usb/media/sn9c102_core.o
      In file included from drivers/usb/media/sn9c102.h:34,
                       from drivers/usb/media/sn9c102_core.c:43:
      include/asm/rwsem.h:55: error: redefinition of `struct rw_semaphore'
      In file included from drivers/usb/media/sn9c102.h:34,
                       from drivers/usb/media/sn9c102_core.c:43:
      include/asm/rwsem.h:79:1: warning: "__RWSEM_INITIALIZER" redefined
      In file included from include/linux/rwsem.h:25,
                       from include/asm/semaphore.h:43,
                       from include/linux/sched.h:18,
                       from include/linux/module.h:10,
                       from drivers/usb/media/sn9c102_core.c:21:
      include/linux/rwsem-spinlock.h:49:1: warning: this is the location of the previous definition
      include/asm/rwsem.h:87: warning: static declaration for `init_rwsem' follows non-static
      include/asm/rwsem.h:100: warning: `__down_read' declared inline after being called
      include/asm/rwsem.h:100: warning: static declaration for `__down_read' follows non-static
      include/asm/rwsem.h:122: warning: `__down_read_trylock' declared inline after being called
      include/asm/rwsem.h:122: warning: static declaration for `__down_read_trylock' follows non-static
      include/asm/rwsem.h:146: warning: `__down_write' declared inline after being called
      include/asm/rwsem.h:146: warning: static declaration for `__down_write' follows non-static
      include/asm/rwsem.h:171: warning: `__down_write_trylock' declared inline after being called
      include/asm/rwsem.h:171: warning: static declaration for `__down_write_trylock' follows non-static
      include/asm/rwsem.h:184: warning: `__up_read' declared inline after being called
      include/asm/rwsem.h:184: warning: static declaration for `__up_read' follows non-static
      include/asm/rwsem.h:208: warning: `__up_write' declared inline after being called
      include/asm/rwsem.h:208: warning: static declaration for `__up_write' follows non-static
      include/asm/rwsem.h:233: warning: `__downgrade_write' declared inline after being called
      include/asm/rwsem.h:233: warning: static declaration for `__downgrade_write' follows non-static
      make[3]: *** [drivers/usb/media/sn9c102_core.o] Error 1
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      4a3280d8
    • Greg Kroah-Hartman's avatar
      [PATCH] USB: sort the order in which the usb-serial drivers get built · 1d612253
      Greg Kroah-Hartman authored
      all other usb drivers get built in alphabetical order, why not these?
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      1d612253
    • Greg Kroah-Hartman's avatar
      [PATCH] USB: remove CONFIG_USB_SERIAL_DEBUG · 801a68b7
      Greg Kroah-Hartman authored
      This involved reworking the usb_serial_debug_data() function too.
      Based on a request from SuSE, and numerous user confusions with how
      to enable this option.  Now that all usb-serial drivers are using
      module_param() it can be set from the boot command line if the drivers
      are built into the kernel.
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      801a68b7
    • Greg Kroah-Hartman's avatar
    • Luca Risolia's avatar
      [PATCH] Updates for W99[87]CF and new SN9C10[12] driver · be3a4fef
      Luca Risolia authored
      This single patch contains some updates and cleanups for
      the W996[87]CF driver and a new experimental V4L2 driver
      for SONiX SN9C10[12] PC Camera Controllers connected to various
      image sensors. I have not divided the patch in two logical
      sub-patches becouse of two independent changes in one common
      file, KConfigure.
      
      More informations about the SN9C10[12] can be found below in the
      documentation. The driver is marked as "EXPERIMENTAL", meaning
      that there are no known bugs, but further testing is necessary
      before considering it stable. This the first driver using the new
      SBGGR8 video format, which has been recently added to the mainline
      kernel, so there are no available user application at the moment:
      this is one more reason why it should be in the kernel now.
      
      Changes in W996[87]CF:
      - remove w9968cf_externaldef.h now that ovcamchip.h is in the kernel;
      - mark user pointers with __user in a cleaner way to avoid sparse
        warnings;
      - use appropriate exclusive wait macro during open();
      - replace info(), err(), warn() with dev_info(), dev_err(), dev_warn(),
        pr_debug(), pr_info();
      - replace usb_unlink_urb() + wait_for_completion() with usb_kill_urb();
      - fix memory offsets for buffers in the chip to be used with generic
        image sensors;
      - 'vppmod_load', 'debug', 'specific_debug' and 'simcams' module
        parameters are now writeable by default;
      - fix possible race conditions between disconnect() and open();
      - add automatic 'ovcamchip' module loading option with 'ovmod_load'
        module parameter;
      - get rid of deprecated intermodule communication routines and use the
        correct module registration/unregistration approach;
      - remove period at the end of kernel messages;
      - fix several typos;
      - use MODULE_VERSION() macro;
      - other small internal cleanups;
      - documentation updates.
      Signed-off-by: default avatarLuca Risolia <luca.risolia@studio.unibo.it>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      be3a4fef
    • David Brownell's avatar
      [PATCH] USB: usb ethernet gadget, minor fixes + basic OTG support · 75509570
      David Brownell authored
      Update CDC Ethernet/RNDIS gadget driver to the latest:
      
          -	Basics of OTG support: providing the OTG descriptor
      	in each configuration (as needed).   No HNP yet.
      
          -	Stop issuing partial-packet reads.  There's some hardware that
      	only counts reads in packets, not bytes, so let's not bother.
      	There are still software checks to catch framing gone wild.
      
          -	Fix a small bug that crept in with a memory leak fix: after
              RNDIS requests, ep0 responses would use the RNDIS completion
      	handler even for non-RNDIS requests.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      75509570
    • David Brownell's avatar
      [PATCH] USB: usb gadget zero, basic OTG updates · 0601da86
      David Brownell authored
      This patch teaches "gadget zero" enough about OTG to pass simple USBCV
      tests, mostly by including OTG descriptors in each configuration.  It
      tests and reports OTG status, as reported by the USB controller driver.
      
      It also adds an option to build gadget zero to act as the designated
      OTG "HNP Test Device", which exists primarily to trigger HNP.  However,
      it won't currently request HNP.
      
      Includes other minor tweaks:  delete a timer on disconnect, reset
      the req->zero flag, don't autoresume after disconnect.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      0601da86
    • David Brownell's avatar
      [PATCH] USB: usb gadget API updates · 8ae7288e
      David Brownell authored
      Gadget API updates, including new features:
      
          -	Adds several new optional calls that can be made to the
      	USB peripheral controller:
      
      	    * VBUS session reporting, for use mostly by external
      	      transcievers (such as isp1301).  Detection of VBUS
      	      power is the first step in enumeration, and usually
      	      corresponds to a device being plugged into a hub.
      
      	    * "Soft Connect" feature, wherein the D+ pullup is under
      	      gadget driver control.  This is a second step during
      	      enumeration, which lets the hub see the new device.
      	      (Based on a patch by Alex Sanks <alex@netchip.com>.)
      
      	    * Control over VBUS current draw.  So for example this is
      	      what a gadget driver uses during SET_CONFIGURATION to
      	      say "it's OK to draw 300 mA from VBUS to recharge".
      
          -	Basic interfaces to support device-side USB OTG.  Feature
      	flags and descriptors are in <linux/usb_ch9.h> already.
      
      	    * Reports whether the device has a Mini-AB port, so
      	      that OTG support (desriptors etc) is required.
      
      	    * Reports OTG device feature flags for HNP.  (The OTG
      	      spec requires user interfaces to report this stuff.)
      	      Say if this is a B-Peripheral or an A-Peripheral.
      
      	    * Says that usb_gadget_wakeup() is how to access SRP,
      	      and usb_gadget_disconnect() is how to access HNP.
      
          -	Minor updates/cleanups to comments (Linux 2.5-->2.6 etc)
      
      Currently there's no support for SRP-only OTG devices.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      8ae7288e
    • David Brownell's avatar
      [PATCH] USB: usb gadgetfs, handle omap_udc · 7be306f0
      David Brownell authored
      Tell gadgetfs about omap_udc.
      Add some missing __user annotations.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      7be306f0
    • David Brownell's avatar
      [PATCH] USB: usb serial gadget, add omap_udc · d90c9ecc
      David Brownell authored
      This lets the serial gadget work with another controller.
      
      Tell serial about omap_udc.  This driver still needs updating to
      use the endpoint autoconfig suppport; like Gadget Zero, it
      really shouldn't need _any_ hardware-specific #ifdeffery.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      d90c9ecc
    • Greg Kroah-Hartman's avatar
    • David Brownell's avatar
      [PATCH] USB: misc ohci tweaks · 56b4783d
      David Brownell authored
      Various minor OHCI tweaks;
      
          - Fix osdl bugid=2503 by:
      	* Change needlessly-scarey message (WARN_ON dumps stack)
      	* Tries cleaning up, as if it's just IRQ lossage.
      
          - Force IRQs off when shutting down a controller that was
            already stopped ... just in case.
      
          - Allow suspending OHCI during driver initialization, to
            support more aggressive power management.
      
          - Fix some misleading/wrong debug messages.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      56b4783d
    • David Brownell's avatar
      [PATCH] USB: usbnet, Sitecom LN-029 · 18d898df
      David Brownell authored
      ID for another AX8817x based usb2 Ethernet adapter.
      
      From:          Tim Chick <Tim.Chick@Conexant.com>
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      18d898df
    • David T. Hollis's avatar
      [PATCH] USB: ax8817x_unbind does not free the interrupt URB after unlinking · 4a9a678d
      David T. Hollis authored
      ax8817x_unbind does not free the interrupt URB after unlinking.
      
      Noticed that the net->status already has a flag for link so my
      private structure variable for link was redundant.  Worked around
      this and was able to kill off the unique ax8817x_get_link() function
      in the process.
      Signed-off-by: default avatarDavid Hollis <dhollis@davehollis.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      4a9a678d
    • David T. Hollis's avatar
      [PATCH] USB: usbnet:ax8817x - use interrupt URB for link detection · 8e9305b2
      David T. Hollis authored
      This patch uses the interrupt URB on the ax8817x for link detection.
      This allows the driver to notify userspace when link drops/comes back
      so it can take action such as run dhclient, etc.
      
      I was also able to reduce the bind function by using some of the stock
      mii_xxx calls as well as my own for handling initial link negotiation.
      Signed-off-by: default avatarDavid Hollis <dhollis@davehollis.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      8e9305b2
    • Alan Stern's avatar
      [PATCH] USB: Allow NULL argument in usb_unlink_urb() and usb_kill_urb() · 67cca2e6
      Alan Stern authored
      It makes sense for APIs involved in cleanup activities (like kfree()) to
      accept NULL arguments.  Doing so frees drivers from the responsibility of
      checking whether each resource was actually acquired before trying to
      release it.  Accordingly, this patch makes usb_unlink_urb() and
      usb_kill_urb() accept a NULL pointer (which used to be acceptable until I
      changed it) and notes explicitly in the kerneldoc that such arguments are
      permitted.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      67cca2e6
    • Luiz Capitulino's avatar
      [PATCH] USB: usb/core/file.c::usb_major_init() cleanup. · b6157a96
      Luiz Capitulino authored
       This patch does a cleanup for usb/core/file.c::usb_major_init(), which
       is:
      
      *) in error condition, returns the error code from register_chrdev(),
         insted returning -EBUSY;
      
      *) adds missing audit for class_register();
      
      *) only calls devfs_mk_dir() if the prior calls have success.
      Signed-off-by: default avatarLuiz Capitulino <lcapitulino@prefeitura.sp.gov.br>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      b6157a96
    • Dan Streetman's avatar
      [PATCH] USB: fix usbfs mount options ignored bug · bfc614c5
      Dan Streetman authored
      Ok here is a patch to make the mount options work.  In addition to
      implementing the remount function, it removes the parse_options() call
      from usb_fill_super and adds a "ignore" flag around the mounting that gets
      done in create_special_files.  The parse_options call in usb_fill_super is
      removed because it is not needed when remount is implemented.  The
      ignore_mount flag is needed because the simple_pin_fs function calls
      remount with no mount options - i.e. it's not a real mount.  So the mount
      options would be cleared out.  The ignore_mount flag causes the remount
      function to only act on real mounts.
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      bfc614c5
    • Greg Kroah-Hartman's avatar
    • Alan Stern's avatar
      [PATCH] USB: Fix endianness bug in UHCI driver · fcfab60e
      Alan Stern authored
      This patch fixes a byte-swapping error in the UHCI driver.  It has been
      present since 2.6.6 and only got tracked down just now!  Thanks a lot to
      Michel Roelofs for all his help and testing.
      
      This should be pushed through to Linus in time to appear in 2.6.8, if
      possible.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      fcfab60e
    • Mika Kukkonen's avatar
      [PATCH] USB: Trivial fix to include/linux/usb.h · c1d511d4
      Mika Kukkonen authored
      Hi Greg!
      
      I am compiling allmodconfig with some extra gcc warnings enabled
      (-W -Wno-unused -Wno-sign-compare -Winline -Wundef) and got this one:
      
        CC [M]  security/root_plug.o
      In file included from security/root_plug.c:30:
      include/linux/usb.h:358: warning: `inline' is not at beginning of declaration
      
      Patch is trivial:
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      c1d511d4
    • Olaf Hering's avatar
      [PATCH] USB: fix lockup with 2.6 keyspan_pda driver · 7b971838
      Olaf Hering authored
      I suggest to put the pointer to port instead of the pointer to the
      pointer to port to the workqueue data.
      Did that driver ever work with 2.6?
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      7b971838
    • Greg Kroah-Hartman's avatar
    • Greg Kroah-Hartman's avatar
      [PATCH] USB: fix up the wording in the emi26 firmware file to match the other... · 213aaf83
      Greg Kroah-Hartman authored
      [PATCH] USB: fix up the wording in the emi26 firmware file to match the other kernel firmware files.
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      213aaf83
    • Alan Stern's avatar
      [PATCH] USB: Remove hub's children upon unbinding · 9b5310c6
      Alan Stern authored
      This patch fixes a logical hole in the hub driver.  It's possible for the
      driver to be unbound from a hub without physically unplugging the hub.
      For example, writing 0 into the bConfigurationValue attribute file will
      have this effect.  When this happens, we need to make sure that all the
      child devices of the hub are logically disconnected and their ports
      disabled.
      
      That's what this patch does.  It's a little bit tricky because we can't
      simply call usb_disconnect() from within the hub driver's disconnect()
      routine.  While that routine is running it holds the usb bus writelock,
      but usb_disconnect() would try to acquire it again.  Instead
      schedule_work() is used, so after a brief delay the children will be
      removed.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      9b5310c6
    • Alan Stern's avatar
      [PATCH] USB: Store pointer to usb_device in private hub structure · bf02cab8
      Alan Stern authored
      This patch adds a pointer to the hub's usb_device into the usb_hub private
      structure.  It's a small change, and permits a small amount of
      simplification in a few spots, i.e., avoid calling interface_to_usbdev().
      This doesn't really do much in itself, but it's a prerequisite for the
      next patch.  (A situation arises where we can't use the interface pointer
      to find the usb_device because the interface might not exist.)
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      bf02cab8
    • Alan Stern's avatar
      [PATCH] USB: Don't ask for string descriptor lengths · 9506ce58
      Alan Stern authored
      Okay, here's a revised patch (as332b).  This tries first to ask for 255
      bytes, and if that fails then it asks for the length and the full
      descriptor.  Hopefully nobody will object to applying this version...
      
      You know, it occurs to me that the have_langid field in usb_device could
      easily be eliminated.  Just set string_langid to -1 during initialization
      and test for whether or not it is >= 0.  I'll do that some other time.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      9506ce58
    • Alan Stern's avatar
      [PATCH] USB: Make hub driver use usb_kill_urb() · 5106784c
      Alan Stern authored
      This is a rerun of as278, updated to match the current source.  It changes
      the hub driver, replacing calls to synchronous usb_unlink_urb() with
      usb_kill_urb() and removing the machinery formerly needed to synchronize
      the status URB handler with the rest of the driver.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      5106784c
    • Alan Stern's avatar
      [PATCH] USB: Add usb_kill_urb() · 1d92d8c6
      Alan Stern authored
      This patch is a slightly revised version of as277c, updated to match the
      current source.  The only difference from the older version is that this
      makes urb->use_count into an atomic_t, to avoid the overhead of an extra
      locking step each time an URB is submitted and given back.  The important
      features of this patch are:
      
      	-EPERM added to Documentation/usb/error-codes.txt.
      
      	Failure to use URB_ASYNC_UNLINK with usb_unlink_urb() is
      	deprecated in the documentation.
      
      	New ->reject and ->use_count fields added to struct urb.
      	The reject field is protected by urb->lock, and locking is
      	required only in usb_kill_urb() which doesn't have to be fast.
      
      	Single wait_queue used for all processes waiting inside
      	usb_kill_urb().  The wait queue is woken up only when an URB
      	is given back with ->reject set.
      
      	usb_rh_status_dequeue() changed to return int.  It looks like
      	this function should be declared static; it's not used outside
      	the hcd.c file.
      
      	Prototype for unlink_urb() in struct usb_operations is changed
      	to include a status code argument.  This is necessary so that
      	the different unlink paths can return -ENOENT and -ECONNRESET
      	as appropriate.
      
      	Support for synchronous usb_unlink_urb() has been removed;
      	such calls are passed to usb_kill_urb().
      
      	Kerneldoc for usb_unlink_urb() is updated.
      
      	usb_kill_urb() added to urb.c.
      
      	hc_simple() host driver is partially updated -- it should
      	compile but it won't really work right.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      1d92d8c6
    • Greg Kroah-Hartman's avatar
  2. 01 Jul, 2004 10 commits