Hello. On 07-12-2010 11:15, Felipe Balbi wrote:
A bunch of patches starting to make musb play well with several different glue layers. There's still a bunch of stuff to be done, but I figured it was too much and it's better testing what we have now then break the whole thing.
I tested the patches on pandaboard with g_zero and it's all working fine. I also compile tested all glue layers (but blackfin ones, due missing compilers on my machine) to be sure I'm not breaking compilation.
I've looked at the patches and have been puzzled by this claim about compile testing all glue layers -- there's a lot of compilation errors that must be generated by the patchset as published. Maybe you've fixed it up afterwards, I don't know.
These patches have also been applied to linux-omap for testing. I hope we still have time to add these to mainline as they make lots of things a lot simpler to handle.
With these patches we will be able to implement pm_runtime for OMAP without breaking Davinci or Blackfin, for example.
There's also no more magic to support blackfin as musb_core doesn't care about clocks, it's all handled by glue layer.
Let me know if you can still apply these, I hope you can.
The following changes since commit fe4bfb30fe5788100a70c0ed96ddd8c6186eb9c4:
Merge branch 'sh/ehci' of master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 into work (2010-12-03 12:12:29 -0800)
are available in the git repository at:
git://gitorious.org/usb/usb.git musb-hw
Felipe Balbi (31): usb: musb: introduce struct musb_platform_ops usb: musb: make all glue layer export struct musb_platform_ops arm: omap4: panda: initialize musb usb: musb: hold context on musb structure usb: musb: add Kconfig options for each glue layer usb: musb: trivial search and replace patch usb: musb: split omap2430 to its own platform_driver usb: musb: split am35x to its own platform_driver usb: musb: split tusb6010 to its own platform_driver usb: musb: split davinci to its own platform_driver usb: musb: split da8xx to its own platform_driver usb: musb: split blackfin to its own platform_driver usb: musb: omap2430: give it a context structure usb: musb: am35x: give it a context structure usb: musb: tusb6010: give it a context structure usb: musb: davinci: give it a context structure usb: musb: da8xx: give it a context structure usb: musb: blackfin: give it a context structure usb: musb: pass platform_ops via platform_data usb: musb: mark ->set_clock deprecated usb: musb: move clock handling to glue layer usb: musb: drop the set_clock magic usb: musb: drop musb_platform_save/restore_context usb: musb: mark musb_save/restore_context static usb: musb: omap2430: drop the nops usb: musb: omap2430: use dev_pm_ops structure usb: musb: am35x: usb dev_pm_ops structure usb: musb: blackfin: usb dev_pm_ops structure usb: musb: drop musb_platform_suspend/resume usb: musb: drop board_set_vbus arm: omap4: enable usb on 4430sdp
arch/arm/mach-davinci/usb.c | 3 +- arch/arm/mach-omap2/board-4430sdp.c | 4 +- arch/arm/mach-omap2/board-n8x0.c | 5 +- arch/arm/mach-omap2/board-omap4panda.c | 1 + arch/arm/mach-omap2/clock2420_data.c | 2 +- arch/arm/mach-omap2/clock2430_data.c | 2 +- arch/arm/mach-omap2/clock3xxx_data.c | 8 +- arch/arm/mach-omap2/clock44xx_data.c | 2 +- arch/arm/mach-omap2/usb-musb.c | 5 +- arch/arm/mach-omap2/usb-tusb6010.c | 2 +- arch/blackfin/mach-bf527/boards/ad7160eval.c | 2 +- arch/blackfin/mach-bf527/boards/cm_bf527.c | 2 +- arch/blackfin/mach-bf527/boards/ezbrd.c | 2 +- arch/blackfin/mach-bf527/boards/ezkit.c | 2 +- arch/blackfin/mach-bf527/boards/tll6527m.c | 2 +- arch/blackfin/mach-bf548/boards/cm_bf548.c | 2 +- arch/blackfin/mach-bf548/boards/ezkit.c | 2 +- drivers/usb/gadget/gadget_chips.h | 2 +- drivers/usb/musb/Kconfig | 77 +++---- drivers/usb/musb/Makefile | 20 +- drivers/usb/musb/am35x.c | 286 ++++++++++++++++++++------ drivers/usb/musb/blackfin.c | 232 ++++++++++++++++++--- drivers/usb/musb/da8xx.c | 170 ++++++++++++++-- drivers/usb/musb/davinci.c | 174 ++++++++++++++-- drivers/usb/musb/musb_core.c | 172 ++++++---------- drivers/usb/musb/musb_core.h | 189 ++++++++++------- drivers/usb/musb/musb_io.h | 4 +- drivers/usb/musb/musb_regs.h | 4 +- drivers/usb/musb/musb_virthub.c | 2 +- drivers/usb/musb/omap2430.c | 272 +++++++++++++++++++------ drivers/usb/musb/tusb6010.c | 184 +++++++++++++---- include/linux/usb/musb.h | 8 +- 32 files changed, 1336 insertions(+), 508 deletions(-)
Greg, don't pull this yet -- the patchset still has a lot of issues, including compilation errors.
WBR, Sergei -- 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