1. 14 10月, 2011 3 次提交
    • N
      usb: gadget: mv_udc: fix kernel panic on some platforms · 4540a9ab
      Neil Zhang 提交于
      Some platforms will use usb to download images, the controller may not
      be stopped correctly when start kernel. In some cases, it may have some
      pending interrupts, and they will be triggered immediately when we finish
      requesting irq in function probe. But we haven't finished the device
      initialization at this time. So let's stop udc here to avoid this case
      occurred.
      Signed-off-by: NNeil Zhang <zhangwm@marvell.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      4540a9ab
    • N
      usb: gadget: mv_udc: add section information · 5d0b8d0f
      Neil Zhang 提交于
      Tag the probe function as __devinit.
      Tag the remove function as __devexit.
      Signed-off-by: NNeil Zhang <zhangwm@marvell.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      5d0b8d0f
    • N
      usb: gadget: mv_udc: refine the driver structure · dde34cc5
      Neil Zhang 提交于
      This patch do the following things:
      
      1. Add header and Copyright for marvell usb driver.
      2. Add mv_usb.h in include/linux/platform_data, make the driver
         fits all the marvell platform using the same ChipIdea usb ip.
      3. Some SOC may has mutiple clock sources, so let me define it
         in mv_usb_platform_data and give two helper functions named
         udc_clock_enable/udc_clock_disable to deal with the clocks.
      4. Different SOCs will have some difference in PHY initialization,
         so we will remove file mv_udc_phy.c and add two funtions in
         mv_usb_platform_data, let the platform relative driver to realize it.
      5. Rewrite probe function according to the modification list above. Find
         it will kernel panic when probe failed. The root cause is as follows:
      	When probe failed, the error handle may call device_unregister()
      	which in return will call gadget_release.In current code,
      	gadget_release have two issues:
      		1: the_controller is a NULL pointer.
      		2: if we free udc here, then the following code in probe
      		   will access NULL pointer.
      Signed-off-by: NNeil Zhang <zhangwm@marvell.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      dde34cc5
  2. 18 9月, 2011 1 次提交
  3. 24 8月, 2011 1 次提交
    • K
      USB: use usb_endpoint_maxp() instead of le16_to_cpu() · 29cc8897
      Kuninori Morimoto 提交于
      Now ${LINUX}/drivers/usb/* can use usb_endpoint_maxp(desc) to get maximum packet size
      instead of le16_to_cpu(desc->wMaxPacketSize).
      This patch fix it up
      
      Cc: Armin Fuerst <fuerst@in.tum.de>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Johannes Erdfelt <johannes@erdfelt.com>
      Cc: Vojtech Pavlik <vojtech@suse.cz>
      Cc: Oliver Neukum <oliver@neukum.name>
      Cc: David Kubicek <dave@awk.cz>
      Cc: Johan Hovold <jhovold@gmail.com>
      Cc: Brad Hards <bhards@bigpond.net.au>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Thomas Dahlmann <dahlmann.thomas@arcor.de>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: David Lopo <dlopo@chipidea.mips.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Michal Nazarewicz <m.nazarewicz@samsung.com>
      Cc: Xie Xiaobo <X.Xie@freescale.com>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Jiang Bo <tanya.jiang@freescale.com>
      Cc: Yuan-hsin Chen <yhchen@faraday-tech.com>
      Cc: Darius Augulis <augulis.darius@gmail.com>
      Cc: Xiaochen Shen <xiaochen.shen@intel.com>
      Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Cc: OKI SEMICONDUCTOR, <toshiharu-linux@dsn.okisemi.com>
      Cc: Robert Jarzmik <robert.jarzmik@free.fr>
      Cc: Ben Dooks <ben@simtec.co.uk>
      Cc: Thomas Abraham <thomas.ab@samsung.com>
      Cc: Herbert Pötzl <herbert@13thfloor.at>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Roman Weissgaerber <weissg@vienna.at>
      Acked-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Tony Olech <tony.olech@elandigitalsystems.com>
      Cc: Florian Floe Echtler <echtler@fs.tum.de>
      Cc: Christian Lucht <lucht@codemercs.com>
      Cc: Juergen Stuber <starblue@sourceforge.net>
      Cc: Georges Toth <g.toth@e-biz.lu>
      Cc: Bill Ryder <bryder@sgi.com>
      Cc: Kuba Ober <kuba@mareimbrium.org>
      Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      29cc8897
  4. 02 7月, 2011 1 次提交
  5. 29 6月, 2011 1 次提交
    • S
      usb: gadget: convert all users to the new udc infrastructure · 0f91349b
      Sebastian Andrzej Siewior 提交于
      peripheral drivers are using usb_add_gadget()/usb_del_gadget() to
      register/unregister to the udc-core.
      
      The udc-core will take the first available gadget driver and attach
      function driver which is calling usb_gadget_register_driver(). This is
      the same behaviour we have right now.
      
      Only dummy_hcd was tested, the others were compiled tested.
      
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Anton Tikhomirov <av.tikhomirov@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Dan Carpenter <error27@gmail.com>
      Cc: Darius Augulis <augulis.darius@gmail.com>
      Cc: Eric Miao <eric.y.miao@gmail.com>
      Cc: Jingoo Han <jg1.han@samsung.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Michael Hennerich <michael.hennerich@analog.com>
      Acked-by: NMike Frysinger <vapier@gentoo.org>
      Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
      Cc: Pavankumar Kondeti <pkondeti@codeaurora.org>
      Cc: Roy Huang <roy.huang@analog.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Toshiharu Okada <toshiharu-linux@dsn.okisemi.com>
      Cc: Xiaochen Shen <xiaochen.shen@intel.com>
      Cc: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
      Cc: Yuan-Hsin Chen <yhchen@faraday-tech.com>
      Cc: cxie4 <cxie4@marvell.com>
      Cc: linux-geode@lists.infradead.org
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0f91349b
  6. 07 6月, 2011 1 次提交
    • S
      usb/mv_udc_core: fix compile · cb424473
      Sebastian Andrzej Siewior 提交于
      |drivers/usb/gadget/mv_udc_core.c:2108: error: label `error' used but not defined
      
      This seems to be broken since the initial commit. I changed this to a
      simple return. The other user is the probe code which lets ->probe()
      fail on error here.
      
      |drivers/usb/gadget/mv_udc_core.c:2107: warning: passing argument 1 of `dev_err' from incompatible pointer type
      |drivers/usb/gadget/mv_udc_core.c:2118: warning: initialization from incompatible pointer type
      |drivers/usb/gadget/mv_udc_core.c:2119: warning: initialization from incompatible pointer type
      |drivers/usb/gadget/mv_udc_core.c:2130: error: initializer element is not constant
      |drivers/usb/gadget/mv_udc_core.c:2130: error: (near initialization for `udc_driver.driver.pm')
      
      Cc: Chao Xie <chao.xie@marvell.com>
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      cb424473
  7. 31 3月, 2011 1 次提交
  8. 01 12月, 2010 1 次提交
    • C
      USB: pxa: Add USB client support for Marvell PXA9xx/PXA168 chips · e7cddda4
      cxie4 提交于
      This patch add USB client support Marvell PXA9xx/PXA168 chips. The USB
      controller in PXA9xx/PXA168 is a High-Speed OTG controller. The available
      endpoints is different between PXA9xx and PXA168.
      
      NOTE:
      It is the first version of Marvell PXA9xx/PXA168 USB controller driver.
      The support for OTG mode will be added in later patch.
      PXA9xx and PXA168 has integrated UTMI PHY in the chips. The initialization
      for the PHY is a little different between PXA9xx and PXA168.
      Signed-off-by: NChao Xie <chao.xie@marvell.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e7cddda4