Squashed commit of the following:

commit 6d33897d46c00114610f4cbcf56f63427f6b86a9
Author: Ido Shayevitz <idos@codeaurora.org>
Date:   Wed Jan 9 14:49:59 2013 +0200

    USB: HSIC: Fix setting of strobe and data gpios for HSIC host

    Since the following commit I3e8828ddc232936df3e21c8e1158af92b16996a2
    the ehci msm hsic host driver read device tree settings as the strobe
    and the data gpios. In case that these gpios not exists in the device
    tree the return value is negative. The return value was assigned to
    unsigned variables, therefore the driver assumes that there are
    such gpios.
    This fix handles correctly the return value of the of_get_named_gpio.

    Change-Id: Ia5dde57cc36438b977791df658375e0946123096
    Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 293ff55b6487d5f824dd1f92e2a4740872bad690
Author: Jack Pham <jackp@codeaurora.org>
Date:   Thu Aug 30 19:06:24 2012 -0700

    usb: misc: Avoid excessive logging during disconnect

    When the device is in the midst of being disconnected, calls to
    usb_autopm_get_interface() may fail, and a ERR-level message is
    printed. Callers of such I/O functions may repeatedly try calling
    again, and could end up flooding the console leading to a watchdog
    timeout. Replace these printks with DBG-level messages since the
    device disconnection is normal and the errors they indicate are
    usually benign.

    CRs-fixed: 394256
    Change-Id: Icf9000faa9001832734ff9c64cd903b375cc2017
    Signed-off-by: Jack Pham <jackp@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 43d6bac89bf799bef7f772a1c9d9e51a2f3fb545
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Fri Aug 24 19:42:31 2012 -0700

    usb: ks_bridge: Fix memory leaks in the driver

    This change addresses two memory leaks:-
    1) misc device is not getting deregistered during device
    disconnect. Hence call misc_deregister() in disconnect.

    2) Driver returns without freeing previous instances of
    the driver data structure if memory allocation fails. Hence
    free up memory allocated for ks_bridge structure.

    Change-Id: I90133a002aa9d38597de8d1b21d3aad621552d46
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 115edfc2c21d0710392ba5abe846b9c49f4d3bae
Author: Ofir Cohen <ofirc@codeaurora.org>
Date:   Sun Dec 23 13:41:57 2012 +0200

    usb: ehci-msm-hsic: Add asynchronous reset to HSIC

    Add support for asynchronous block reset to the HSIC hardware.
    In platforms that uses an asynchronous reset methodology,
    the HSIC alt_core_clk is not presented.

    Change-Id: I0dc0e1bf294260a5530e01660d970cc939a9dbec
    Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit facef861960c8b544e977971111403c684a7c0b5
Author: Manu Gautam <mgautam@codeaurora.org>
Date:   Wed Nov 21 14:30:04 2012 +0530

    USB: HSIC: Add support for HSIC core and SMSC HUB using DT

    Add device tree support in SMSC HUB driver which also registers
    platform_device for HSIC as its child. This allows SMSC HUB driver
    to turn OFF clocks for power savings after HSIC is suspended.
    Also add support for SMSC HUB to use dedicated clock as ref_clk
    instead of XO.

    Change-Id: I3e8828ddc232936df3e21c8e1158af92b16996a2
    Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit fc2a50fe00aeb66ccebc2509abbeafcb6d7450db
Author: Ofir Cohen <ofirc@codeaurora.org>
Date:   Wed Nov 14 11:18:50 2012 +0200

    usb: ehci-msm-hsic: Change HSIC reset sequence

    Due to USB HW changes, RST CMD resets CSC/CCS fields in PORTSC
    and PCI bit in USBSTS. Therefore HSIC reset sequence should be
    changed to avoid case that the device was powered up before the
    host and due to a RST CMD the host will miss that the device is
    connected.

    CRs-Fixed: 417642
    Change-Id: I2b1fb2a92658058d70ccc6cb5f73174ce4128b72
    Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit a4b8da2d26aecc1d0716a0c4d39e6130a197e12a
