Skip to content

s3c-hsudc: regulator handling and a lot of fixes

Heiko Stübner linux-arm-kernel linux-samsung-soc 3 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest8 patches 0 repliesNew
  2. v37 patches 0 repliesSuperseded
  3. v27 patches 0 repliesSuperseded

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8s3c-hsudc: move platform_data struct to global headerarch/arm/mach-s3c2416/mach-smdk2416.c arch/arm/plat-samsung/devs.c arch/arm/plat-samsung/include/plat/udc.h +2 more+38 -151 reply
1/8s3c-hsudc: move platform_data struct to global header+0 -02 replies
2/8s3c-hsudc: add __devinit to probe functiondrivers/usb/gadget/s3c-hsudc.c+1 -10 replies
3/8s3c-hsudc: add missing otg_put_transceiver in probedrivers/usb/gadget/s3c-hsudc.c+3 -00 replies
4/8s3c-hsudc: move device registration to probedrivers/usb/gadget/s3c-hsudc.c+8 -90 replies
5/8s3c-hsudc: use udc_start and udc_stop functionsdrivers/usb/gadget/s3c-hsudc.c+14 -301 reply
6/8s3c-hsudc: Add regulator handlingdrivers/usb/gadget/s3c-hsudc.c+37 -40 replies
7/8s3c-hsudc: use release_mem_region instead of release_resourcedrivers/usb/gadget/s3c-hsudc.c+1 -33 replies
8/8s3c-hsudc: remove the_controller globaldrivers/usb/gadget/s3c-hsudc.c+6 -52 replies

Reviews trailers per patch

2 of 9 patches have a Reviewed-by or Acked-by.

PatchKukjin Kim
1/8A-b
1/8A-b
2/8
3/8
4/8
5/8
6/8
7/8
8/8

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 0/8] s3c-hsudc: regulator handling and a lot of fixes

In his response to the first submission Felipe Balbi asked to also move the driver to the new udc_start and udc_stop functions and to make an effort to reduce dependencies on archictecture code.

v3 of the series does not try to provide a remove function, due to the possible lifetime problem of gadget.dev found by Russel King.

v4 also gets rid of the the_controller global and uses container_of instead and moves the platform-data header to include/linux/platform_data.

The first patch reduces the number of arch dependencies by one by moving the platform data struct to a header unter include/linux/usb.

The fourth and fifth patches implement the move to udc_start / udc_stop

And the sixt patch finally allows the s3c-hsudc driver to control its supplying regulators as intended in the first place.

The regulator calls can use the regulators unconditionally and let necessary "stubbing and mapping" happen through the regulator framework, according to for example
http://marc.info/?l=linux-netdev&m=131914562120725&w=2
meaning there is no need to gracefully fail if a regulator is not present.

Each patch was compile-tested individually, the series applies cleanly against linux-next from 2011-12-16.

Real-life testing happened on S3C2416 hardware.
Heiko Stuebner (8):
s3c-hsudc: move platform_data struct to global header
s3c-hsudc: add __devinit to probe function
s3c-hsudc: add missing otg_put_transceiver in probe
s3c-hsudc: move device registration to probe
s3c-hsudc: use udc_start and udc_stop functions
s3c-hsudc: Add regulator handling
s3c-hsudc: use release_mem_region instead of release_resource
s3c-hsudc: remove the_controller global

 arch/arm/mach-s3c2416/mach-smdk2416.c    |    1 +
 arch/arm/plat-samsung/devs.c             |    1 +
 arch/arm/plat-samsung/include/plat/udc.h |   15 +----
 drivers/usb/gadget/s3c-hsudc.c           |  120 +++++++++++++++++-------------
 include/linux/platform_data/s3c-hsudc.h  |   34 +++++++++
 5 files changed, 106 insertions(+), 65 deletions(-)
 create mode 100644 include/linux/platform_data/s3c-hsudc.h
Signature · 1 line
1.7.2.3