Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6
authorLinus Torvalds <torvalds@woody.osdl.org>
Sat, 2 Dec 2006 00:41:58 +0000 (16:41 -0800)
committerLinus Torvalds <torvalds@woody.osdl.org>
Sat, 2 Dec 2006 00:41:58 +0000 (16:41 -0800)
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (103 commits)
  usbcore: remove unused argument in autosuspend
  USB: keep count of unsuspended children
  USB hub: simplify remote-wakeup handling
  USB: struct usb_device: change flag to bitflag
  OHCI: make autostop conditional on CONFIG_PM
  USB: Add autosuspend support to the hub driver
  EHCI: Fix root-hub and port suspend/resume problems
  USB: create a new thread for every USB device found during the probe sequence
  USB: add driver for the USB debug devices
  USB: added dynamic major number for USB endpoints
  USB: pegasus error path not resetting task's state
  USB: endianness fix for asix.c
  USB: build the appledisplay driver
  USB serial: replace kmalloc+memset with kzalloc
  USB: hid-core: canonical defines for Apple USB device IDs
  USB: idmouse cleanup
  USB: make drivers/usb/core/driver.c:usb_device_match() static
  USB: lh7a40x_udc remove double declaration
  USB: pxa2xx_udc recognizes ixp425 rev b0 chip
  usbtouchscreen: add support for DMC TSC-10/25 devices
  ...

1  2 
drivers/media/video/pwc/pwc-if.c
drivers/usb/host/u132-hcd.c
drivers/usb/misc/usb_u132.h

@@@ -866,11 -866,9 +866,9 @@@ int pwc_isoc_init(struct pwc_device *pd
        }
        if (ret) {
                /* De-allocate in reverse order */
-               while (i >= 0) {
-                       if (pdev->sbuf[i].urb != NULL)
-                               usb_free_urb(pdev->sbuf[i].urb);
+               while (i--) {
+                       usb_free_urb(pdev->sbuf[i].urb);
                        pdev->sbuf[i].urb = NULL;
-                       i--;
                }
                return ret;
        }
@@@ -1095,7 -1093,8 +1093,7 @@@ static int pwc_video_open(struct inode 
        PWC_DEBUG_OPEN(">> video_open called(vdev = 0x%p).\n", vdev);
  
        pdev = (struct pwc_device *)vdev->priv;
 -      if (pdev == NULL)
 -              BUG();
 +      BUG_ON(!pdev);
        if (pdev->vopen) {
                PWC_DEBUG_OPEN("I'm busy, someone is using the device.\n");
                return -EBUSY;
@@@ -71,7 -71,7 +71,7 @@@ static int distrust_firmware = 1
  module_param(distrust_firmware, bool, 0);
  MODULE_PARM_DESC(distrust_firmware, "true to distrust firmware power/overcurren"
          "t setup");
- DECLARE_WAIT_QUEUE_HEAD(u132_hcd_wait);
static DECLARE_WAIT_QUEUE_HEAD(u132_hcd_wait);
  /*
  * u132_module_lock exists to protect access to global variables
  *
@@@ -205,13 -205,9 +205,9 @@@ struct u132 
          struct u132_port port[MAX_U132_PORTS];
          struct u132_endp *endp[MAX_U132_ENDPS];
  };
- int usb_ftdi_elan_read_reg(struct platform_device *pdev, u32 *data);
- int usb_ftdi_elan_read_pcimem(struct platform_device *pdev, u8 addressofs,
-         u8 width, u32 *data);
- int usb_ftdi_elan_write_pcimem(struct platform_device *pdev, u8 addressofs,
-         u8 width, u32 data);
  /*
 -* these can not be inlines because we need the structure offset!!
 +* these cannot be inlines because we need the structure offset!!
  * Does anyone have a better way?????
  */
  #define u132_read_pcimem(u132, member, data) \
@@@ -3045,7 -3041,7 +3041,7 @@@ static struct hc_driver u132_hc_driver 
  * This function may be called by the USB core whilst the "usb_all_devices_rwsem"
  * is held for writing, thus this module must not call usb_remove_hcd()
  * synchronously - but instead should immediately stop activity to the
 -* device and ansynchronously call usb_remove_hcd()
 +* device and asynchronously call usb_remove_hcd()
  */
  static int __devexit u132_remove(struct platform_device *pdev)
  {
@@@ -3241,7 -3237,7 +3237,7 @@@ static int u132_resume(struct platform_
  #define u132_resume NULL
  #endif
  /*
 -* this driver is loaded explicitely by ftdi_u132
 +* this driver is loaded explicitly by ftdi_u132
  *
  * the platform_driver struct is static because it is per type of module
  */
@@@ -52,7 -52,7 +52,7 @@@
  * the kernel to load the "u132-hcd" module.
  *
  * The "ftdi-u132" module provides the interface to the inserted
 -* PC card and the "u132-hcd" module uses the API to send and recieve
 +* PC card and the "u132-hcd" module uses the API to send and receive
  * data. The API features call-backs, so that part of the "u132-hcd"
  * module code will run in the context of one of the kernel threads
  * of the "ftdi-u132" module.
@@@ -95,3 -95,7 +95,7 @@@ int usb_ftdi_elan_edset_setup(struct pl
           int halted, int skipped, int actual, int non_null));
  int usb_ftdi_elan_edset_flush(struct platform_device *pdev, u8 ed_number,
          void *endp);
+ int usb_ftdi_elan_read_pcimem(struct platform_device *pdev, int mem_offset,
+                             u8 width, u32 *data);
+ int usb_ftdi_elan_write_pcimem(struct platform_device *pdev, int mem_offset,
+                              u8 width, u32 data);