Author: Ofir Cohen <ofirc@codeaurora.org>
Date:   Tue Nov 20 11:17:24 2012 +0200

    usb: ehci-msm-hsic: Add support in device tree to MSM HSIC host

    Add support in device tree to MSM HSIC host including support in
    GDSC (Global Distributed Switch Controller) for new platforms.

    Change-Id: I6b0df0eabb03278b97b2b69f9fcdc2ef3806ba0b
    Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit c707a6153d544caeaf049b6db26ee42a79d4e5f6
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Wed Oct 17 13:48:10 2012 -0700

    EHCI: HSIC: Add support to vote for SVS digital voltage

    HSIC HW can operate at SVS digital voltage when it is active.
    Currently HSIC is voting for 120Mhz SFAB and 64Mhz DFAB clock
    frequencies. Clock frequencies are directly proportional to SVS
    voltage. If DFAB is running at 64Mhz or SFAB is running at 120Mhz
    or higher SVS is not possible even though HSIC votes for it. Hence
    do not vote for SFAB clock frequency and only vote for 32Mhz for
    DFAB in order to allow SVS to happen. Voting for SVS voltage reduces
    current consumption by 3mA in HSDPA network.

    Change-Id: I8a6844efbbe90a8ea118be8450f8210717c2641b
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>

    mako: EHCI: HSIC: Add support to vote for SVS digital voltage

    HSIC HW can operate at SVS digital voltage when it is active.
    Currently HSIC is voting for 120Mhz SFAB and 64Mhz DFAB clock
    frequencies. Clock frequencies are directly proportional to SVS
    voltage. If DFAB is running at 64Mhz or SFAB is running at 120Mhz
    or higher SVS is not possible even though HSIC votes for it. Hence
    do not vote for SFAB clock frequency and only vote for 32Mhz for
    DFAB in order to allow SVS to happen. Voting for SVS voltage reduces
    current consumption by 3mA in HSDPA network.

    Change-Id: I8a6844efbbe90a8ea118be8450f8210717c2641b
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit d7bc304203ce627770dcd22a8924c301b72a7e76
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Wed Oct 17 12:29:51 2012 -0700

    EHCI: HSIC: Allow standalone power collapse when HSIC is active

    HSIC generates interrupt at 4ms interval. If idle power collapse
    is enabled when HSIC is active, krait keeps on going into idle
    power collapse requesting RPM to handle the sleep set requirement.
    If HSIC interrupt comes after 4ms interval, krait comes out of idle
    power collapse and it again ask RPM to handle this request therefore
    keeps RPM busy handling requests due to frequent idle power collapse.
    This has a power impact. Hence only allow standalone power collapse
    when HSIC is active to avoid RPM involvement in assisting kraits to
    power collapse. Vote for idle power collapse when HSIC goes to low
    power mode.

    Change-Id: Iee8bc1fa180499f2d26fbac955a6a6ed767fdeb4
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

    Conflicts:
    	arch/arm/mach-msm/board-8064.c

    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 09f1ba69b6047782529196a70d69d1c1bb6b8dc7
Author: Jack Pham <jackp@codeaurora.org>
Date:   Wed Oct 10 02:03:50 2012 +0200

    usb: ehci-msm-hsic: Remove usage of MSM_GPIO_TO_INT

    MSM_GPIO_TO_INT is a platform-specific macro that should only
    be used in board files, not drivers. In this case, we actually
    don't need the GPIO number in the driver itself and only need
    to manipulate it using the IRQ number it maps to, so perform the
    mapping in the device file.

    Change-Id: I99eb964f3c7c4e90a4d75d16b2b29c687c3437ca
    Signed-off-by: Jack Pham <jackp@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 21a9a8fe1a98d84b7f7959f21b49151db9eb6e14
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Wed Sep 26 15:09:27 2012 -0700

    usb: Add support to set autosuspend delay by controller driver

    USB core driver sets the autosuspend delay to 1 sec for root hub and
    its children by default. In case if delay needs to be changed for a
    particular controller, it requires class driver to explicitly call
    PM API to set the new values. Hence add a call back handler to set
    autosuspend delay in controller driver. This makes class driver code
    generic.

    Change-Id: I62121651f0a9648a2909ca7eb4081a6c2567ed01
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 89ed188efd282e99de3a1ec8812dc5720498d34b
Author: Jack Pham <jackp@codeaurora.org>
Date:   Fri Sep 28 17:45:38 2012 -0700

    usb: ehci-msm-hsic: Fix compilation error

    The ehci-msm-hsic driver's bus suspend and resume functions
    depend on ehci_hcd's bus_suspend/resume functions, which are
    NULL when CONFIG_PM is not defined. Fix the compilation error
    by also #defining these sub-driver functions NULL, as they
    are effectively no-ops.

    Change-Id: Ie250dfae3caccb737ce26bdda17c5b21d358eced
    Signed-off-by: Jack Pham <jackp@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 38ba8a8a63816089a6d877148abfcfdbd120b02b
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Wed Aug 15 09:06:35 2012 -0700

    EHCI: HSIC: Add enhancements to debug logging

    This change addresses following enhancements to debug
    logging:-

    1) Add data payload logging which is not currently
    supported. This helps to sniff first 32 bytes of data
    being sent and received. Data payload logging is
    enabled by default. To disable data payload logging:-

    echo 0 > /sys/module/ehci_hcd/parameters/enable_payload_log

    2) Current urb submission event logging does not cover
    root hub submissions, hence move urb submission logging
    to hcd driver.

    3) Current urb submission event logging does not return
    the correct status if submission fails. Hence log the
    return status of urb submission.

    CRs-Fixed: 393294
    Change-Id: Ic7e555e1545ec7d7b0e4042cd35235e0af26fb01
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 29c3e34af2708fd47a37aa866786eb8b00eaf027
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Thu Aug 30 14:23:38 2012 -0700

    EHCI: HSIC: Handle wakeup interrupt properly during probe

    During HSIC probe driver registers the level triggered interrupt
    on wakeup gpio. Wakeup irq line is disabled based on the return
    status of interrupt registration. There is a possibility that
    wakeup gpio is already pulled high after registering the interrupt
    which can cause wakeup interrupts to be fired on continuously
    without getting chance to disable the irq line. Hence do not
    enable wake up interrupt on request irq.

    CRs-Fixed: 394540
    Change-Id: I3175cd8710f1d982c33a5392cc49106ee66d0aa6
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit bba6f8e6d3639986f72f3d40e02e8ec0c8226b4d
Author: Pavankumar Kondeti <pkondeti@codeaurora.org>
Date:   Fri Nov 9 10:54:00 2012 +0530

    USB: Prevent system suspend when HSIC device is active

    Some buses like HSIC would like to keep device in suspend state
    after system resume.  The remote wakeup or interface activity
    later will auto resume the device.  This will work only if the
    device is auto suspended before system suspend.  If the device
    runtime state had been active during system suspend and system
    suspend routine put the device in suspend, it will not be resumed
    during system resume.  When remote wakeup happen for this device,
    the runtime resume will not bring the device to active as runtime
    core think it is already active.

    The HSIC bus ensure that device is auto suspended prior to system
    suspend by holding a wakelock till the bus is suspended.  HSIC bus
    is not handling the case where device is auto resumed immediately
    after system suspend begins.  HSIC bus simply put the device into
    suspend in system suspend routine.

    This patch fixes above issue by returning an error code if the device
    is not auto suspended during system suspend.  Also add a safe guard
    check in HSIC system resume routine to skip device resume only if it
    is auto suspended prior to system suspend.

    (cherry picked from commit 41d004c4eaa5565cb8d9113862c3cef1e51be648)

    Change-Id: If0b84833a7c416794e6f4431d54efcff3354d415
    CRs-Fixed: 422876
    Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit a37eba3700dd8d911a04b4e360bde555ee399a49
