)]}'
{
  "log": [
    {
      "commit": "e1620d591a75a10b15cf61dbf8243a0b7e6731a2",
      "tree": "01facc1611d08d80fc1f0a3d430e83779e9fbdc5",
      "parents": [
        "99759619b27662d1290901228d77a293e6e83200"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 18 19:55:36 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 18 19:55:36 2011 +0100"
      },
      "message": "USB: Move runtime PM callbacks to usb_device_pm_ops\n\nUSB defines usb_device_type pointing to usb_device_pm_ops that\nprovides system-wide PM callbacks only and usb_bus_type pointing to\nusb_bus_pm_ops that provides runtime PM callbacks only.  However,\nthe USB runtime PM callbacks may be defined in usb_device_pm_ops\nwhich makes it possible to drop usb_bus_pm_ops and will allow us\nto consolidate the handling of subsystems by the PM core code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0df0914d414a504b975f3cc66ace0c16ef55b7f3",
      "tree": "c97ffa357943a8b226cdec1b9632c4cede813205",
      "parents": [
        "6899608533410557e6698cb9d4ff6df553916e98",
        "05f689400ea5fa3d71af82f910c8b140f87ad1f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 19:28:15 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 19:28:15 2011 -0700"
      },
      "message": "Merge branch \u0027omap-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6\n\n* \u0027omap-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (258 commits)\n  omap: zoom: host should not pull up wl1271\u0027s irq line\n  arm: plat-omap: iommu: fix request_mem_region() error path\n  OMAP2+: Common CPU DIE ID reading code reads wrong registers for OMAP4430\n  omap4: mux: Remove duplicate mux modes\n  omap: iovmm: don\u0027t check \u0027da\u0027 to set IOVMF_DA_FIXED flag\n  omap: iovmm: disallow mapping NULL address when IOVMF_DA_ANON is set\n  omap2+: mux: Fix compile when CONFIG_OMAP_MUX is not selected\n  omap4: board-omap4panda: Initialise the serial pads\n  omap3: board-3430sdp: Initialise the serial pads\n  omap4: board-4430sdp: Initialise the serial pads\n  omap2+: mux: Add macro for configuring static with omap_hwmod_mux_init\n  omap2+: mux: Remove the use of IDLE flag\n  omap2+: Add separate list for dynamic pads to mux\n  perf: add OMAP support for the new power events\n  OMAP4: Add IVA OPP enteries.\n  OMAP4: Update Voltage Rail Values for MPU, IVA and CORE\n  OMAP4: Enable 800 MHz and 1 GHz MPU-OPP\n  OMAP3+: OPP: Replace voltage values with Macros\n  OMAP3: wdtimer: Fix CORE idle transition\n  Watchdog: omap_wdt: add fine grain runtime-pm\n  ...\n\nFix up various conflicts in\n - arch/arm/mach-omap2/board-omap3evm.c\n - arch/arm/mach-omap2/clock3xxx_data.c\n - arch/arm/mach-omap2/usb-musb.c\n - arch/arm/plat-omap/include/plat/usb.h\n - drivers/usb/musb/musb_core.h\n"
    },
    {
      "commit": "411f5c7a502769ccc0377c5ba36cb0b283847ba8",
      "tree": "2c3a29671e3f923de48c55f94194849264a7bf53",
      "parents": [
        "6d7ed21d17e640b120b902a314143e5ef4917a70",
        "9ced9f03d12d7539e86b0bff5bc750153c976c34"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 19:08:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 17 19:08:06 2011 -0700"
      },
      "message": "Merge branch \u0027devel-stable\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027devel-stable\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm: (289 commits)\n  davinci: DM644x EVM: register MUSB device earlier\n  davinci: add spi devices on tnetv107x evm\n  davinci: add ssp config for tnetv107x evm board\n  davinci: add tnetv107x ssp platform device\n  spi: add ti-ssp spi master driver\n  mfd: add driver for sequencer serial port\n  ARM: EXYNOS4: Implement Clock gating for System MMU\n  ARM: EXYNOS4: Enhancement of System MMU driver\n  ARM: EXYNOS4: Add support for gpio interrupts\n  ARM: S5P: Add function to register gpio interrupt bank data\n  ARM: S5P: Cleanup S5P gpio interrupt code\n  ARM: EXYNOS4: Add missing GPYx banks\n  ARM: S3C64XX: Fix section mismatch from cpufreq init\n  ARM: EXYNOS4: Add keypad device to the SMDKV310\n  ARM: EXYNOS4: Update clocks for keypad\n  ARM: EXYNOS4: Update keypad base address\n  ARM: EXYNOS4: Add keypad device helpers\n  ARM: EXYNOS4: Add support for SATA on ARMLEX4210\n  plat-nomadik: make GPIO interrupts work with cpuidle ApSleep\n  mach-u300: define a dummy filter function for coh901318\n  ...\n\nFix up various conflicts in\n - arch/arm/mach-exynos4/cpufreq.c\n - arch/arm/mach-mxs/gpio.c\n - drivers/net/Kconfig\n - drivers/tty/serial/Kconfig\n - drivers/tty/serial/Makefile\n - drivers/usb/gadget/fsl_mxc_udc.c\n - drivers/video/Kconfig\n"
    },
    {
      "commit": "63a93699c6a58795b854ff573542a08367684dae",
      "tree": "057ab4cbde66862c51867dde030be69a2fa7073f",
      "parents": [
        "16d8775700f1815076f879719ce14b33f50a3171",
        "21bd6d37cf23e643020bf28b41844ff0040c9393"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 19:05:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 19:05:40 2011 -0700"
      },
      "message": "Merge branch \u0027remove\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm\n\n* \u0027remove\u0027 of master.kernel.org:/home/rmk/linux-2.6-arm:\n  ARM: 6629/2: aaec2000: remove support for mach-aaec2000\n  ARM: lh7a40x: remove unmaintained platform support\n\nFix up trivial conflicts in\n - arch/arm/mach-{aaec2000,lh7a40x}/include/mach/memory.h (removed)\n - drivers/usb/gadget/Kconfig (USB_[GADGET_]LH7A40X removed, others added)\n"
    },
    {
      "commit": "4c5811bf463b0ef82fabbd1708f8bb2d753aeb18",
      "tree": "ff37d31217c3804ca05de21a55a9b5ca1ca818b2",
      "parents": [
        "f74b9444192c60603020c61d7915b72893137edc",
        "9f15444fefdb33509132ff5c9be60cb315c44cb2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:28:10 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 17:28:10 2011 -0700"
      },
      "message": "Merge branch \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6\n\n* \u0027devicetree/next\u0027 of git://git.secretlab.ca/git/linux-2.6: (21 commits)\n  tty: serial: altera_jtaguart: Add device tree support\n  tty: serial: altera_uart: Add devicetree support\n  dt: eliminate of_platform_driver shim code\n  dt: Eliminate of_platform_{,un}register_driver\n  dt/serial: Eliminate users of of_platform_{,un}register_driver\n  dt/usb: Eliminate users of of_platform_{,un}register_driver\n  dt/video: Eliminate users of of_platform_{,un}register_driver\n  dt/net: Eliminate users of of_platform_{,un}register_driver\n  dt/sound: Eliminate users of of_platform_{,un}register_driver\n  dt/spi: Eliminate users of of_platform_{,un}register_driver\n  dt: uartlite: merge platform and of_platform driver bindings\n  dt: xilinx_hwicap: merge platform and of_platform driver bindings\n  ipmi: convert OF driver to platform driver\n  leds/leds-gpio: merge platform_driver with of_platform_driver\n  dt/sparc: Eliminate users of of_platform_{,un}register_driver\n  dt/powerpc: Eliminate users of of_platform_{,un}register_driver\n  dt/powerpc: move of_bus_type infrastructure to ibmebus\n  drivercore/dt: add a match table pointer to struct device\n  dt: Typo fix.\n  altera_ps2: Add devicetree support\n  ...\n"
    },
    {
      "commit": "6445ced8670f37cfc2c5e24a9de9b413dbfc788d",
      "tree": "7c98481159008a4080cda929ea8c7bc7598a2c39",
      "parents": [
        "e6bee325e49f17c65c1fd66e9e8b348c85788341",
        "12bb12fac06d6212be9a5ed282c5670d4e90747f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:19:35 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:19:35 2011 -0700"
      },
      "message": "Merge branch \u0027staging-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6\n\n* \u0027staging-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (961 commits)\n  staging: hv: fix memory leaks\n  staging: hv: Remove NULL check before kfree\n  Staging: hv: Get rid of vmbus_child_dev_add()\n  Staging: hv: Change the signature for vmbus_child_device_register()\n  Staging: hv: Get rid of vmbus_cleanup() function\n  Staging: hv: Get rid of vmbus_dev_rm() function\n  Staging: hv: Change the signature for vmbus_on_isr()\n  Staging: hv: Eliminate vmbus_event_dpc()\n  Staging: hv: Get rid of the function vmbus_msg_dpc()\n  Staging: hv: Change the signature for vmbus_cleanup()\n  Staging: hv: Simplify root device management\n  staging: rtl8192e: Don\u0027t copy dev pointer to skb\n  staging: rtl8192e: Pass priv to cmdpkt functions\n  staging: rtl8192e: Pass priv to firmware download functions\n  staging: rtl8192e: Pass priv to rtl8192_interrupt\n  staging: rtl8192e: Pass rtl8192_priv to dm functions\n  staging: rtl8192e: Pass ieee80211_device to callbacks\n  staging: rtl8192e: Pass ieee80211_device to callbacks\n  staging: rtl8192e: Pass ieee80211_device to callbacks\n  staging: rtl8192e: Pass ieee80211_device to callbacks\n  ...\n"
    },
    {
      "commit": "e6bee325e49f17c65c1fd66e9e8b348c85788341",
      "tree": "bcc9e5d8e82efa9009edd481a837cc3626360091",
      "parents": [
        "a5e6b135bdff649e4330f98e2e80dbb1984f7e77",
        "6ae705b23be8da52d3163be9d81e9b767876aaf9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:11:04 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:11:04 2011 -0700"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (76 commits)\n  pch_uart: reference clock on CM-iTC\n  pch_phub: add new device ML7213\n  n_gsm: fix UIH control byte : P bit should be 0\n  n_gsm: add a documentation\n  serial: msm_serial_hs: Add MSM high speed UART driver\n  tty_audit: fix tty_audit_add_data live lock on audit disabled\n  tty: move cd1865.h to drivers/staging/tty/\n  Staging: tty: fix build with epca.c driver\n  pcmcia: synclink_cs: fix prototype for mgslpc_ioctl()\n  Staging: generic_serial: fix double locking bug\n  nozomi: don\u0027t use flush_scheduled_work()\n  tty/serial: Relax the device_type restriction from of_serial\n  MAINTAINERS: Update HVC file patterns\n  tty: phase out of ioctl file pointer for tty3270 as well\n  tty: forgot to remove ipwireless from drivers/char/pcmcia/Makefile\n  pch_uart: Fix DMA channel miss-setting issue.\n  pch_uart: fix exclusive access issue\n  pch_uart: fix auto flow control miss-setting issue\n  pch_uart: fix uart clock setting issue\n  pch_uart : Use dev_xxx not pr_xxx\n  ...\n\nFix up trivial conflicts in drivers/misc/pch_phub.c (same patch applied\ntwice, then changes to the same area in one branch)\n"
    },
    {
      "commit": "971f115a50afbe409825c9f3399d5a3b9aca4381",
      "tree": "cb42dc07a032e325f22b64d961587c081225c6d6",
      "parents": [
        "2e270d84223262a38d4755c61d55f5c73ea89e56",
        "500132a0f26ad7d9916102193cbc6c1b1becb373"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:04:26 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 16 15:04:26 2011 -0700"
      },
      "message": "Merge branch \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* \u0027usb-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (172 commits)\n  USB: Add support for SuperSpeed isoc endpoints\n  xhci: Clean up cycle bit math used during stalls.\n  xhci: Fix cycle bit calculation during stall handling.\n  xhci: Update internal dequeue pointers after stalls.\n  USB: Disable auto-suspend for USB 3.0 hubs.\n  USB: Remove bogus USB_PORT_STAT_SUPER_SPEED symbol.\n  xhci: Return canceled URBs immediately when host is halted.\n  xhci: Fixes for suspend/resume of shared HCDs.\n  xhci: Fix re-init on power loss after resume.\n  xhci: Make roothub functions deal with device removal.\n  xhci: Limit roothub ports to 15 USB3 \u0026 31 USB2 ports.\n  xhci: Return a USB 3.0 hub descriptor for USB3 roothub.\n  xhci: Register second xHCI roothub.\n  xhci: Change xhci_find_slot_id_by_port() API.\n  xhci: Refactor bus suspend state into a struct.\n  xhci: Index with a port array instead of PORTSC addresses.\n  USB: Set usb_hcd-\u003estate and flags for shared roothubs.\n  usb: Make core allocate resources per PCI-device.\n  usb: Store bus type in usb_hcd, not in driver flags.\n  usb: Change usb_hcd-\u003ebandwidth_mutex to a pointer.\n  ...\n"
    },
    {
      "commit": "aa33860158114d0df3c7997bc1dd41c0168e1c2a",
      "tree": "a1ae98c42232835780618b0a5dea78c5478ed58c",
      "parents": [
        "196ec243224bb38fc5c41d9fa4050f70708b7fb4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 11 00:06:54 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:15 2011 +0100"
      },
      "message": "PM: Remove CONFIG_PM_OPS\n\nAfter redefining CONFIG_PM to depend on (CONFIG_PM_SLEEP ||\nCONFIG_PM_RUNTIME) the CONFIG_PM_OPS option is redundant and can be\nreplaced with CONFIG_PM.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\n"
    },
    {
      "commit": "4681b17154b3fd81f898802262985f662344e6ed",
      "tree": "5670e6668fe43dad7bb19dd91e227d2d09dbd066",
      "parents": [
        "0295a34d61f14522fddb26856191520d2e1d7e77"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 08 23:25:48 2011 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Mar 15 00:43:14 2011 +0100"
      },
      "message": "USB / Hub: Do not call device_set_wakeup_capable() under spinlock\n\nA subsequent patch will modify device_set_wakeup_capable() in such\na way that it will call functions which may sleep and therefore it\nshouldn\u0027t be called under spinlocks.  In preparation to that, modify\nusb_set_device_state() to avoid calling device_set_wakeup_capable()\nunder device_state_lock.\n\nTested-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "500132a0f26ad7d9916102193cbc6c1b1becb373",
      "tree": "c5b55f5afa88fb5b7820237a9de4c897b0c830e9",
      "parents": [
        "ba0a4d9aaae789a6a632968b27c21d49b858b13a"
      ],
      "author": {
        "name": "Paul Zimmerman",
        "email": "Paul.Zimmerman@synopsys.com",
        "time": "Mon Feb 28 18:11:27 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:57 2011 -0700"
      },
      "message": "USB: Add support for SuperSpeed isoc endpoints\n\nUse the Mult and bMaxBurst values from the endpoint companion\ndescriptor to calculate the max length of an isoc transfer.\n\nAdd USB_SS_MULT macro to access Mult field of bmAttributes, at\nSarah\u0027s suggestion.\n\nThis patch should be queued for the 2.6.36 and 2.6.37 stable trees, since\nthose were the first kernels to have isochronous support for SuperSpeed\ndevices.\n\nSigned-off-by: Paul Zimmerman \u003cpaulz@synopsys.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "ba0a4d9aaae789a6a632968b27c21d49b858b13a",
      "tree": "22e76438fe70720fa89d683586009cc028bceb0e",
      "parents": [
        "01a1fdb9a7afa5e3c14c9316d6f380732750b4e4"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Feb 23 18:13:43 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:56 2011 -0700"
      },
      "message": "xhci: Clean up cycle bit math used during stalls.\n\nUse XOR to invert the cycle bit, instead of a more complicated\ncalculation.  Eliminate a check for the link TRB type in find_trb_seg().\nWe know that there will always be a link TRB at the end of a segment, so\nxhci_segment-\u003etrbs[TRBS_PER_SEGMENT - 1] will always have a link TRB type.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nTested-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "01a1fdb9a7afa5e3c14c9316d6f380732750b4e4",
      "tree": "a8a27f453ca6ce5e5919f77a51368020887f5674",
      "parents": [
        "bf161e85fb153c0dd5a95faca73fd6a9d237c389"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Feb 23 18:12:29 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:54 2011 -0700"
      },
      "message": "xhci: Fix cycle bit calculation during stall handling.\n\nWhen an endpoint stalls, we need to update the xHCI host\u0027s internal\ndequeue pointer to move it past the stalled transfer.  This includes\nupdating the cycle bit (TRB ownership bit) if we have moved the dequeue\npointer past a link TRB with the toggle cycle bit set.\n\nWhen we\u0027re trying to find the new dequeue segment, find_trb_seg() is\nsupposed to keep track of whether we\u0027ve passed any link TRBs with the\ntoggle cycle bit set.  However, this while loop\u0027s body\n\n\twhile (cur_seg-\u003etrbs \u003e trb ||\n\t\t\t\u0026cur_seg-\u003etrbs[TRBS_PER_SEGMENT - 1] \u003c trb) {\n\nWill never get executed if the ring only contains one segment.\nfind_trb_seg() will return immediately, without updating the new cycle\nbit.  Since find_trb_seg() has no idea where in the segment the TD that\nstalled was, make the caller, xhci_find_new_dequeue_state(), check for\nthis special case and update the cycle bit accordingly.\n\nThis patch should be queued to kernels all the way back to 2.6.31.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nTested-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "bf161e85fb153c0dd5a95faca73fd6a9d237c389",
      "tree": "950c8f7048754e0603e516b295badb869e832e2d",
      "parents": [
        "0c9ffe0f6286a02bf82f8d7fb7274aec2ad977f1"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Feb 23 15:46:42 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:53 2011 -0700"
      },
      "message": "xhci: Update internal dequeue pointers after stalls.\n\nWhen an endpoint stalls, the xHCI driver must move the endpoint ring\u0027s\ndequeue pointer past the stalled transfer.  To do that, the driver issues\na Set TR Dequeue Pointer command, which will complete some time later.\n\nTakashi was having issues with USB 1.1 audio devices that stalled, and his\nanalysis of the code was that the old code would not update the xHCI\ndriver\u0027s ring dequeue pointer after the command completes.  However, the\ndequeue pointer is set in xhci_find_new_dequeue_state(), just before the\nset command is issued to the hardware.\n\nSetting the dequeue pointer before the Set TR Dequeue Pointer command\ncompletes is a dangerous thing to do, since the xHCI hardware can fail the\ncommand.  Instead, store the new dequeue pointer in the xhci_virt_ep\nstructure, and update the ring\u0027s dequeue pointer when the Set TR dequeue\npointer command completes.\n\nWhile we\u0027re at it, make sure we can\u0027t queue another Set TR Dequeue Command\nwhile the first one is still being processed.  This just won\u0027t work with\nthe internal xHCI state code.  I\u0027m still not sure if this is the right\nthing to do, since we might have a case where a driver queues multiple\nURBs to a control ring, one of the URBs Stalls, and then the driver tries\nto cancel the second URB.  There may be a race condition there where the\nxHCI driver might try to issue multiple Set TR Dequeue Pointer commands,\nbut I would have to think very hard about how the Stop Endpoint and\ncancellation code works.  Keep the fix simple until when/if we run into\nthat case.\n\nThis patch should be queued to kernels all the way back to 2.6.31.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nTested-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "0c9ffe0f6286a02bf82f8d7fb7274aec2ad977f1",
      "tree": "e17413d6b9451fe5ea5fa0a51ff923689d356254",
      "parents": [
        "131dec344d5e41f01e4791aa4c80eb4bdb1e5274"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 30 13:27:36 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:51 2011 -0700"
      },
      "message": "USB: Disable auto-suspend for USB 3.0 hubs.\n\nUSB 3.0 devices have a slightly different suspend sequence than USB\n2.0/1.1 devices.  There isn\u0027t support for USB 3.0 device suspend yet, so\nmake khubd leave autosuspend disabled for USB 3.0 hubs.  Make sure that\nUSB 3.0 roothubs still have autosuspend enabled, since that path in the\nxHCI driver works fine.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "131dec344d5e41f01e4791aa4c80eb4bdb1e5274",
      "tree": "5ec2e11acfa9f21a4aeb4137721786b2ea67cd83",
      "parents": [
        "c6cc27c782e3a64cced0fcf1d6f492c8d8881c76"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Dec 06 21:00:19 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:50 2011 -0700"
      },
      "message": "USB: Remove bogus USB_PORT_STAT_SUPER_SPEED symbol.\n\nUSB_PORT_STAT_SUPER_SPEED is a made up symbol that the USB core used to\ntrack whether USB ports had a SuperSpeed device attached.  This is a\nlinux-internal symbol that was used when SuperSpeed and non-SuperSpeed\ndevices would show up under the same xHCI roothub.  This particular\nport status is never returned by external USB 3.0 hubs.  (Instead they\nhave a USB_PORT_STAT_SPEED_5GBPS that uses a completely different speed\nmask.)\n\nNow that the xHCI driver registers two roothubs, USB 3.0 devices will only\nshow up under USB 3.0 hubs.  Rip out USB_PORT_STAT_SUPER_SPEED and replace\nit with calls to hub_is_superspeed().\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "c6cc27c782e3a64cced0fcf1d6f492c8d8881c76",
      "tree": "b671f8101eb7513343f8bb02a7e00712798aa0ed",
      "parents": [
        "b320937972d456db2a46fdcbc6bebc4dcdc9daa4"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Mar 11 10:20:58 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:48 2011 -0700"
      },
      "message": "xhci: Return canceled URBs immediately when host is halted.\n\nWhen the xHCI host controller is halted, it won\u0027t respond to commands\nplaced on the command ring.  So if an URB is cancelled after the first\nroothub is deallocated, it will try to place a stop endpoint command on\nthe command ring, which will fail.  The command watchdog timer will fire\nafter five seconds, and the host controller will be marked as dying, and\nall URBs will be completed.\n\nAdd a flag to the xHCI\u0027s internal state variable for when the host\ncontroller is halted.  Immediately return the canceled URB if the host\ncontroller is halted.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "b320937972d456db2a46fdcbc6bebc4dcdc9daa4",
      "tree": "a41cfa6897e7b2d6dfd79e43cfb6c77dbd9bf6a7",
      "parents": [
        "65b22f93fde320b34d43e4a3978e1b52b1bcc279"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Mar 07 11:24:07 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:47 2011 -0700"
      },
      "message": "xhci: Fixes for suspend/resume of shared HCDs.\n\nMake sure the HCD_FLAG_HW_ACCESSIBLE flag is mirrored by both roothubs,\nsince it refers to whether the shared hardware is accessible.  Make sure\neach bus is marked as suspended by setting usb_hcd-\u003estate to\nHC_STATE_SUSPENDED when the PCI host controller is resumed.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "65b22f93fde320b34d43e4a3978e1b52b1bcc279",
      "tree": "087312018a0076866f28e056f1481db76cfe2b78",
      "parents": [
        "f9de8151877b4f01cc8e124b0e213a6c6c78d970"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Dec 17 12:35:05 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:45 2011 -0700"
      },
      "message": "xhci: Fix re-init on power loss after resume.\n\nWhen a host controller has lost power during a suspend, we must\nreinitialize it.  Now that the xHCI host has two roothubs, xhci_run() and\nxhci_stop() expect to be called with both usb_hcd structures.  Be sure\nthat the re-initialization code in xhci_resume() mirrors the process the\nUSB PCI probe function uses.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "f9de8151877b4f01cc8e124b0e213a6c6c78d970",
      "tree": "fa1fb7231c83430c098f20511ab99909fe1c2544",
      "parents": [
        "d30b2a208108a0b0fdeae7006b8824d9be16ca96"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Oct 29 14:37:23 2010 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:44 2011 -0700"
      },
      "message": "xhci: Make roothub functions deal with device removal.\n\nReturn early in the roothub control and status functions if the xHCI host\ncontroller is not electrically present in the system (register reads\nreturn all \"fs\").  This issue only shows up when the xHCI driver registers\ntwo roothubs and the host controller is removed from the system.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "d30b2a208108a0b0fdeae7006b8824d9be16ca96",
      "tree": "43df86628f31b4ad46d82258c8d8a1a8e88ae625",
      "parents": [
        "4bbb0ace9a3de8392527e3c87926309d541d3b00"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Nov 23 10:42:22 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:42 2011 -0700"
      },
      "message": "xhci: Limit roothub ports to 15 USB3 \u0026 31 USB2 ports.\n\nThe USB core allocates a USB 2.0 roothub descriptor that has room for 31\n(USB_MAXCHILDREN) ports\u0027 worth of DeviceRemovable and PortPwrCtrlMask\nfields.  Limit the number of USB 2.0 roothub ports accordingly.  I don\u0027t\nexpect to run into this limitation ever, but this prevents a buffer\noverflow issue in the roothub descriptor filling code.\n\nSimilarly, a USB 3.0 hub can only have 15 downstream ports, so limit the\nUSB 3.0 roothub to 15 USB 3.0 ports.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "4bbb0ace9a3de8392527e3c87926309d541d3b00",
      "tree": "0b71bcd26cd66b4924c2e8997139a965e9b4304f",
      "parents": [
        "f6ff0ac878eb420011fa2448851dd48c3a7e7b31"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Nov 29 16:14:37 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:41 2011 -0700"
      },
      "message": "xhci: Return a USB 3.0 hub descriptor for USB3 roothub.\n\nReturn the correct xHCI roothub descriptor, based on whether the roothub\nis marked as USB 3.0 or USB 2.0 in usb_hcd-\u003ebcdUSB.  Fill in\nDeviceRemovable for the USB 2.0 and USB 3.0 roothub descriptors, using the\nDevice Removable bit in the port status and control registers.  xHCI is\nthe first host controller to actually properly set these bits (other hosts\nsay all devices are removable).\n\nWhen userspace asks for a USB 2.0-style hub descriptor for the USB 3.0\nroothub, stall the endpoint.  This is what real external USB 3.0 hubs do,\nand we don\u0027t want to return a descriptor that userspace didn\u0027t ask for.\n\nThe USB core is already fixed to always ask for USB 3.0-style hub\ndescriptors.  Only usbfs (typically lsusb) will ask for the USB 2.0-style\nhub descriptors.  This has already been fixed in usbutils version 0.91,\nbut the kernel needs to deal with older usbutils versions.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "f6ff0ac878eb420011fa2448851dd48c3a7e7b31",
      "tree": "4073e9de7541030ee7b775d118a1ee1d1821a0c7",
      "parents": [
        "5233630fcdd6f7d415dcbed264031439cab73f9d"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 16 11:21:10 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:39 2011 -0700"
      },
      "message": "xhci: Register second xHCI roothub.\n\nThis patch changes the xHCI driver to allocate two roothubs.  This touches\nthe driver initialization and shutdown paths, roothub emulation code, and\nport status change event handlers.  This is a rather large patch, but it\ncan\u0027t be broken up, or it would break git-bisect.\n\nMake the xHCI driver register its own PCI probe function.  This will call\nthe USB core to create the USB 2.0 roothub, and then create the USB 3.0\nroothub.  This gets the code for registering a shared roothub out of the\nUSB core, and allows other HCDs later to decide if and how many shared\nroothubs they want to allocate.\n\nMake sure the xHCI\u0027s reset method marks the xHCI host controller\u0027s primary\nroothub as the USB 2.0 roothub.  This ensures that the high speed bus will\nbe processed first when the PCI device is resumed, and any USB 3.0 devices\nthat have migrated over to high speed will migrate back after being reset.\nThis ensures that USB persist works with these odd devices.\n\nThe reset method will also mark the xHCI USB2 roothub as having an\nintegrated TT.  Like EHCI host controllers with a \"rate matching hub\" the\nxHCI USB 2.0 roothub doesn\u0027t have an OHCI or UHCI companion controller.\nIt doesn\u0027t really have a TT, but we\u0027ll lie and say it has an integrated\nTT.  We need to do this because the USB core will reject LS/FS devices\nunder a HS hub without a TT.\n\nOther details:\n-------------\n\nThe roothub emulation code is changed to return the correct number of\nports for the two roothubs.  For the USB 3.0 roothub, it only reports the\nUSB 3.0 ports.  For the USB 2.0 roothub, it reports all the LS/FS/HS\nports.  The code to disable a port now checks the speed of the roothub,\nand refuses to disable SuperSpeed ports under the USB 3.0 roothub.\n\nThe code for initializing a new device context must be changed to set the\nproper roothub port number.  Since we\u0027ve split the xHCI host into two\nroothubs, we can\u0027t just use the port number in the ancestor hub.  Instead,\nwe loop through the array of hardware port status register speeds and find\nthe Nth port with a similar speed.\n\nThe port status change event handler is updated to figure out whether the\nport that reported the change is a USB 3.0 port, or a non-SuperSpeed port.\nOnce it figures out the port speed, it kicks the proper roothub.\n\nThe function to find a slot ID based on the port index is updated to take\ninto account that the two roothubs will have over-lapping port indexes.\nIt checks that the virtual device with a matching port index is the same\nspeed as the passed in roothub.\n\nThere\u0027s also changes to the driver initialization and shutdown paths:\n\n 1. Make sure that the xhci_hcd pointer is shared across the two\n    usb_hcd structures.  The xhci_hcd pointer is allocated and the\n    registers are mapped in when xhci_pci_setup() is called with the\n    primary HCD.  When xhci_pci_setup() is called with the non-primary\n    HCD, the xhci_hcd pointer is stored.\n\n 2. Make sure to set the sg_tablesize for both usb_hcd structures.  Set\n    the PCI DMA mask for the non-primary HCD to allow for 64-bit or 32-bit\n    DMA.  (The PCI DMA mask is set from the primary HCD further down in\n    the xhci_pci_setup() function.)\n\n 3. Ensure that the host controller doesn\u0027t start kicking khubd in\n    response to port status changes before both usb_hcd structures are\n    registered.  xhci_run() only starts the xHC running once it has been\n    called with the non-primary roothub.  Similarly, the xhci_stop()\n    function only halts the host controller when it is called with the\n    non-primary HCD.  Then on the second call, it resets and cleans up the\n    MSI-X irqs.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "5233630fcdd6f7d415dcbed264031439cab73f9d",
      "tree": "f877073953835d8989c83ab8473cf2100b64dd84",
      "parents": [
        "20b67cf51fa606442bb343afad0ee1a393a6afb3"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 16 10:49:09 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:38 2011 -0700"
      },
      "message": "xhci: Change xhci_find_slot_id_by_port() API.\n\nxhci_find_slot_id_by_port() tries to map the port index to the slot ID for\nthe USB device.  In the future, there will be two xHCI roothubs, and their\nport indices will overlap.  Therefore, xhci_find_slot_id_by_port() will\nneed to use information in the roothub\u0027s usb_hcd structure to map the port\nindex and roothub speed to the right slot ID.\n\nAdd a new parameter to xhci_find_slot_id_by_port(), in order to pass in\nthe roothub\u0027s usb_hcd structure.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "20b67cf51fa606442bb343afad0ee1a393a6afb3",
      "tree": "1d85e8b93aff185211d065a5113beaeb68cfcb26",
      "parents": [
        "5308a91b9fc1a8f94b860c2589b06908a97cba7e"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Dec 15 12:47:14 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:36 2011 -0700"
      },
      "message": "xhci: Refactor bus suspend state into a struct.\n\nThere are several variables in the xhci_hcd structure that are related to\nbus suspend and resume state.  There are a couple different port status\narrays that are accessed by port index.  Move those variables into a\nseparate structure, xhci_bus_state.  Stash that structure in xhci_hcd.\n\nWhen we have two roothhubs that can be suspended and resumed separately,\nwe can have two xhci_bus_states, and index into the port arrays in each\nstructure with the fake roothub port index (not the real hardware port\nindex).\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "5308a91b9fc1a8f94b860c2589b06908a97cba7e",
      "tree": "4f97e7ea4c3280b367b951ea3b1d3f07c22c1b46",
      "parents": [
        "ff9d78b36f76687c91c67b9f4c5c33bc888ed2f9"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Dec 01 11:34:59 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:35 2011 -0700"
      },
      "message": "xhci: Index with a port array instead of PORTSC addresses.\n\nIn the upcoming patches, the roothub emulation code will need to return\nport status and port change buffers based on whether they are called with\nthe xHCI USB 2.0 or USB 3.0 roothub.  To facilitate that, make the roothub\ncode index into an array of port addresses with wIndex, rather than\ncalculating the address using the offset and the address of the PORTSC\nregisters.  Later we can set the port array to be the array of USB 3.0\nport addresses, or the USB 2.0 port addresses, depending on the roothub\npassed in.\n\nCreate a temporary (statically sized) port array and fill it in with both\nUSB 3.0 and USB 2.0 port addresses.  This is inefficient to do for every\nroothub call, but this is needed for git bisect compatibility.  The\ntemporary port array will be deleted in a subsequent patch.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "ff9d78b36f76687c91c67b9f4c5c33bc888ed2f9",
      "tree": "c269f0ec7f830a478ab5738f7579221d7caecf5d",
      "parents": [
        "c56354378426e550aaf6ddf3983f502a8fddeab5"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 02 19:10:02 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:33 2011 -0700"
      },
      "message": "USB: Set usb_hcd-\u003estate and flags for shared roothubs.\n\nThe hcd-\u003eflags are in a sorry state.  Some of them are clearly specific to\nthe particular roothub (HCD_POLL_RH, HCD_POLL_PENDING, and\nHCD_WAKEUP_PENDING), but some flags are related to PCI device state\n(HCD_HW_ACCESSIBLE and HCD_SAW_IRQ).  This is an issue when one PCI device\ncan have two roothubs that share the same IRQ line and hardware.\n\nMake sure to set HCD_FLAG_SAW_IRQ for both roothubs when an interrupt is\nserviced, or an URB is unlinked without an interrupt.  (We can\u0027t tell if\nthe host actually serviced an interrupt for a particular bus, but we can\ntell it serviced some interrupt.)\n\nHCD_HW_ACCESSIBLE is set once by usb_add_hcd(), which is set for both\nroothubs as they are added, so it doesn\u0027t need to be modified.\nHCD_POLL_RH and HCD_POLL_PENDING are only checked by the USB core, and\nthey are never set by the xHCI driver, since the roothub never needs to be\npolled.\n\nThe usb_hcd\u0027s state field is a similar mess.  Sometimes the state applies\nto the underlying hardware: HC_STATE_HALT, HC_STATE_RUNNING, and\nHC_STATE_QUIESCING.  But sometimes the state refers to the roothub state:\nHC_STATE_RESUMING and HC_STATE_SUSPENDED.\n\nAlan Stern recently made the USB core not rely on the hcd-\u003estate variable.\nInternally, the xHCI driver still checks for HC_STATE_SUSPENDED, so leave\nthat code in.  Remove all references to HC_STATE_HALT, since the xHCI\ndriver only sets and doesn\u0027t test those variables.  We still have to set\nHC_STATE_RUNNING, since Alan\u0027s patch has a bug that means the roothub\nwon\u0027t get registered if we don\u0027t set that.\n\nAlan\u0027s patch made the USB core check a different variable when trying to\ndetermine whether to suspend a roothub.  The xHCI host has a split\nroothub, where two buses are registered for one PCI device.  Each bus in\nthe xHCI split roothub can be suspended separately, but both buses must be\nsuspended before the PCI device can be suspended.  Therefore, make sure\nthat the USB core checks HCD_RH_RUNNING() for both roothubs before\nsuspending the PCI host.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "c56354378426e550aaf6ddf3983f502a8fddeab5",
      "tree": "35464da7692b5ac096bc05841b2dc4761e711117",
      "parents": [
        "83de4b2b90887b5b317d8313864fe4cc5db35280"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Oct 28 15:40:26 2010 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:23:06 2011 -0700"
      },
      "message": "usb: Make core allocate resources per PCI-device.\n\nIntroduce the notion of a PCI device that may be associated with more than\none USB host controller driver (struct usb_hcd).  This patch is the start\nof the work to separate the xHCI host controller into two roothubs: a USB\n3.0 roothub with SuperSpeed-only ports, and a USB 2.0 roothub with\nHS/FS/LS ports.\n\nOne usb_hcd structure is designated to be the \"primary HCD\", and a pointer\nis added to the usb_hcd structure to keep track of that.  A new function\ncall, usb_hcd_is_primary_hcd() is added to check whether the USB hcd is\nmarked as the primary HCD (or if it is not part of a roothub pair).  To\nallow the USB core and xHCI driver to access either roothub in a pair, a\n\"shared_hcd\" pointer is added to the usb_hcd structure.\n\nAdd a new function, usb_create_shared_hcd(), that does roothub allocation\nfor paired roothubs.  It will act just like usb_create_hcd() did if the\nprimary_hcd pointer argument is NULL.  If it is passed a non-NULL\nprimary_hcd pointer, it sets usb_hcd-\u003eshared_hcd and usb_hcd-\u003eprimary_hcd\nfields.  It will also skip the bandwidth_mutex allocation, and set the\nsecondary hcd\u0027s bandwidth_mutex pointer to the primary HCD\u0027s mutex.\n\nIRQs are only allocated once for the primary roothub.\n\nIntroduce a new usb_hcd driver flag that indicates the host controller\ndriver wants to create two roothubs.  If the HCD_SHARED flag is set, then\nthe USB core PCI probe methods will allocate a second roothub, and make\nsure that second roothub gets freed during rmmod and in initialization\nerror paths.\n\nWhen usb_hc_died() is called with the primary HCD, make sure that any\nroothubs that share that host controller are also marked as being dead.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "83de4b2b90887b5b317d8313864fe4cc5db35280",
      "tree": "e2eccac30913261d660be034e8f53a6640061738",
      "parents": [
        "d673bfcbfffdeb56064a6b1ee047b85590bed76c"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 02 14:45:18 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:15 2011 -0700"
      },
      "message": "usb: Store bus type in usb_hcd, not in driver flags.\n\nThe xHCI driver essentially has both a USB 2.0 and a USB 3.0 roothub.  So\nsetting the HCD_USB3 bits in the hcd-\u003edriver-\u003eflags is a bit misleading.\nAdd a new field to usb_hcd, bcdUSB.  Store the result of\nhcd-\u003edriver-\u003eflags \u0026 HCD_MASK in it.  Later, when we have the xHCI driver\nregister the two roothubs, we\u0027ll set the usb_hcd-\u003ebcdUSB field to HCD_USB2\nfor the USB 2.0 roothub, and HCD_USB3 for the USB 3.0 roothub.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "d673bfcbfffdeb56064a6b1ee047b85590bed76c",
      "tree": "50a4efa53b8ca6815ca25292136e7990425f0d36",
      "parents": [
        "23e0d1066f429ab44305e96fbff13f1793886277"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Oct 15 08:55:24 2010 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:14 2011 -0700"
      },
      "message": "usb: Change usb_hcd-\u003ebandwidth_mutex to a pointer.\n\nChange the bandwith_mutex in struct usb_hcd to a pointer.  This will allow\nthe pointer to be shared across usb_hcds for the upcoming work to split\nthe xHCI driver roothub into a USB 2.0/1.1 and a USB 3.0 bus.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "23e0d1066f429ab44305e96fbff13f1793886277",
      "tree": "39421fefa903781b6f219b041bfbaec783027ddd",
      "parents": [
        "8766c815607e572556b04075d4545330123c4f27"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Oct 21 11:14:54 2010 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:14 2011 -0700"
      },
      "message": "usb: Refactor irq enabling out of usb_add_hcd()\n\nRefactor out the code in usb_add_hcd() to request the IRQ line for the\nHCD.  This will only need to be called once for the two xHCI roothubs, so\nit\u0027s easier to refactor it into a function, rather than wrapping the long\nif-else block into another if statement.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "8766c815607e572556b04075d4545330123c4f27",
      "tree": "04a1b0589c0c194baf87fb57cb243ef39e94419e",
      "parents": [
        "b02d0ed677acb3465e7600366f2353413bf24074"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Oct 15 10:33:48 2010 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:14 2011 -0700"
      },
      "message": "usb: Make usb_hcd_pci_probe labels more descriptive.\n\nMake the labels for the goto statements in usb_hcd_pci_probe()\ndescribe the cleanup they do, rather than being numbered err[1-4].\nThis makes it easier to add error handling later.\n\nThe error handling for this function looks a little fishy, since\nset_hs_companion() isn\u0027t called until the very end of the function, and\nclear_hs_companion() is called if this function fails earlier than that.\nBut it should be harmless to clear a NULL pointer, so leave the error\nhandling as-is.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "b02d0ed677acb3465e7600366f2353413bf24074",
      "tree": "8efdbb5ea07a387a687aa24f0bcda8ba3a454d76",
      "parents": [
        "214f76f7d9198ddd090bd927a4bcd49391bfcd36"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Oct 26 11:03:44 2010 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:13 2011 -0700"
      },
      "message": "xhci: Change hcd_priv into a pointer.\n\nInstead of allocating space for the whole xhci_hcd structure at the end of\nusb_hcd, make the USB core allocate enough space for a pointer to the\nxhci_hcd structure.  This will make it easy to share the xhci_hcd\nstructure across the two roothubs (the USB 3.0 usb_hcd and the USB 2.0\nusb_hcd).\n\nDeallocate the xhci_hcd at PCI remove time, so the hcd_priv will be\ndeallocated after the usb_hcd is deallocated.  We do this by registering a\ndifferent PCI remove function that calls the usb_hcd_pci_remove()\nfunction, and then frees the xhci_hcd.  usb_hcd_pci_remove() calls\nkput() on the usb_hcd structure, which will deallocate the memory that\ncontains the hcd_priv pointer, but not the memory it points to.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "214f76f7d9198ddd090bd927a4bcd49391bfcd36",
      "tree": "23caeedac25f87f12662850e861dc994b21420c9",
      "parents": [
        "aa1b13efb7cfa9f7bf4942c1e858463e335c9500"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Oct 26 11:22:02 2010 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:13 2011 -0700"
      },
      "message": "xhci: Always use usb_hcd in URB instead of converting xhci_hcd.\n\nMake sure to call into the USB core\u0027s link, unlink, and giveback URB\nfunctions with the usb_hcd pointer found by using urb-\u003edev-\u003ebus.  This\nwill avoid confusion later, when the xHCI driver will deal with URBs from\ntwo separate buses (the USB 3.0 roothub and the faked USB 2.0 roothub).\n\nAssume xhci_urb_dequeue() will be called with the proper usb_hcd.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "aa1b13efb7cfa9f7bf4942c1e858463e335c9500",
      "tree": "3f5c6c8527d5998d615986cf67a2bce46399d09b",
      "parents": [
        "22c6a35d41f71b5b40ba8debcb8bd4e8e291ae43"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Mar 03 05:40:51 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:12 2011 -0700"
      },
      "message": "xhci: Modify check for TT info.\n\nCommit d199c96d by Alan Stern ensured that low speed and full speed\ndevices below a high speed hub without a transaction translator (TT) would\nnever get enumerated.  Simplify the check for a TT in the xHCI virtual\ndevice allocation to only check if the usb_device references a parent\u0027s\nTT.\n\nMake sure not to set the TT information on LS/FS devices directly\nconnected to the roothub.  The xHCI host doesn\u0027t really have a TT, and the\nhost will throw an error when those virtual device TT fields are set for a\ndevice connected to the roothub.  We need this check because the xHCI\ndriver will shortly register two roothubs: a USB 2.0 roothub and a USB 3.0\nroothub.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "22c6a35d41f71b5b40ba8debcb8bd4e8e291ae43",
      "tree": "a2304ee6d8172da6ff059fd99d3cac840608129a",
      "parents": [
        "c70615740996823580bb8fb58461347b7ffaad9a"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Sep 13 12:01:02 2010 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:12 2011 -0700"
      },
      "message": "usb: Make USB 3.0 roothub have a SS EP comp descriptor.\n\nMake the USB 3.0 roothub registered by the USB core have a SuperSpeed\nEndpoint Companion Descriptor after the interrupt endpoint.  All USB 3.0\ndevices are required to have this, and the USB 3.0 bus specification\n(section 10.13.1) says which values the descriptor should have.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "c70615740996823580bb8fb58461347b7ffaad9a",
      "tree": "2fe76d3f9331c9561a6526732ea364c40fe307f4",
      "parents": [
        "dbe79bbe9dcb22cb3651c46f18943477141ca452"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Mon Dec 06 15:08:20 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:12 2011 -0700"
      },
      "message": "USB: Clear \"warm\" port reset change.\n\nIn USB 3.0, there are two types of resets: a \"hot\" port reset and a \"warm\"\nport reset.  The hot port reset is always tried first, and involves\nsending the reset signaling for a shorter amount of time.  But sometimes\ndevices don\u0027t respond to the hot reset, and a \"Bigger Hammer\" is needed.\n\nExternal hubs and roothubs will automatically try a warm reset when the\nhot reset fails, and they will set a status change bit to indicate when\nthere is a \"BH reset\" change.  Make sure the USB core clears that port\nstatus change bit, or we\u0027ll get lots of status change notifications on the\ninterrupt endpoint of the USB 3.0 hub.\n\n(Side note: you may be confused why the USB 3.0 spec calls the same type\nof reset \"warm reset\" in some places and \"BH reset\" in other places.  \"BH\"\nreset is supposed to stand for \"Big Hammer\" reset, but it also stands for\n\"Brad Hosler\".  Brad died shortly after the USB 3.0 bus specification was\nstarted, and they decided to name the reset after him.  The suggestion was\nmade shortly before the spec was finalized, so the wording is a bit\ninconsistent.)\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "dbe79bbe9dcb22cb3651c46f18943477141ca452",
      "tree": "86e2dd608fd6ae7902b4abfdfbcf1969980386e3",
      "parents": [
        "ad73dff32e04cad1ff2af89512bf489224b503cc"
      ],
      "author": {
        "name": "John Youn",
        "email": "John.Youn@synopsys.com",
        "time": "Mon Sep 17 00:00:00 2001 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:11 2011 -0700"
      },
      "message": "USB 3.0 Hub Changes\n\nUpdate the USB core to deal with USB 3.0 hubs.  These hubs have a slightly\ndifferent hub descriptor than USB 2.0 hubs, with a fixed (rather than\nvariable length) size.  Change the USB core\u0027s hub descriptor to have a\nunion for the last fields that differ.  Change the host controller drivers\nthat access those last fields (DeviceRemovable and PortPowerCtrlMask) to\nuse the union.\n\nTranslate the new version of the hub port status field into the old\nversion that khubd understands.  (Note: we need to fix it to translate the\nroothub\u0027s port status once we stop converting it to USB 2.0 hub status\ninternally.)\n\nAdd new code to handle link state change status.  Send out new control\nmessages that are needed for USB 3.0 hubs, like Set Hub Depth.\n\nThis patch is a modified version of the original patch submitted by John\nYoun.  It\u0027s updated to reflect the removal of the \"bitmap\" #define, and\nchange the hub descriptor accesses of a couple new host controller\ndrivers.\n\nSigned-off-by: John Youn \u003cjohnyoun@synopsys.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Nobuhiro Iwamatsu \u003cnobuhiro.iwamatsu.yj@renesas.com\u003e\nCc: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\nCc: Tony Olech \u003ctony.olech@elandigitalsystems.com\u003e\nCc: \"Robert P. J. Day\" \u003crpjday@crashcourse.ca\u003e\nCc: Max Vozeler \u003cmvz@vozeler.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Yoshihiro Shimoda \u003cyoshihiro.shimoda.uh@renesas.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Anton Vorontsov \u003cavorontsov@mvista.com\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Lothar Wassmann \u003cLW@KARO-electronics.de\u003e\nCc: Olav Kongas \u003cok@artecdesign.ee\u003e\nCc: Martin Fuzzey \u003cmfuzzey@gmail.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "ad73dff32e04cad1ff2af89512bf489224b503cc",
      "tree": "0c8728f65b5ccc7c1f9752af4347211933c65662",
      "parents": [
        "4814030ce11f08350b7a91573487ad4b600dae34"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Mar 11 13:49:55 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:10 2011 -0700"
      },
      "message": "xhci: Remove references to HC_STATE_RUNNING.\n\nThe USB core will set hcd-\u003estate to HC_STATE_RUNNING before calling\nxhci_run, so there\u0027s no point in setting it twice.  The USB core also\ndoesn\u0027t pay attention to HC_STATE_RUNNING on the resume path anymore; it\nuses HCD_RH_RUNNING(), which looks at hcd-\u003eflags \u0026 (1U \u003c\u003c\nHCD_FLAG_RH_RUNNING.  Therefore, it\u0027s safe to remove the state set in\nxhci_bus_resume().\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "4814030ce11f08350b7a91573487ad4b600dae34",
      "tree": "f0df7a6418a7f84173faf068b125ef673ff79e35",
      "parents": [
        "ac04e6ff3e32699920ae75b22e2bec7f7c631434"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Mar 11 13:46:17 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:10 2011 -0700"
      },
      "message": "usb: Initialize hcd-\u003estate roothubs.\n\nWe would like to allow host controller drivers to stop using hcd-\u003estate.\nUnfortunately, some host controller drivers use hcd-\u003estate as an\nimplicit way of telling the core that a controller has died.  The\nroothub registration functions must assume the host died if hcd-\u003estate\nequals HC_STATE_HALT.\n\nTo facilitate drivers that don\u0027t want to set hcd-\u003estate to\nHC_STATE_RUNNING in their initialization routines, we set the state to\nrunning before calling the host controller\u0027s start function.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "ac04e6ff3e32699920ae75b22e2bec7f7c631434",
      "tree": "0b78396622fc9a17f933e2ca3541be4d5f2a4512",
      "parents": [
        "bdfca5025a159c8bb966e3b87b0c084dd1f831a9"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Fri Mar 11 08:47:33 2011 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:10 2011 -0700"
      },
      "message": "xhci: Remove references to HC_STATE_HALT.\n\nThe xHCI driver doesn\u0027t ever test hcd-\u003estate for HC_STATE_HALT.  The USB\ncore recently stopped using it internally, so there\u0027s no point in setting\nit in the driver.  We still need to set HC_STATE_RUNNING in order to make\nit past the USB core\u0027s hcd-\u003estate check in register_roothub().\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "bdfca5025a159c8bb966e3b87b0c084dd1f831a9",
      "tree": "c49bd0a596410686480933ac60beb2360c8a8ee9",
      "parents": [
        "019a35f1142b1cd153c8a38338515e633ec0cf77"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Thu Jan 06 15:43:39 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:09 2011 -0700"
      },
      "message": "xHCI: prolong host controller halt time limit\n\nxHCI 1.0 spec specifies the xHC shall halt within 16ms after software clears\nRun/Stop bit. In xHCI 0.96 spec the time limit is 16 microframes (2ms), it\u0027s\ntoo short and often cause dmesg shows \"Host controller not halted, aborting\nreset.\" message when rmmod xhci-hcd.\n\nModify the time limit to comply with xHCI 1.0 specification and prevents the\nwarning message showing when remove xhci-hcd.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "019a35f1142b1cd153c8a38338515e633ec0cf77",
      "tree": "a61347c56b71a62d9774d3012f7dd449b174674f",
      "parents": [
        "518e848ea8e2932ce18ce2daef8ad5f55a145f27"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Thu Jan 06 15:43:17 2011 +0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:09 2011 -0700"
      },
      "message": "xHCI: Remove redundant variable in xhci_resume()\n\nSet hcd-\u003estate \u003d HC_STATE_SUSPENDED if there is a power loss during system\nresume or the system is hibernated, otherwise leave it be. The variable\nold_state is redundant and made an unreachable code path, so remove it.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "518e848ea8e2932ce18ce2daef8ad5f55a145f27",
      "tree": "623b2a258580f6fd28584d83c276c133ed423a15",
      "parents": [
        "1d5810b6923c76fc95e52d9d3491c91824c2f075"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Dec 15 11:56:29 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:08 2011 -0700"
      },
      "message": "xhci: Rename variables and reduce register reads.\n\nThe xhci_bus_suspend() and xhci_bus_resume() functions are a bit hard to\nread, because they have an ambiguously named variable \"port\".  Rename it\nto \"port_index\".  Introduce a new temporary variable, \"max_ports\" that\nholds the maximum number of roothub ports the host controller supports.\nThis will reduce the number of register reads, and make it easy to change\nthe maximum number of ports when there are two roothubs.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "1d5810b6923c76fc95e52d9d3491c91824c2f075",
      "tree": "714c95e2f75cf703442abb4dd8f2cb522200616d",
      "parents": [
        "abc4f9b099e9e7db3f6f945210aee125571c236d"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Dec 09 14:52:41 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:08 2011 -0700"
      },
      "message": "xhci: Rework port suspend structures for limited ports.\n\nThe USB core only allows up to 31 (USB_MAXCHILDREN) ports under a roothub.\nThe xHCI driver keeps track of which ports are suspended, which ports have\na suspend change bit set, and what time the port will be done resuming.\nIt keeps track of the first two by setting a bit in a u32 variable,\nsuspended_ports or port_c_suspend.  The xHCI driver currently assumes we\ncan have up to 256 ports under a roothub, so it allocates an array of 8\nu32 variables for both suspended_ports and port_c_suspend.  It also\nallocates a 256-element array to keep track of when the ports will be done\nresuming.\n\nSince we can only have 31 roothub ports, we only need to use one u32 for\neach of the suspend state and change variables.  We simplify the bit math\nthat\u0027s trying to index into those arrays and set the correct bit, if we\nassume wIndex never exceeds 30.  (wIndex is zero-based after it\u0027s\ndecremented from the value passed in from the USB core.)  Finally, we\nchange the resume_done array to only hold 31 elements.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Andiry Xu \u003candiry.xu@amd.com\u003e\n"
    },
    {
      "commit": "abc4f9b099e9e7db3f6f945210aee125571c236d",
      "tree": "9cf11c0eed0646885ca8950cd610464d40cfaa67",
      "parents": [
        "da13051cc756756f10b2da8ea97b05bdf84bd7bb"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Dec 01 09:22:05 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:08 2011 -0700"
      },
      "message": "USB: Fix usb_add_hcd() checkpatch errors.\n\nThe irq enabling code is going to be refactored into a new function, so\nclean up some checkpatch errors before moving it.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "da13051cc756756f10b2da8ea97b05bdf84bd7bb",
      "tree": "d4036bb80a731da1eeaa57211afe37f3fc000056",
      "parents": [
        "0b8ca72a23df365a413e03f991bc6b8179dee13f"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Tue Nov 30 15:55:51 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:07 2011 -0700"
      },
      "message": "USB: Remove bitmap #define from hcd.h\n\nUsing a #define to redefine a common variable name is a bad thing,\nespecially when the #define is in a header.  include/linux/usb/hcd.h\nredefined bitmap to DeviceRemovable to avoid typing a long field in the\nhub descriptor.  This has unintended side effects for files like\ndrivers/usb/core/devio.c that include that file, since another header\nincluded after hcd.h has different variables named bitmap.\n\nRemove the bitmap #define and replace instances of it in the host\ncontroller code.  Cleanup the spaces around function calls and square\nbrackets while we\u0027re at it.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\nCc: Nobuhiro Iwamatsu \u003cnobuhiro.iwamatsu.yj@renesas.com\u003e\nCc: Inaky Perez-Gonzalez \u003cinaky.perez-gonzalez@intel.com\u003e\nCc: Tony Olech \u003ctony.olech@elandigitalsystems.com\u003e\nCc: \"Robert P. J. Day\" \u003crpjday@crashcourse.ca\u003e\nCc: Max Vozeler \u003cmvz@vozeler.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Yoshihiro Shimoda \u003cyoshihiro.shimoda.uh@renesas.com\u003e\nCc: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nCc: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Anton Vorontsov \u003cavorontsov@mvista.com\u003e\nCc: Sebastian Siewior \u003cbigeasy@linutronix.de\u003e\nCc: Lothar Wassmann \u003cLW@KARO-electronics.de\u003e\nCc: Olav Kongas \u003cok@artecdesign.ee\u003e\nCc: Martin Fuzzey \u003cmfuzzey@gmail.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "0b8ca72a23df365a413e03f991bc6b8179dee13f",
      "tree": "cbd91979d8c085346638e00bf07f0012d3fd83b7",
      "parents": [
        "db7c7c0aeef51dba12d877875b8deb78d9886647"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Thu Oct 21 12:22:28 2010 -0700"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:07 2011 -0700"
      },
      "message": "xhci: Remove old no-op test.\n\nThe test of placing a number of command no-ops on the command ring and\ncounting the number of no-op events that were generated was only used\nduring the initial xHCI driver bring up.  This test is no longer used, so\ndelete it.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "db7c7c0aeef51dba12d877875b8deb78d9886647",
      "tree": "09567f469abcb49861ab347ffae0685b26836db6",
      "parents": [
        "fbf9865c6d96f4a131092d2018056e86113e5cea"
      ],
      "author": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Wed Dec 29 22:03:07 2010 -0800"
      },
      "committer": {
        "name": "Sarah Sharp",
        "email": "sarah.a.sharp@linux.intel.com",
        "time": "Sun Mar 13 18:07:07 2011 -0700"
      },
      "message": "usb: Always return 0 or -EBUSY to the runtime PM core.\n\nThe PM core reacts badly when the return code from usb_runtime_suspend()\nis not 0, -EAGAIN, or -EBUSY.  The PM core regards this as a fatal error,\nand refuses to run anymore PM helper functions.  In particular,\nusbfs_open() and other usbfs functions will fail because the PM core will\nreturn an error code when usb_autoresume_device() is called.  This causes\nlibusb and/or lsusb to either hang or segfault.\n\nIf a USB device cannot suspend for some reason (e.g. a hub doesn\u0027t report\nit has remote wakeup capabilities), we still want lsusb and other\nuserspace programs to work.  So return -EBUSY, which will fill people\u0027s\nlog files with failed tries, but will ensure userspace still works.\n\nSigned-off-by: Sarah Sharp \u003csarah.a.sharp@linux.intel.com\u003e\n"
    },
    {
      "commit": "8688a1a8637c6b833b9b70148809db4538352d2e",
      "tree": "7b5d6c2d83c8bd1686811501c6287a650c40751b",
      "parents": [
        "3afdb0f3528991de0833224f2dba60dc061e01fa",
        "f91f9cd505f92e4227ffda7e5799a33d4f34bf36"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Mar 12 20:33:51 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Mar 12 20:33:51 2011 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-tcc into devel-stable\n"
    },
    {
      "commit": "e49c459c33189cfc7cff581d3c2e7f0074835118",
      "tree": "ee24e6a748cf7fc4a3a1bfe0f07d5a86dae21f4b",
      "parents": [
        "0074f59b51a2882ce3b8e3922c52f4c547bd56b7"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Mar 10 16:49:56 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 11 14:26:09 2011 -0800"
      },
      "message": "usb-storage: fix menu ordering\n\nMove the USB_STORAGE_ENE_UB6250 entry so that it stays under the\nUSB_STORAGE menu.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0074f59b51a2882ce3b8e3922c52f4c547bd56b7",
      "tree": "779e282a25fc45e2451078141fac1538a859f6e3",
      "parents": [
        "8b0fb6f872477dfd218e43b073543e4913b6d785"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Mar 10 16:48:36 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 11 14:26:08 2011 -0800"
      },
      "message": "usb-storage: ene_ub6250 depends on USB_STORAGE\n\nFix ene_ub6250 build: it uses usb_storage driver interfaces, so it\nshould depend on USB_STORAGE.\n\nene_ub6250.c:(.text+0x14ff19): undefined reference to `usb_stor_reset_resume\u0027\nene_ub6250.c:(.text+0x14ffb1): undefined reference to `usb_stor_bulk_transfer_buf\u0027\nene_ub6250.c:(.text+0x14ffdd): undefined reference to `usb_stor_bulk_srb\u0027\nene_ub6250.c:(.text+0x14fff1): undefined reference to `usb_stor_bulk_transfer_sg\u0027\nene_ub6250.c:(.text+0x1503dd): undefined reference to `usb_stor_set_xfer_buf\u0027\nene_ub6250.c:(.text+0x15048e): undefined reference to `usb_stor_access_xfer_buf\u0027\nene_ub6250.c:(.text+0x150723): undefined reference to `usb_stor_probe1\u0027\nene_ub6250.c:(.text+0x150795): undefined reference to `usb_stor_probe2\u0027\nene_ub6250.c:(.text+0x1507af): undefined reference to `usb_stor_disconnect\u0027\ndrivers/built-in.o:(.data+0x10224): undefined reference to `usb_stor_suspend\u0027\ndrivers/built-in.o:(.data+0x10230): undefined reference to `usb_stor_pre_reset\u0027\ndrivers/built-in.o:(.data+0x10234): undefined reference to `usb_stor_post_reset\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8b0fb6f872477dfd218e43b073543e4913b6d785",
      "tree": "2d26bb8b6bb6b9d71bc877cf03247fbfa834f854",
      "parents": [
        "e0cc8a60c4f9352c8281af6eb49f13cf5a7bb476"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Mar 10 11:31:33 2011 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 11 14:26:08 2011 -0800"
      },
      "message": "USB: ene_ub6250: fix memory leak in ene_load_bincode()\n\n\"buf\" gets allocated twice in a row.  It\u0027s the second allocation which\nis correct.  The first one should be removed.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nAcked-by: huajun li \u003chuajun.li.lee@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fbf9865c6d96f4a131092d2018056e86113e5cea",
      "tree": "ee9c5f63d8709bf50817a730360464031761fa27",
      "parents": [
        "79ad3b5add4a683af02d1b51ccb699d1b01f1fbf"
      ],
      "author": {
        "name": "Robert Morell",
        "email": "rmorell@nvidia.com",
        "time": "Wed Mar 09 16:28:57 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 11 14:22:12 2011 -0800"
      },
      "message": "USB: ehci: tegra: Align DMA transfers to 32 bytes\n\nThe Tegra2 USB controller doesn\u0027t properly deal with misaligned DMA\nbuffers, causing corruption.  This is especially prevalent with USB\nnetwork adapters, where skbuff alignment is often in the middle of a\n4-byte dword.\n\nTo avoid this, allocate a temporary buffer for the DMA if the provided\nbuffer isn\u0027t sufficiently aligned.\n\nSigned-off-by: Robert Morell \u003crmorell@nvidia.com\u003e\nSigned-off-by: Benoit Goby \u003cbenoit@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "79ad3b5add4a683af02d1b51ccb699d1b01f1fbf",
      "tree": "2204af63c3c121b2a7c3ca2556e43d665a4e760c",
      "parents": [
        "91525d084e8f078330c949362f8084b06e69fd41"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed Mar 09 16:28:56 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 11 14:22:11 2011 -0800"
      },
      "message": "usb: host: Add EHCI driver for NVIDIA Tegra SoCs\n\nThe Tegra 2 SoC has 3 EHCI compatible USB controllers. This patch adds\nthe necessary glue to allow the ehci-hcd driver to work on Tegra 2\nSoCs.\n\nThe platform data is used to configure board-specific phy settings and\nto configure the operating mode, as one of the ports may be used as a otg\nport. For additional power saving, the driver supports powering down the\nphy on bus suspend when it is used, for example, to connect an internal\ndevice that use an out-of-band remote wakeup mechanism (e.g. a gpio).\n\nSigned-off-by: Benoit Goby \u003cbenoit@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ee398ba97dd76ed53bed548dec648d918af4004c",
      "tree": "d1c040f81ba5359a60d693235eb1974b50abc058",
      "parents": [
        "d0781383038e983a63843a9a6a067ed781db89c1"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed Mar 09 16:28:54 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 11 14:22:10 2011 -0800"
      },
      "message": "usb: otg: Add ulpi viewport access ops\n\nAdd generic access ops for controllers with a ulpi viewport register\n(e.g. Chipidea/ARC based controllers).\n\nSigned-off-by: Benoit Goby \u003cbenoit@android.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d0781383038e983a63843a9a6a067ed781db89c1",
      "tree": "d9c0cd2443169bfd4a2b9fb1467791c51ee08385",
      "parents": [
        "752d57a8b7b97423bffa3452638aa0fd3c3bb9d1"
      ],
      "author": {
        "name": "wangyanqing",
        "email": "udknight@gmail.com",
        "time": "Fri Mar 11 06:24:38 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 11 14:21:17 2011 -0800"
      },
      "message": "USB: serial: ch341: add new id\n\nI picked up a new DAK-780EX(professional digitl reverb/mix system),\nwhich use CH341T chipset to communication with computer on 3/2011\nand the CH341T\u0027s vendor code is 1a86\n\nLooking up the CH341T\u0027s vendor and product id\u0027s I see:\n\n1a86  QinHeng Electronics\n  5523  CH341 in serial mode, usb to serial port converter\n\nCH341T,CH341 are the products of the same company, maybe\nhave some common hardware, and I test the ch341.c works\nwell with CH341T\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: stable \u003cstable@kernel.org\u003e\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "752d57a8b7b97423bffa3452638aa0fd3c3bb9d1",
      "tree": "e4589fb70401448c0f0393b2fdafe8f4d6923fd6",
      "parents": [
        "0dfeefbc93e38c3a9bd6d4e579cc5a76d3f13dc2"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Fri Mar 11 18:03:52 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 11 14:18:52 2011 -0800"
      },
      "message": "USB: Only treat lasting over-current conditions as errors\n\nOn a laptop I see these errors on (most) resumes:\n    hub 3-0:1.0: over-current change on port 1\n    hub 3-0:1.0: over-current change on port 2\n\nSince over-current conditions can disappear quite quickly it\u0027s better to\ndowngrade that message to debug level, recheck for an over-current\ncondition a little later and only print and over-current condition error\nif that condition (still) exists when it\u0027s rechecked.\n\nAdd similar logic to hub over-current changes. (That code is untested,\nas those changes do not occur on this laptop.)\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nAcked-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "0dfeefbc93e38c3a9bd6d4e579cc5a76d3f13dc2",
      "tree": "fbe357913fd0e0757088263602f38a3478cdcf5f",
      "parents": [
        "b88ccf6f97ceb3f34cecbb513edc58815707187d"
      ],
      "author": {
        "name": "Hubert Feurstein",
        "email": "h.feurstein@gmail.com",
        "time": "Thu Mar 10 10:06:37 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 11 14:18:52 2011 -0800"
      },
      "message": "ehci-atmel: fix section mismatch warning\n\nFix the following section mismatch warning:\n\nWARNING: drivers/usb/built-in.o(.data+0x74c): Section mismatch in reference from the variable ehci_atmel_driver to the function .init.text:ehci_atmel_drv_probe()\nThe variable ehci_atmel_driver references\nthe function __init ehci_atmel_drv_probe()\nIf the reference is valid then annotate the\nvariable with __init* or __refdata (see linux/init.h) or name the variable:\n*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,\n\nSigned-off-by: Hubert Feurstein \u003ch.feurstein@gmail.com\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "94a06b74e724caabcf0464c81527cfbcae0c8aff",
      "tree": "3570b6a627382a5eb5c8328b4959f615544d8e62",
      "parents": [
        "0dde52a9f5330eec240660191a94b51bd911ffcd",
        "9062511097683b4422f023d181b4a8b2db1a7a72"
      ],
      "author": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Thu Mar 10 18:54:14 2011 -0800"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Thu Mar 10 18:54:14 2011 -0800"
      },
      "message": "Merge branch \u0027for_2.6.39/pm-misc\u0027 of ssh://master.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into omap-for-linus\n"
    },
    {
      "commit": "3afdb0f3528991de0833224f2dba60dc061e01fa",
      "tree": "0d9c7529c6cc2b41f0df778cc396edd74699721a",
      "parents": [
        "71d8c5b11e3b5936ae6c2e0b1dd6f5c78b305b65",
        "f7fdaca910e6bc13659ecdffc28c97938b752e01"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Mar 10 13:53:29 2011 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Mar 10 13:53:29 2011 +0000"
      },
      "message": "Merge branch \u0027for-rmk\u0027 of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable\n"
    },
    {
      "commit": "b88ccf6f97ceb3f34cecbb513edc58815707187d",
      "tree": "2d038f4e029da9e90bd2c097ac1a8ea9a3aa6ea0",
      "parents": [
        "7a89e4cb9cdaba92f5fbc509945cf4e3c48db4e2"
      ],
      "author": {
        "name": "JF Argentino",
        "email": "jf.argentino@free.fr",
        "time": "Wed Mar 09 22:13:20 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 09 15:40:05 2011 -0800"
      },
      "message": "USB: serial: ftdi_sio: adding support for OLIMEX ARM-USB-OCD-H\n\nAdding support for the OLIMEX ARM-USB-OCD-H JTAG device (id 15ba:002b)\nbased on FTDI FT2232H\n\nSigned-off-by: JF Argentino \u003cjf.argentino@free.fr\u003e\nAcked-by: Johan Hovold \u003cjhovold@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7a89e4cb9cdaba92f5fbc509945cf4e3c48db4e2",
      "tree": "1c455c4663c22fccdce1688ce9885ed33d18b026",
      "parents": [
        "1f15318cdae665550746e7fcdfe5ef41bf2360af"
      ],
      "author": {
        "name": "Herton Ronaldo Krzesinski",
        "email": "herton.krzesinski@canonical.com",
        "time": "Wed Mar 09 09:19:48 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 09 15:40:05 2011 -0800"
      },
      "message": "USB: serial: option: Apply OPTION_BLACKLIST_SENDSETUP also for ZTE MF626\n\nOn https://bugs.launchpad.net/ubuntu/+source/linux/+bug/636091, one of\nthe cases reported is a big timeout on option_send_setup, which causes\nsome side effects as tty_lock is held. Looks like some of ZTE MF626\ndevices also don\u0027t like the RTS/DTR setting in option_send_setup, like\nwith 4G XS Stick W14. The reporter confirms which this it solves the\nlong freezes in his system.\n\nSigned-off-by: Herton Ronaldo Krzesinski \u003cherton.krzesinski@canonical.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1f15318cdae665550746e7fcdfe5ef41bf2360af",
      "tree": "3ac62987bd650b014feb25ba024b8e298ef4fc11",
      "parents": [
        "e27c3c5c7e0fb107990c7f465a3525312f6d45aa"
      ],
      "author": {
        "name": "Hao Wu",
        "email": "hao.wu@intel.com",
        "time": "Wed Mar 09 12:41:08 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 09 15:40:04 2011 -0800"
      },
      "message": "USB OTG Langwell: use simple IPC command to control VBus power.\n\nDirect access to PMIC register is not safe and will impact battery\ncharging. New IPC command supported in SCU FW for VBus power control.\nUSB OTG driver will switch to such commands instead of direct access\nto PMIC register for safety and SCU FW will handle the actual work\nafter got the request(IPC command).\n\nDue to this change, usb driver should wait more time for sync OTGSC\nwith USBCFG by SCU. Update wait time from 2ms to 5ms.\n\nSigned-off-by: Hao Wu \u003chao.wu@intel.com\u003e\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "41e568d14ec0aca1b2bb19563517aad3b06d6805",
      "tree": "e1c9e5a384bb0ae1909ab373b13d127ef0f0b0de",
      "parents": [
        "153775d94899503f5f66baaa9751a43c74d4f371"
      ],
      "author": {
        "name": "huajun li",
        "email": "huajun.li.lee@gmail.com",
        "time": "Fri Mar 04 10:56:18 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 07 13:40:59 2011 -0800"
      },
      "message": "Staging: Merge ENE UB6250 SD card codes from keucr to drivers/usb/storage\n\nThe usb portion of this driver can now go into drivers/usb/storage.\nThis leaves the non-usb portion of the code still in staging.\n\nSigned-off-by: Huajun Li \u003chuajun.li.lee@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a74022a55e44fe2044ac3660452cafecb300aece",
      "tree": "ebff5a97a61c4e5762a042a515459469993ed7e1",
      "parents": [
        "09173b589d547c002b6a2b560e150c4d7bb56c99"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Mon Mar 07 08:41:59 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 07 12:23:22 2011 -0800"
      },
      "message": "USB: s3c2410_udc: Add common implementation for GPIO controlled pullups\n\nCurrently all boards using the s3c2410_udc driver use a GPIO to control the\nstate of the pullup, as a result the same code is reimplemented in each board\nfile.\nThis patch adds support for using a GPIO to control the pullup state to the udc\ndriver, so the boards can use a common implementation.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fa417c369b48a8f7acaf9aba1ff94b0969b0cb7e",
      "tree": "2e63e36a0f16aa24770988c544150adb024133b0",
      "parents": [
        "dfb2130c453c2c6d36b5e0f39eca289cbdbb631d"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Thu Mar 03 21:10:05 2011 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 07 12:15:21 2011 -0800"
      },
      "message": "USB: OHCI: use pci_dev-\u003erevision\n\nCommit ab1666c1364a209e6141d7c14e47a42b5f00eca2 (USB: quirk PLL power down mode)\nadded code that reads the revision ID from the PCI configuration register while\nit\u0027s stored by PCI subsystem in the \u0027revision\u0027 field of \u0027struct pci_dev\u0027...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "dfb2130c453c2c6d36b5e0f39eca289cbdbb631d",
      "tree": "c1bf393818c782c06b968c9a3a8a595df1de42c8",
      "parents": [
        "d3cf2a8d4ddd121dbf4ad48c995648af04e0cfbf"
      ],
      "author": {
        "name": "Pavankumar Kondeti",
        "email": "pkondeti@codeaurora.org",
        "time": "Fri Mar 04 22:45:02 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 07 12:15:21 2011 -0800"
      },
      "message": "USB: Rename \"msm72k_otg.c\" to \"msm_otg.c\"\n\nThis driver is used across all MSM SoCs.  Hence give a generic name.\nAll Functions and strutures are also using \"msm_otg\" as prefix.\n\nSigned-off-by: Pavankumar Kondeti \u003cpkondeti@codeaurora.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d3cf2a8d4ddd121dbf4ad48c995648af04e0cfbf",
      "tree": "2398d52e4bfaa3035e114a39618a1d3cd841daac",
      "parents": [
        "9b37596a2e860404503a3f2a6513db60c296bfdc"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Mon Mar 07 15:36:21 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 07 12:14:07 2011 -0800"
      },
      "message": "usb/isp1760: Fix crash when unplugging bug\n\nThis fixes a problem with my previous patch series where there\u0027s a great\nrisk that the kernel will crash when unplugging interrupt devices from\nthe USB port. These lines must have got missing when I rebased the\npatches from the older kernel I was working with to 2.6.37 and 2.6-next:\n\nThis fixes a bug where the kernel may crash if you unplug a USB device\nthat has active interrupt transfers.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "9b37596a2e860404503a3f2a6513db60c296bfdc",
      "tree": "f47f8e38895d0ce9db252328f686482bad79716f",
      "parents": [
        "e4738e29bef8ed9bdd8a0606d0561557b4547649"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Mon Mar 07 11:11:52 2011 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 07 12:14:06 2011 -0800"
      },
      "message": "USB: move usbcore away from hcd-\u003estate\n\nThe hcd-\u003estate variable is a disaster.  It\u0027s not clearly owned by\neither usbcore or the host controller drivers, and they both change it\nfrom time to time, potentially stepping on each other\u0027s toes.  It\u0027s\nnot protected by any locks.  And there\u0027s no mechanism to prevent it\nfrom going through an invalid transition.\n\nThis patch (as1451) takes a first step toward fixing these problems.\nAs it turns out, usbcore uses hcd-\u003estate for essentially only two\nthings: checking whether the controller\u0027s root hub is running and\nchecking whether the controller has died.  Therefore the patch adds\ntwo new atomic bitflags to the hcd structure, to store these pieces of\ninformation.  The new flags are used only by usbcore, and a private\nspinlock prevents invalid combinations (a dead controller\u0027s root hub\ncannot be running).\n\nThe patch does not change the places where usbcore sets hcd-\u003estate,\nsince HCDs may depend on them.  Furthermore, there is one place in\nusb_hcd_irq() where usbcore still must use hcd-\u003estate: An HCD\u0027s\ninterrupt handler can implicitly indicate that the controller died by\nsetting hcd-\u003estate to HC_STATE_HALT.  Nevertheless, the new code is a\nbig improvement over the current code.\n\nThe patch makes one other change.  The hcd_bus_suspend() and\nhcd_bus_resume() routines now check first whether the host controller\nhas died; if it has then they return immediately without calling the\nHCD\u0027s bus_suspend or bus_resume methods.\n\nThis fixes the major problem reported in Bugzilla #29902: The system\nfails to suspend after a host controller dies during system resume.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Alex Terekhov \u003ca.terekhov@gmail.com\u003e\nCC: \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c23eb89ef71cda127cfcfee84292cb2fb5747d4d",
      "tree": "0b4a9d7f9a5cec64d6a59b33f3c0913b7a5c6c2e",
      "parents": [
        "76851671287209759f63c090ffaffca56ba00358"
      ],
      "author": {
        "name": "Richard Zhao",
        "email": "richard.zhao@freescale.com",
        "time": "Thu Mar 03 16:40:03 2011 +0800"
      },
      "committer": {
        "name": "Sascha Hauer",
        "email": "s.hauer@pengutronix.de",
        "time": "Mon Mar 07 19:29:43 2011 +0100"
      },
      "message": "ARM: imx3x: clean up ARCH_MX3X\n\nMove to SOC_SOC_IMX3X.\nLeave ARCH_MX31/35 definitions there, in case some place prevent multi-soc\nsingle image.\n\nSigned-off-by: Richard Zhao \u003crichard.zhao@freescale.com\u003e\nAcked-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nSigned-off-by: Sascha Hauer \u003cs.hauer@pengutronix.de\u003e\n"
    },
    {
      "commit": "4438a02fc4956f5f61918095708f183f5c63a9d3",
      "tree": "cc37b89534e3679d8e4e9c95935d040758a9de74",
      "parents": [
        "fb4b10ab5fadcf5012983e4306aec3131b808b1b",
        "4cd72c6e72e8a36a975decb53d70086008f386db"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:43:15 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 03 15:43:15 2011 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)\n  MAINTAINERS: Add Andy Gospodarek as co-maintainer.\n  r8169: disable ASPM\n  RxRPC: Fix v1 keys\n  AF_RXRPC: Handle receiving ACKALL packets\n  cnic: Fix lost interrupt on bnx2x\n  cnic: Prevent status block race conditions with hardware\n  net: dcbnl: check correct ops in dcbnl_ieee_set()\n  e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup instead\n  igb: fix sparse warning\n  e1000: fix sparse warning\n  netfilter: nf_log: avoid oops in (un)bind with invalid nfproto values\n  dccp: fix oops on Reset after close\n  ipvs: fix dst_lock locking on dest update\n  davinci_emac: Add Carrier Link OK check in Davinci RX Handler\n  bnx2x: update driver version to 1.62.00-6\n  bnx2x: properly calculate lro_mss\n  bnx2x: perform statistics \"action\" before state transition.\n  bnx2x: properly configure coefficients for MinBW algorithm (NPAR mode).\n  bnx2x: Fix ethtool -t link test for MF (non-pmf) devices.\n  bnx2x: Fix nvram test for single port devices.\n  ...\n"
    },
    {
      "commit": "12d7d4e0ed8fecf7f74c89483b55b300be6e5901",
      "tree": "f573761ac752ff04ec445e23aef50adadda49790",
      "parents": [
        "aca6ad073ea820776bf5bdb87cf82eace35042c8",
        "790ab7e92bec24aee3939b300d36b99ab2e3f3ca"
      ],
      "author": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Mar 02 17:07:14 2011 -0800"
      },
      "committer": {
        "name": "Tony Lindgren",
        "email": "tony@atomide.com",
        "time": "Wed Mar 02 17:07:14 2011 -0800"
      },
      "message": "Merge branch \u0027devel-cleanup\u0027 into omap-for-linus\n\nConflicts:\n\tarch/arm/mach-omap2/timer-gp.c\n"
    },
    {
      "commit": "e4738e29bef8ed9bdd8a0606d0561557b4547649",
      "tree": "ac7e36d66314a3e86b5e57bf1acf6a6e3e67653e",
      "parents": [
        "2cd5bb29a42f305c5749571c8cd693fbe69cc28d"
      ],
      "author": {
        "name": "Huzaifa Sidhpurwala",
        "email": "huzaifas@redhat.com",
        "time": "Wed Mar 02 11:59:26 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 02 19:52:30 2011 -0500"
      },
      "message": "USB: Remove unused timeout from io_edgeport.c\n\ntimeout variable is not used anywhere in int write_cmd_usb, remove it\n\nSigned-off-by: Huzaifa Sidhpurwala \u003chuzaifas@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "2cd5bb29a42f305c5749571c8cd693fbe69cc28d",
      "tree": "f64e1655ab211609bfe0cf4f020a906ed7477f06",
      "parents": [
        "5af9a6eb376bf7a9da738a56c01206e6d7e4a1b1"
      ],
      "author": {
        "name": "Huzaifa Sidhpurwala",
        "email": "huzaifas@redhat.com",
        "time": "Wed Mar 02 11:53:00 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 02 19:52:29 2011 -0500"
      },
      "message": "USB: Remove unused is_iso from fsl_udc_core.c\n\nis_iso variable is not used anywhere, remove it\n\nSigned-off-by: Huzaifa Sidhpurwala \u003chuzaifas@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "5af9a6eb376bf7a9da738a56c01206e6d7e4a1b1",
      "tree": "6e78cfa5c4c80d4f45905289fffc7d7195ca454a",
      "parents": [
        "45d1b7ae205e39e95ec65747f8871661aaa105e4"
      ],
      "author": {
        "name": "Huzaifa Sidhpurwala",
        "email": "huzaifas@redhat.com",
        "time": "Wed Mar 02 11:17:49 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 02 19:52:29 2011 -0500"
      },
      "message": "USB: Remove delay_t unused variable from sierra_ms.c driver initialisation code\n\ntrivial patch to remove unused delay_t varible\n\nSigned-off-by: Huzaifa Sidhpurwala \u003chuzaifas@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "45d1b7ae205e39e95ec65747f8871661aaa105e4",
      "tree": "f7c5e20394c4df1c7e062ade6e76026f2e8c1356",
      "parents": [
        "962f3ffa927f2e777a4193843c45ffa6e52ff4b6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Tue Mar 01 22:40:57 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 02 19:52:29 2011 -0500"
      },
      "message": "usb-gadget: fix warning in ethernet\n\nDriver was taking max() of a size_t and u32 which causes complaint\nabout comparison of different types.\n\nStumbled on this accidently in my config, never used.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "962f3ffa927f2e777a4193843c45ffa6e52ff4b6",
      "tree": "c28bc6eb94b6e4d4de5a4e918b7cf170f4e2485f",
      "parents": [
        "60b0bf0f11a02a6c288c7a923b2521aa7cfdc6c3"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Wed Mar 02 20:35:28 2011 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 02 19:52:28 2011 -0500"
      },
      "message": "wusb: fix find_first_zero_bit() return value check\n\nIn wusb_cluster_id_get(), if no zero bits exist in wusb_cluster_id_table,\nfind_first_zero_bit() returns CLUSTER_IDS.\n\nBut it is impossible to detect that the bitmap is full because there\nis an off-by-one error in the return value check.  It will cause\nunexpected memory access by setting bit out of wusb_cluster_id_table\nbitmap, and caller will get wrong cluster id.\n\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nCc: linux-usb@vger.kernel.org\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "337fc720d85b98a71b1ff6e3a5449a24a7c33cfe",
      "tree": "19e145665b8ed4d2da67cb4f076b33f1d059db0c",
      "parents": [
        "dd9c1549edef02290edced639f67b54a25abbe0e"
      ],
      "author": {
        "name": "Michal Simek",
        "email": "monstr@monstr.eu",
        "time": "Mon Feb 14 11:40:09 2011 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Mar 02 13:45:18 2011 -0700"
      },
      "message": "of: Add missing of_address.h to xilinx ehci driver\n\nBuild log:\nIn file included from drivers/usb/host/ehci-hcd.c:1208:\ndrivers/usb/host/ehci-xilinx-of.c: In function \u0027ehci_hcd_xilinx_of_probe\u0027:\ndrivers/usb/host/ehci-xilinx-of.c:168: error: implicit declaration of function \u0027of_address_to_resource\u0027\n\nSigned-off-by: John Williams \u003cjohn.williams@petalogix.com\u003e\nSigned-off-by: Michal Simek \u003cmonstr@monstr.eu\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "60b0bf0f11a02a6c288c7a923b2521aa7cfdc6c3",
      "tree": "33f751ced166fdce75efa89b3b4f9e80b178e009",
      "parents": [
        "ad93562bdeecdded7d02eaaaf1aa5705ab57b1b7"
      ],
      "author": {
        "name": "Yoshihiro Shimoda",
        "email": "yoshihiro.shimoda.uh@renesas.com",
        "time": "Tue Mar 01 16:58:37 2011 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 01 16:01:46 2011 -0500"
      },
      "message": "usb: EHCI, OHCI: Add configuration for the SH USB controller\n\nThe SH EHCI/OHCI driver hardcoded the CPU type in {ehci,ohci}-hcd.c.\nSo if we will add the new CPU, we had to add to the hcd driver each time.\nThe patch adds the CONFIG_USB_{EHCI,OHCI}_SH configuration. So if we\nwant to use the SH EHCI/OHCI, we only enable the configuration.\n\nSigned-off-by: Yoshihiro Shimoda \u003cyoshihiro.shimoda.uh@renesas.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ad93562bdeecdded7d02eaaaf1aa5705ab57b1b7",
      "tree": "92bd220ce673a8260fb4cb4799024529af664208",
      "parents": [
        "53689ac1b677532be666a779e24b0ac9bd266354"
      ],
      "author": {
        "name": "Andiry Xu",
        "email": "andiry.xu@amd.com",
        "time": "Tue Mar 01 14:57:05 2011 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 01 16:01:45 2011 -0500"
      },
      "message": "USB host: Move AMD PLL quirk to pci-quirks.c\n\nThis patch moves the AMD PLL quirk code in OHCI/EHCI driver to pci-quirks.c,\nand exports the functions to be used by xHCI driver later.\n\nAMD PLL quirk disable the optional PM feature inside specific\nSB700/SB800/Hudson-2/3 platforms under the following conditions:\n\n1. If an isochronous device is connected to OHCI/EHCI/xHCI port and is active;\n2. Optional PM feature that powers down the internal Bus PLL when the link is\n   in low power state is enabled.\n\nWithout AMD PLL quirk, USB isochronous stream may stutter or have breaks\noccasionally, which greatly impair the performance of audio/video streams.\n\nCurrently AMD PLL quirk is implemented in OHCI and EHCI driver, and will be\nadded to xHCI driver too. They are doing similar things actually, so move\nthe quirk code to pci-quirks.c, which has several advantages:\n\n1. Remove duplicate defines and functions in OHCI/EHCI (and xHCI) driver and\n   make them cleaner;\n2. AMD chipset information will be probed only once and then stored.\n   Currently they\u0027re probed during every OHCI/EHCI initialization, move\n   the detect code to pci-quirks.c saves the repeat detect cost;\n3. Build up synchronization among OHCI/EHCI/xHCI driver. In current\n   code, every host controller enable/disable PLL only according to\n   its own status, and may enable PLL while there is still isoc transfer on\n   other HCs. Move the quirk to pci-quirks.c prevents this issue.\n\nSigned-off-by: Andiry Xu \u003candiry.xu@amd.com\u003e\nCc: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nCc: Alex He \u003calex.he@amd.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "19403165c272cc4ed00c97973e7271714b009708",
      "tree": "9f0923ec4d4514b9a9d615d5ca8d3d0bb0e881ce",
      "parents": [
        "3b68ae73d8afa925807ebaae7eb14e2afd43f5b5"
      ],
      "author": {
        "name": "Keshava Munegowda",
        "email": "keshava_mgowda@ti.com",
        "time": "Tue Mar 01 20:08:21 2011 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 17:02:49 2011 +0200"
      },
      "message": "usb: host: omap: ehci and ohci simplification\n\nThe ehci and ohci drivers are simplified; Since\nUHH and TLL initialization, clock handling are\ndone by common usbhs core driver, these functionalities\nare removed from ehci and ohci drivers.\n\nSigned-off-by: Keshava Munegowda \u003ckeshava_mgowda@ti.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "181b250cf53233a7a7c6d7e1e9df402506712e93",
      "tree": "476b60593f7b646bdc1e0d56cd38368bed31fe4d",
      "parents": [
        "a8480ea0bedbf049423a4caa9b09d371614c07dc"
      ],
      "author": {
        "name": "Keshava Munegowda",
        "email": "keshava_mgowda@ti.com",
        "time": "Tue Mar 01 20:08:16 2011 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 17:01:11 2011 +0200"
      },
      "message": "arm: omap: usb: create common enums and structures for ehci and ohci\n\nCreate the ehci and ohci specific platform data structures.\nThe port enum values are made common for both ehci and ohci.\n\nSigned-off-by: Keshava Munegowda \u003ckeshava_mgowda@ti.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "09f0607d8be62469a9b33034c8d3def9a5c7cbb7",
      "tree": "5b73bdcf3133ff598b7b059839e24630c2359266",
      "parents": [
        "a9031e5f0b82225ea676d729d68beb6c69799a67"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 20:08:14 2011 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 17:00:58 2011 +0200"
      },
      "message": "usb: host: omap: switch to platform_get_resource_byname\n\nnow that we have names on all memory bases, we can\nswitch to use platform_get_resource_byname() which\nwill make it simpler when we move to a setup where\nOHCI and EHCI on OMAP play well together.\n\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "87ecc73b3d74ca70100e7100313c005fa471f177",
      "tree": "18762ed9b092982b196aa0c5681d01cb80e2e1ab",
      "parents": [
        "c88ba39c1ea6a1591b6842199069ff50748d2073"
      ],
      "author": {
        "name": "Anand Gadiyar",
        "email": "gadiyar@ti.com",
        "time": "Wed Feb 16 15:43:14 2011 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 17:00:56 2011 +0200"
      },
      "message": "usb: ehci: omap: add support for TLL mode on OMAP4\n\nThe EHCI controller in OMAP4 supports a transceiver-less link\nmode (TLL mode), similar to the one in OMAP3. On the OMAP4\nhowever, there are an additional set of clocks that need\nto be turned on to get this working.\n\nRequest and configure these for each port if that port\nis connected in TLL mode.\n\nSigned-off-by: Anand Gadiyar \u003cgadiyar@ti.com\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "c88ba39c1ea6a1591b6842199069ff50748d2073",
      "tree": "affac446cabe2ff46063ab0eec1c754a8d166a51",
      "parents": [
        "70045c57f31f998a7206baa81167c7bc9f452cef"
      ],
      "author": {
        "name": "Huzaifa Sidhpurwala",
        "email": "huzaifas@redhat.com",
        "time": "Tue Mar 01 15:54:22 2011 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 12:35:23 2011 +0200"
      },
      "message": "usb: musb: tusb: Fix possible null pointer dereference in tusb6010_omap.c\n\ntusb_dma was being dereferenced when it was nul\n\nSigned-off-by: Huzaifa Sidhpurwala \u003chuzaifas@redhat.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "70045c57f31f998a7206baa81167c7bc9f452cef",
      "tree": "b5be423069598a12f2097f87cb55fb8a713c8569",
      "parents": [
        "fb91cde49c327ff957c55d91805bc6abda59b311"
      ],
      "author": {
        "name": "Hema HK",
        "email": "hemahk@ti.com",
        "time": "Mon Feb 28 15:05:29 2011 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 12:23:03 2011 +0200"
      },
      "message": "usb: musb: OMAP3xxx: Fix device detection in otg \u0026 host mode\n\nIn OMAP3xxx with OTG mode or host only mode, When the device\nis inserted after the gadget driver loading the enumeration was not\nthrough. This is because the mentor controller will start sensing the\nID PIN only after setting the session bit.\nSo after ID-GND, need to set the session bit for mentor to get it\nconfigured as A device.\n\nThis is a fix to set the session bit again in ID_GND notification handler.\nTested with OMAP3630Zoom3 platform.\n\nSigned-off-by: Hema HK \u003chemahk@ti.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "37db3af11f02c2ccdf44a788694da16062a0333c",
      "tree": "cbea9ecba330fa6858177f2752a173991b60690a",
      "parents": [
        "7acc6197b76edd0b932a7cbcc6cfad0a8a87f026"
      ],
      "author": {
        "name": "Hema HK",
        "email": "hemahk@ti.com",
        "time": "Mon Feb 28 14:19:32 2011 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 11:35:27 2011 +0200"
      },
      "message": "usb: otg: TWL4030: Update the last_event variable.\n\nUpdate the last_event variable of otg_transceiver. This will be used in\nthe musb platform glue driver for runtime idling the device.\n\nSigned-off-by: Hema HK \u003chemahk@ti.com\u003e\nCc: Felipe Balbi \u003cbalbi@ti.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "7acc6197b76edd0b932a7cbcc6cfad0a8a87f026",
      "tree": "a8d2d259791cf0cb236eab4a1c9c17ce19a85bac",
      "parents": [
        "da68ccec210c45eb99e461ad31b499b4e7043c41"
      ],
      "author": {
        "name": "Hema HK",
        "email": "hemahk@ti.com",
        "time": "Mon Feb 28 14:19:34 2011 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 11:35:12 2011 +0200"
      },
      "message": "usb: musb: Idle path retention and offmode support for OMAP3\n\nThis patch supports the retention and offmode support in the idle path for\nmusb driver using runtime pm APIs.\n\nThis is restricted to support offmode and retention only when device not\nconnected.When device/cable connected with gadget driver loaded,configured\nto no idle/standby which will not allow the core transition to retention\nor off.\n\nThere is no context save/restore done by hardware for musb in OMAP3\nand OMAP4,driver has to take care of saving and restoring the context\nduring offmode.\n\nMusb has a requirement of configuring sysconfig register to force\nidle/standby mode and set the ENFORCE bit in module STANDBY register\nfor retention and offmode support.\n\nRuntime pm and hwmod frameworks will take care of configuring to force\nidle/standby when pm_runtime_put_sync is called and back to no\nidle/standby when pm_runeime_get_sync is called.\n\nCompile, boot tested and also tested the retention in the idle path on\nOMAP3630Zoom3. And tested the global suspend/resume with offmode enabled.\nUsb basic functionality tested on OMAP4430SDP.\n\nThere is some problem with idle path offmode in mainline, I could not test\nwith offmode. But I have tested this patch with resetting the controller\nin the idle path when wakeup from retention just to make sure that the\ncontext is lost, and restore path is working fine.\n\nRemoved .suspend/.resume fnction pointers and functions because there\nis no need of having these functions as all required work is done\nat runtime in the driver.\n\nThere is no need to call the runtime pm api with glue driver device\nas glue layer device is the parent of musb core device, when runtime apis\nare called for the child, parent device runtime functionality\nwill be invoked.\n\nDesign overview:\n\npm_runtime_get_sync: When called with musb core device takes care of\nenabling the clock, calling runtime callback function of omap2430 glue\nlayer, runtime call back of musb driver and configure the musb sysconfig\nto no idle/standby\n\npm_runtime_put: Takes care of calling runtime callback function of omap2430\nglue layer, runtime call back of musb driver, Configure the musb sysconfig\nto force idle/standby and disable the clock.\n\nDuring musb driver load: Call pm_runtime_get_sync.\n\nEnd of musb driver load: Call pm_runtime_put\n\nDuring gadget driver load: Call pm_runtime_get_sync,\nEnd of gadget driver load: Call pm_runtime_put if there is no device\nor cable is connected.\n\nDuring unload of the gadget driver:Call pm_runtime_get_sync if cable/device\nis not connected.\nEnd of the gadget driver unload : pm_runtime_put\n\nDuring unload of musb driver : Call pm_runtime_get_sync\nEnd of unload: Call pm_runtime_put\n\nOn connect of usb cable/device -\u003e transceiver notification(VBUS and ID-GND):\npm_runtime_get_sync only if the gadget driver loaded.\n\nOn disconnect of the cable/device -\u003e Disconnect Notification:\npm_runtime_put if the gadget driver is loaded.\n\nSigned-off-by: Hema HK \u003chemahk@ti.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "da68ccec210c45eb99e461ad31b499b4e7043c41",
      "tree": "cd86514205d9348b4a3c2fdda5d1ef2ce44cd3b1",
      "parents": [
        "4cbbf084436caddeb815534df4ebaa018c970196"
      ],
      "author": {
        "name": "Hema HK",
        "email": "hemahk@ti.com",
        "time": "Mon Feb 28 14:19:33 2011 +0530"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 11:35:11 2011 +0200"
      },
      "message": "usb: musb: Remove platform context save/restore API\n\nFor OMAP3 and OMAP4 for offmode and retention support, musb\nsysconfig is configured to force idle and standby with ENABLE_FORCE bit\nof OTG_FORCESTNDBY set.\nAnd on wakeup configure to no ilde/standby with resetting the ENABLE_FORCE\nbit. There is not need to save and restore of this register anymore\nso removed omap2430_save_context/omap2430_restore_context functions.\nand also removed otg_forcestandby member of musb_context_registers\nstructure\n\nSigned-off-by: Hema HK \u003chemahk@ti.com\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "4cbbf084436caddeb815534df4ebaa018c970196",
      "tree": "d7c94d931b0ef9109da136a4c44bda603d0d6ecb",
      "parents": [
        "d105e74eff7f8197b4d8e104e347ffbc5c3989b8"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Mon Feb 28 10:44:50 2011 +0200"
      },
      "committer": {
        "name": "Felipe Balbi",
        "email": "balbi@ti.com",
        "time": "Tue Mar 01 11:34:55 2011 +0200"
      },
      "message": "usb: musb: gadget: fix list_head usage\n\ncommit ad1adb89a0d9410345d573b6995a1fa9f9b7c74a\n(usb: musb: gadget: do not poke with gadget\u0027s list_head)\nfixed a bug in musb where it was corrupting the list_head\nwhich is supposed to be used by gadget drivers. While\ndoing that, I forgot to fix the usage in musb_gadget_dequeue()\nmethod. Fix that.\n\nReported-by: Pavol Kurina \u003cpavol.kurina@emsys.de\u003e\nSigned-off-by: Felipe Balbi \u003cbalbi@ti.com\u003e\n"
    },
    {
      "commit": "6960f40a954619857e7095a6179eef896f297077",
      "tree": "57d7c5e0177399c5aa92bec9b1510dfcc6b2d684",
      "parents": [
        "f7d7aedfcd4e20e7dfc7356d30cc22dc0b0f493e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Feb 28 10:34:06 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 28 19:24:54 2011 -0800"
      },
      "message": "USB: serial/kobil_sct, fix potential tty NULL dereference\n\nMake sure that we check the return value of tty_port_tty_get.\nSometimes it may return NULL and we later dereference that.\n\nThe only place here is in kobil_read_int_callback, so fix it.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f7d7aedfcd4e20e7dfc7356d30cc22dc0b0f493e",
      "tree": "69b2b977e5900de9e5a5a2b934ecadc7b0ccbf33",
      "parents": [
        "7adc14b14b43b6ca9f2f00ac7a4780577dbe883b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Feb 28 10:34:05 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 28 19:24:54 2011 -0800"
      },
      "message": "USB: serial/keyspan_pda, fix potential tty NULL dereferences\n\nMake sure that we check the return value of tty_port_tty_get.\nSometimes it may return NULL and we later dereference that.\n\nThere are several places to check. For easier handling,\ntty_port_tty_get is moved directly to the palce where needed in\nkeyspan_pda_rx_interrupt.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "7adc14b14b43b6ca9f2f00ac7a4780577dbe883b",
      "tree": "d878823dd8c7c72d1f934612d90f4512f11d7a38",
      "parents": [
        "65f1b5255ce0e657e4d8de92098837d36831320a"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sat Feb 26 22:08:47 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 28 19:23:39 2011 -0800"
      },
      "message": "usb/isp1760: Handle toggle bit in queue heads only\n\nRemove redundant \"toggle\" member from struct isp1760_qtd, and store toggle\nstatus in struct isp1760_qh only.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "65f1b5255ce0e657e4d8de92098837d36831320a",
      "tree": "ccb5d598233a24c53d0a8303faae4bb7a2acf208",
      "parents": [
        "6bda21bc0941c11f07cbf436ff6ca85e7e6e47f0"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sat Feb 26 22:07:35 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 28 19:23:38 2011 -0800"
      },
      "message": "usb/isp1760: Replace period calculation for INT packets with something readable\n\nReplace the period calculation for INT packets with something readable. Seems\nto fix a rare bug with quickly repeated insertion/removal of several USB\ndevices simultaneously (hub control INT packets).\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6bda21bc0941c11f07cbf436ff6ca85e7e6e47f0",
      "tree": "f0a871bace736393a9bbdd03dcfac80fe4ab601a",
      "parents": [
        "bbaa387674b65a2f784631cc4c87c77ec9d3374e"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sat Feb 26 22:06:37 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 28 19:23:38 2011 -0800"
      },
      "message": "usb/isp1760: Consolidate printouts and remove unused code\n\nConsolidate printouts to use dev_XXX functions instead of an assortment of\nprintks and driver specific macros. Remove some unused code snippets and struct\nmembers. Remove some unused function parameters and #defines. Change the\n\"queue_entry\" variable name which has different but related meanings in\ndifferent places and use \"slot\" only.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bbaa387674b65a2f784631cc4c87c77ec9d3374e",
      "tree": "545540742b6c8928acadadec905309924dbe58cf",
      "parents": [
        "a041d8e4375ee6d78409a721221878dcad5eff8a"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sat Feb 26 22:05:26 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 28 19:23:37 2011 -0800"
      },
      "message": "usb/isp1760: Remove redundant \"data_buffer\" member from struct inter_packet_info\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a041d8e4375ee6d78409a721221878dcad5eff8a",
      "tree": "9749f4c0e373aace706ac037b2b535e1427ba31a",
      "parents": [
        "fd436aee97d157ff6441e7aaff2a2dc802765b5b"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sat Feb 26 22:04:40 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 28 19:23:37 2011 -0800"
      },
      "message": "usb/isp1760: Clean up payload address handling\n\nEncapsulate payload addresses within qtds.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fd436aee97d157ff6441e7aaff2a2dc802765b5b",
      "tree": "84f6b909856181d463db97b309bc1974580ad916",
      "parents": [
        "bedc0c31ac3db828e6ade7a8c5cb708688f0a7e1"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sat Feb 26 22:03:49 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 28 19:23:36 2011 -0800"
      },
      "message": "usb/isp1760: Remove redundant variables and defines\n\nRemoves the redundant hw_next list pointer from struct isp1760_qtd, removes some\nunused #defines, removes redundant \"urb\" member from struct inter_packet_info.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "bedc0c31ac3db828e6ade7a8c5cb708688f0a7e1",
      "tree": "4d673769f7cc5a7fac603cd3822f644d650c3096",
      "parents": [
        "6d42fcdb685e3b7af45c77181537db4bc1a715f9"
      ],
      "author": {
        "name": "Arvid Brodin",
        "email": "arvid.brodin@enea.com",
        "time": "Sat Feb 26 22:02:57 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Feb 28 19:23:36 2011 -0800"
      },
      "message": "usb/isp1760: Move to native-endian ptds\n\nThis helps users with platform-bus-connected isp176xs, big-endian cpu,\nand missing byteswapping on the data bus. It does so by collecting all\nSW byteswaps in one place and also fixes a bug with non-32-bit io\ntransfers on this hardware, where payload has to be byteswapped\ninstead of ptds.\n\nSigned-off-by: Arvid Brodin \u003carvid.brodin@enea.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ],
  "next": "6d42fcdb685e3b7af45c77181537db4bc1a715f9"
}
