1. 10 Mar, 2015 35 commits
  2. 09 Mar, 2015 5 commits
    • Felipe Balbi's avatar
      usb: dwc3: gadget: drop unnecessary loop when cleaning up TRBs · 8f2c9544
      Felipe Balbi authored
      Now that we're using XFERINPROGRESS for all endpoint
      types (except Control), we will *always* be completing
      one TRB at a time, so it's safe to remove the loop
      from dwc3_cleanup_done_reqs.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      8f2c9544
    • Felipe Balbi's avatar
      usb: dwc3: omap: call of_platform_depopulate() instead · 3d0184d0
      Felipe Balbi authored
      This patch fixes a bug where removing dwc3-omap.ko
      would not trigger removal of dwc3.ko.
      
      of_platform_depopulate() already bakes an easy to
      use API for removing all our children which were
      populated during probe(); Let's use that one instead
      of cooking our own solution.
      
      Note that this is kind of a revert of commit c5a1fbca
      (usb: dwc3: dwc3-omap: Fix the crash on module removal)
      although we can't simply revert that because a direct
      call to platform_device_unregister would also be flakey.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      3d0184d0
    • Felipe Balbi's avatar
      usb: dwc3: core: only reset res->start in case of error · 3da1f6ee
      Felipe Balbi authored
      That trick is only needed if we end up with an error, so
      there's no point in messing that outside of an error path.
      
      In fact doing so causes problems when removing dwc3.ko,
      problems which commit c5a1fbca (usb: dwc3: dwc3-omap: Fix
      the crash on module removal) mistakenly tried to fix.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      3da1f6ee
    • Felipe Balbi's avatar
      usb: musb: core: improve musb_interrupt() a bit · 31a0ede0
      Felipe Balbi authored
      instead of using manually spelled out bit-shits
      and iterate over each of the 16-bits (one for
      each endpoint) on each direction, we can make use
      of for_each_set_bit() which internally uses
      find_first_bit().
      
      This makes the code slightly more readable while
      also making we only iterate over bits which are
      actually set.
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      31a0ede0
    • Felipe Balbi's avatar
      usb: musb: core: fix TX/RX endpoint order · e3c93e1a
      Felipe Balbi authored
      As per Mentor Graphics' documentation, we should
      always handle TX endpoints before RX endpoints.
      
      This patch fixes that error while also updating
      some hard-to-read comments which were scattered
      around musb_interrupt().
      
      This patch should be backported as far back as
      possible since this error has been in the driver
      since it's conception.
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      e3c93e1a