[PATCH v4 00/15] usb:hsotg:samsung USB S3C-HSOTG driver fixes and code cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Presented patch series fix several problems with S3C-HSOTG driver, thus now
the Multi Function Gadget (MFG) is working correctly.

Those commits consist of EP0 transfer management fixes (ZLP sending code
and NAK management).
Moreover the disconnect irq handler has been removed, since it is available only
at HOST mode.

Code for recovering from device disconnection and connection during ongoing
transfer has been added as well.

The s3c-hsotg driver has been adjusted to use newer usb_gadget_ops callbacks
(namely udc_start and udc_stop) instead of deprecated ones.

Moreover number of EPs is now read from a HW configuration register instead
of statically defined value.

The our_hsotg global variable has been removed and release function has been
added as well to prevent warning messages.

Tested with:
    - DFU gadget (various size of the sent data - also packet = MPS)
    - Ethernet gadget (CDC and RNDIS)
    - Multi Function Gadget (g_multi)

HW: 
    - Samsung's C210 Universal rev.0
    - Samsung's C110 GONI

---
Changes for v2:
- Support for regulator_bulk_*
- Number of EPs determined during runtime
- Usage of udc_start and udc_stop methods instead of deprecated ones
- Code preparation to move to dwc2 driver from s3c-hsotg

Changes for v3:
- Comments refactored to comply with kernel coding style
- Doxygen functions descriptions added
- Removal of our_hsotg global pointer variable

Changes for v4:
- Remove platform dependent code
- Check if dynamically read number of EPs is not equal to zero
- Release function added to prevent warnings


Lukasz Majewski (15):
  usb:hsotg:samsung: Remove platform dependency from s3c-hsotg
  usb:hsotg:samsung: Remove platform dependent functions from s3c-hsotg
  usb:hsotg:samsung: Wrappers for USB PHY methods
  usb:hsotg:samsung: Use of regulator_bulk_* functions for USB
    regulators
  usb:hsotg:samsung: NAK management for EP0 (Setup stage of control
    transfers)
  usb:hsotg:samsung: Sending ZLP packet for IN EP0 transfers
  usb:hsotg:samsung: Extract core initialization function
  usb:hsotg:samsung: Remove Disconnect Interrupt handler
  usb:hsotg:samsung: Rename s3c_hsotg_disconnect function
  usb:hsotg:samsung: Cable disconnection recovery code
  usb:hsotg:samsung: Determine number of EPs from HW configuration
    register
  usb:hsotg:samsung: Use new udc_start and udc_stop callbacks
  usb:hsotg:samsung: Comments reorganization and cleanup
  usb:hsotg:samsung: Remove our_hsotg global pointer
  usb:hsotg:samsung: Add release function for hsotg device

 arch/arm/mach-exynos/mach-nuri.c                   |    2 +-
 arch/arm/mach-exynos/mach-universal_c210.c         |    2 +-
 arch/arm/mach-s3c64xx/mach-crag6410.c              |    2 +-
 arch/arm/mach-s3c64xx/mach-smartq.c                |    2 +-
 arch/arm/mach-s3c64xx/mach-smdk6410.c              |    2 +-
 arch/arm/mach-s5pv210/mach-goni.c                  |    2 +-
 arch/arm/plat-samsung/devs.c                       |    2 +-
 .../arm/plat-samsung/include/plat/regs-usb-hsotg.h |  379 -------
 arch/arm/plat-samsung/include/plat/udc-hs.h        |   34 -
 drivers/usb/gadget/s3c-hsotg.c                     | 1139 ++++++++++++--------
 drivers/usb/gadget/s3c-hsotg.h                     |  379 +++++++
 include/linux/platform_data/s3c-hsotg.h            |   35 +
 12 files changed, 1111 insertions(+), 869 deletions(-)
 delete mode 100644 arch/arm/plat-samsung/include/plat/regs-usb-hsotg.h
 delete mode 100644 arch/arm/plat-samsung/include/plat/udc-hs.h
 create mode 100644 drivers/usb/gadget/s3c-hsotg.h
 create mode 100644 include/linux/platform_data/s3c-hsotg.h

-- 
1.7.2.3

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux