Hi, Greg, On Thu, Mar 01, 2012 at 08:30:59AM -0800, Greg KH wrote: > On Wed, Feb 29, 2012 at 11:55:00AM +0200, Felipe Balbi wrote: > > Hi Greg, > > > > Here's an updated pull request. Please consider pulling. Let me know if > > there are still any concerns. > > > > The following changes since commit 62aa2b537c6f5957afd98e29f96897419ed5ebab: > > > > Linux 3.3-rc2 (2012-01-31 13:31:54 -0800) > > > > are available in the git repository at: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/dwc3-for-v3.4 > > > > for you to fetch changes up to 87e3782faa9c5777f4054833f71f9203d2cde2a2: > > > > usb: dwc3: clear 'res_trans_idx' as soon as it becomes invalid (2012-02-27 16:30:52 +0200) > > > > ---------------------------------------------------------------- > > Here are the changes for v3.4 merge window. > > > > It includes a new glue layer for Samsung's Exynos platform, a simplification of > > memory management on DWC3 driver by using dev_xxx functions, a few > > optimizations to IRQ handling by dropping memcpy() and using bitshifts, a fix > > for TI's OMAP5430 TX Fifo Allocation, two fixes to test mode implementation > > (one on debugfs and one on ep0), and several minor changes such as whitespace > > cleanups, simplification of a few parts of the code, decreasing a long delay to > > something a bit saner, dropping a header which was included twice and so on. > > > > The highlight on this merge is the support for Samsung's Exynos platform, > > increasing the number of different users for this driver to three. > > That would be wonderful to have support for that, if it would build > properly: > > ERROR: "clk_enable" [drivers/usb/dwc3/dwc3-exynos.ko] undefined! > ERROR: "clk_get" [drivers/usb/dwc3/dwc3-exynos.ko] undefined! > ERROR: "clk_put" [drivers/usb/dwc3/dwc3-exynos.ko] undefined! > ERROR: "clk_disable" [drivers/usb/dwc3/dwc3-exynos.ko] undefined! > > So I can't take this merge right now, as it really wouldn't be good to > break the build... I fix this one up myself otherwise I would have to drop Exynos' glue layer and the fix was simple: diff --git a/drivers/usb/dwc3/Makefile b/drivers/usb/dwc3/Makefile index 4502648..d441fe4 100644 --- a/drivers/usb/dwc3/Makefile +++ b/drivers/usb/dwc3/Makefile @@ -27,7 +27,19 @@ endif ## obj-$(CONFIG_USB_DWC3) += dwc3-omap.o -obj-$(CONFIG_USB_DWC3) += dwc3-exynos.o + +## +# REVISIT Samsung Exynos platform needs the clk API which isn't +# defined on all architectures. If we allow dwc3-exynos.c compile +# always we will fail the linking phase on those architectures +# which don't provide clk api implementation and that's unnaceptable. +# +# When Samsung's platform start supporting pm_runtime, this check +# for HAVE_CLK should be removed. +## +ifneq ($(CONFIG_HAVE_CLK),) + obj-$(CONFIG_USB_DWC3) += dwc3-exynos.o +endif ifneq ($(CONFIG_PCI),) obj-$(CONFIG_USB_DWC3) += dwc3-pci.o Anton, you guys need to start supporting pm_runtime soon as I want to remove that HAVE_CLK dependency. Please start working on that. If all you need is to enable/disable clocks, it should be very straight forward to use pm_runtime. Anyway, Greg Here's an updated pull request, the same tag has been used, let me know if that causes problems for you: The following changes since commit 62aa2b537c6f5957afd98e29f96897419ed5ebab: Linux 3.3-rc2 (2012-01-31 13:31:54 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git tags/dwc3-for-v3.4 for you to fetch changes up to c2df85ca31645ed3c68c56bd30a3673e034224f1: usb: dwc3: clear 'res_trans_idx' as soon as it becomes invalid (2012-03-02 12:12:11 +0200) ---------------------------------------------------------------- usb: dwc3: changes for v3.4 merge window Here are the changes for v3.4 merge window. It includes a new glue layer for Samsung's Exynos platform, a simplification of memory management on DWC3 driver by using dev_xxx functions, a few optimizations to IRQ handling by dropping memcpy() and using bitshifts, a fix for TI's OMAP5430 TX Fifo Allocation, two fixes on USB2 test mode implementation (one on debugfs and one on ep0), and several minor changes such as whitespace cleanups, simplification of a few parts of the code, decreasing a long delay to something a bit saner, dropping a header which was included twice and so on. The highlight on this merge is the support for Samsung's Exynos platform, increasing the number of different users for this driver to three. Note that Samsung Exynos glue layer will only compile on platforms which provide implementation for the clk API for now. Once Samsung supports pm_runtime, that limitation can be dropped from the Makefile. ---------------------------------------------------------------- Anton Tikhomirov (2): usb: dwc3: Add Exynos Specific Glue layer usb: dwc3: use proper function for setting endpoint name Chanho Park (1): usb: dwc3: use devm_xxx functions Dan Carpenter (1): usb: dwc3: make dwc3_get_device_id() return the id Danny Kukawka (1): usb: dwc3: linux/module.h included twice Felipe Balbi (15): usb: dwc3: gadget: re-factor USB2 test mode to a function usb: dwc3: gadget: allow testmodes changes via debugfs usb: dwc3: gadget: re-factor Link state change to a function usb: dwc3: gadget: allow Link state changes via debugfs usb: dwc3: gadget: fix XferNotReady debug print usb: dwc3: gadget: use the descriptor pointer we hold usb: dwc3: ep0: move to CONFIGURED also on delayed status usb: dwc3: gadget: dynamically re-size TxFifos usb: dwc3: gadget: start core on Rx.Detect usb: dwc3: omap: convert pdata to of property usb: dwc3: debugfs: fix error check usb: dwc3: host: align on host device name usb: dwc3: gadget: avoid memcpy()ing event buffer usb: dwc3: gadget: allocate 3 packets for bulk and isoc endpoints usb: dwc3: convert TRBs into bitshifts Gerard Cauvy (2): usb: dwc3: debugfs: fix off by one when entering testmode usb: dwc3: ep0: fix SetFeature(TEST) Paul Zimmerman (8): usb: dwc3: clean up whitespace damage, typos, missing parens, etc. usb: dwc3: gadget: don't wrap around the TRB poll on non-ISOC usb: dwc3: fix bogus test in dwc3_gadget_start_isoc usb: dwc3: replace hard-coded constant in DWC3_GCTL_SCALEDOWN(3) usb: dwc3: pci: fix failure path in dwc3_pci_probe() usb: dwc3: shorten long delay in dwc3_gadget_set_link_state() usb: dwc3: take lock while modifying flags usb: dwc3: clear 'res_trans_idx' as soon as it becomes invalid drivers/usb/dwc3/Makefile | 13 + drivers/usb/dwc3/core.c | 108 ++++----- drivers/usb/dwc3/core.h | 198 +++++++-------- drivers/usb/dwc3/debugfs.c | 214 ++++++++++++++++- drivers/usb/dwc3/dwc3-exynos.c | 151 ++++++++++++ drivers/usb/dwc3/dwc3-omap.c | 116 +++++---- drivers/usb/dwc3/dwc3-pci.c | 52 ++-- drivers/usb/dwc3/ep0.c | 82 +++---- drivers/usb/dwc3/gadget.c | 371 +++++++++++++++++++++-------- drivers/usb/dwc3/gadget.h | 3 + drivers/usb/dwc3/host.c | 2 +- include/linux/platform_data/dwc3-exynos.h | 24 ++ 12 files changed, 921 insertions(+), 413 deletions(-) create mode 100644 drivers/usb/dwc3/dwc3-exynos.c create mode 100644 include/linux/platform_data/dwc3-exynos.h -- balbi
Attachment:
signature.asc
Description: Digital signature