Author: Pavankumar Kondeti <pkondeti@codeaurora.org>
Date:   Tue Sep 18 17:52:51 2012 +0530

    USB: Allow skipping device resume during system resume

    Some buses would like to keep their devices in suspend state during system
    resume.  For example HSIC controller driver prevent system suspend when
    HSIC device is active.  If this device is resumed, during system resume
    HSIC controller acquire wake lock and prevent the subsequent suspend till
    HSIC device is auto suspended.

    (cherry picked from commit 6f199aa800253a69e5679d1057823039f1bd65c9)

    Change-Id: Id9b15a20345423c6f33fd7d8cd2a55372a1e6b4b
    CRs-Fixed: 403975
    Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 8275c0dab65fe75b0d24715ebc816d95b256b272
Author: Pavankumar Kondeti <pkondeti@codeaurora.org>
Date:   Fri Sep 14 14:02:36 2012 +0530

    EHCI: HSIC: Fail root hub bus suspend when port is not enabled.

    HSIC controller can not detect HSIC device in low power mode.  Hence
    controller suspend is allowed only when port is enabled.  But this
    check is done in controller suspend routine.  Controller suspend is
    attempted after root hub bus is suspended.  Even if we fail, controller
    suspend, root hub bus remains in suspend state.  This would delay
    the enumeration of HSIC device as root hub bus resume takes some time.

    CRs-Fixed: 396444
    Change-Id: I9cfdfb4beb458651fc81a3d22ad9ac79207514fd
    Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit 419da183e0e01b5e988cd11fad5699fae0b43d0c
Author: Harsh Bhanvadia <harsh.slade@gmail.com>
Date:   Sat Dec 29 10:39:03 2012 +0100

    mako: hsic: Disallow processor idle sleep while driving resume signal

    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit d1f0def56911f1ac4e69255bfdd9c65489cd1e05
Author: Pavankumar Kondeti <pkondeti@codeaurora.org>
Date:   Fri Sep 7 15:33:09 2012 +0530

    msm: hsic: Disallow processor idle sleep while driving resume signal

    HSIC controller should send SOF with in 3 msec after completing
    the resume signal.  If processor is in idle sleep state, the timer
    interrupt generated by HSIC controller to indicate resume completion
    gets delayed.  If the interrupt handler is not run with in 3msec
    after resume, the resume sequence is repeated.  Disallow processor
    idle sleep to avoid multiple resume cycles.

    CRs-Fixed: 397154
    Change-Id: Ibc8965ad8bcd94e0b1b1d39b5b2ad8f39cf51095
    Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>

commit fa9581c3ee73b5925f7ab6c92c8729bd1b7c21e1
Author: Hemant Kumar <hemantk@codeaurora.org>
Date:   Thu Sep 6 19:57:14 2012 -0700

    EHCI: HSIC: Prevent disabling wakeup irq twice

    If PM resume and Wakeup irq happen at same time
    its possible to disable wakeup irq twice. Prevent
    the same by protecting with spinlock

    CRs-Fixed: 396895
    Change-Id: I3320478d6c770787bc571964f4a38dce6927af63
    Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
    Signed-off-by: franciscofranco <franciscofranco.1990@gmail.com>