1. 08 5月, 2015 2 次提交
  2. 29 4月, 2015 3 次提交
  3. 04 4月, 2015 1 次提交
  4. 25 3月, 2015 1 次提交
  5. 20 3月, 2015 1 次提交
  6. 19 3月, 2015 1 次提交
  7. 14 3月, 2015 1 次提交
  8. 11 3月, 2015 4 次提交
  9. 10 3月, 2015 2 次提交
  10. 31 1月, 2015 3 次提交
    • F
      usb: phy: phy-generic: Fix USB PHY gpio reset · 74379991
      Fabio Estevam 提交于
      Since commit e9f2cefb ("usb: phy: generic: migrate to gpio_desc") a
      kernel hang is observed on imx51-babbage board:
      
      [    1.392824] ci_hdrc ci_hdrc.1: doesn't support gadget
      [    1.397975] ci_hdrc ci_hdrc.1: EHCI Host Controller
      [    1.403205] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
      [    1.422335] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
      [    1.432962] hub 1-0:1.0: USB hub found
      [    1.437119] hub 1-0:1.0: 1 port detected
      
      This hang happens because the reset GPIO stays at logic level 0.
      
      The USB PHY reset gpio is defined in the dts file as:
      
      reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
      
      , which means it is active low, so what the gpio reset pin needs to do in this
      case is the following:
      
      - Go to logic level 0 to reset the USB PHY
      - Stay at 0 for a bit
      - Go back to logic level 1
      
      When switching to gpiod API we need to following according to
      Documentation/gpio/consumer.txt:
      
      "The first thing a driver must do with a GPIO is setting its direction. If no
      direction-setting flags have been given to gpiod_get*(), this is done by
      invoking one of the gpiod_direction_*() functions:
      
      	int gpiod_direction_input(struct gpio_desc *desc)
      	int gpiod_direction_output(struct gpio_desc *desc, int value)"
      
      Since no direction-setting flags have been given to devm_gpiod_get_optional()
      in our case, we need to use gpiod_direction_output to comply with the gpiod API.
      
      With this change the USB PHY reset performs a proper reset, the kernel boots
      fine and USB host is functional.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      74379991
    • R
      usb: phy: generic: fix the vbus interrupt request · 0f4ff5f1
      Robert Jarzmik 提交于
      Declare the interrupt as "one shot" so that it is masked until the end
      of the threaded handler. This prevents the irq core from spitting out an
      error :
        "Threaded irq requested with handler=NULL and !ONESHOT for irq 63"
      
      This was introduced by commit "usb: phy: generic: add vbus support".
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      0f4ff5f1
    • R
      usb: phy: generic: fix the gpios to be optional · 9eb07977
      Robert Jarzmik 提交于
      All the gpios, ie. reset-gpios and vbus-detect-gpio, should be optional
      and not prevent the driver from working. Fix the regression in the
      behavior introduced by commit "usb: phy: generic: migrate to gpio_desc".
      Signed-off-by: NRobert Jarzmik <robert.jarzmik@free.fr>
      Tested-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      9eb07977
  11. 27 1月, 2015 4 次提交
  12. 20 1月, 2015 2 次提交
  13. 13 1月, 2015 6 次提交
  14. 10 1月, 2015 1 次提交
    • M
      usb: phy: Fix deferred probing · 9c9d8249
      Maxime Ripard 提交于
      Commit 1290a958 ("usb: phy: propagate __of_usb_find_phy()'s error on
      failure") actually broke the deferred probing mechanism, since it now returns
      EPROBE_DEFER only when the try_module_get call fails, but not when the phy
      lookup does.
      
      All the other similar functions seem to return ENODEV when try_module_get
      fails, and the error code of either __usb_find_phy or __of_usb_find_phy
      otherwise.
      
      In order to have a consistent behaviour, and a meaningful EPROBE_DEFER, always
      return EPROBE_DEFER when __(of_)usb_find_phy fails to look up the requested
      phy, that will be propagated by the caller, and ENODEV if try_module_get fails.
      Signed-off-by: NMaxime Ripard <maxime.ripard@free-electrons.com>
      Tested-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9c9d8249
  15. 07 1月, 2015 1 次提交
  16. 24 12月, 2014 1 次提交
    • T
      usb: phy: Restore deferred probing path · c818a94c
      Thierry Reding 提交于
      Commit 1290a958 ("usb: phy: propagate __of_usb_find_phy()'s error on
      failure") broke platforms that rely on deferred probing to order probing
      of PHY and host controller drivers. The reason is that the commit simply
      propagates errors from __of_usb_find_phy(), which returns -ENODEV if no
      PHY has been registered yet for a given device tree node. The only case
      in which -EPROBE_DEFER would now be returned is if try_module_get() did
      fail, which does not make sense.
      
      The correct thing to do is to return -EPROBE_DEFER if a PHY hasn't been
      registered yet. The only condition under which it makes sense to return
      -ENODEV is if the device tree node representing the PHY has been
      disabled (via the status property) because in that case the PHY will
      never be registered.
      
      This patch addresses the problem by making __of_usb_find_phy() return an
      appropriate error code while keeping in line with the above-mentioned
      commit to propagate error codes rather than overwriting them. At the
      same time the check for a valid PHY is decoupled from the check for the
      try_module_get() call and a separate error code is returned if the
      latter fails.
      
      Fixes: 1290a958 (usb: phy: propagate __of_usb_find_phy()'s error on failure)
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      c818a94c
  17. 13 12月, 2014 1 次提交
  18. 04 12月, 2014 1 次提交
  19. 25 11月, 2014 1 次提交
    • K
      usb: phy: Handle per-PHY event for connnect and disconnect events · b20f3f9e
      Kiran Raparthy 提交于
      When usb is connected and enumerated in device mode or when
      usb is disconnected, call usb_phy_set_event() from phy drivers
      to handle per-PHY event.
      
      [ toddpoynor@google.com : Original patch in Android ]
      
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-usb@vger.kernel.org
      Cc: Android Kernel Team <kernel-team@android.com>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: Arve Hjønnevåg <arve@android.com>
      Cc: Benoit Goby <benoit@android.com>
      Cc: Todd Poynor <toddpoynor@google.com>
      Signed-off-by: NKiran Raparthy <kiran.kumar@linaro.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      b20f3f9e
  20. 21 11月, 2014 2 次提交
    • K
      usb: phy: introduce usb_phy_set_event interface · df9f7b31
      Kiran Raparthy 提交于
      PHY drivers require a generic interface to handle per-PHY events.
      
      usb_phy_set_event interface sets event to phy event.
      PHY drivers call this interface for each phy event.
      
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-usb@vger.kernel.org
      Cc: Android Kernel Team <kernel-team@android.com>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Sumit Semwal <sumit.semwal@linaro.org>
      Cc: Arve Hj�nnev�g <arve@android.com>
      Cc: Benoit Goby <benoit@android.com>
      [Original patch in Android from Todd]
      Cc: Todd Poynor <toddpoynor@google.com>
      Signed-off-by: NKiran Raparthy <kiran.kumar@linaro.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      df9f7b31
    • A
      usb: phy: propagate __of_usb_find_phy()'s error on failure · 1290a958
      Arjun Sreedharan 提交于
      When __of_usb_find_phy() fails, it returns -ENODEV - its
      error code has to be returned by devm_usb_get_phy_by_phandle().
      Only when the former function succeeds and try_module_get()
      fails should -EPROBE_DEFER be returned.
      
      [ balbi@ti.com : remove trailing whitespace ]
      Signed-off-by: NArjun Sreedharan <arjun024@gmail.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      1290a958
  21. 12 11月, 2014 1 次提交
    • F
      usb: phy: fsl: Fix build errors · e5ba1c02
      Felipe Balbi 提交于
      commit e47d9254 (usb: move the OTG state from
      the USB PHY to the OTG structure) moved the
      OTG state from struct usb_phy to struct usb_otg.
      
      Unfortunately, even though I fixed quite a few
      build regressions with that patch already, this
      one was still missing.
      
      Note that this driver still has other randconfig
      build problems which I'll leave for driver author
      to fix, as that's less trivial.
      Reported-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      e5ba1c02