1. 22 1月, 2013 4 次提交
    • S
      usb: gadget: move source sink's config descriptor out of f_sourcesink · eeae5407
      Sebastian Andrzej Siewior 提交于
      f_sourcesink should only include the bare function but it also includes
      the config descriptor. This patch moves the config descriptor into
      zero.c, the only user of this function.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      eeae5407
    • S
      usb: gadget: provide a wrapper around SourceSink's setup function · 544aca39
      Sebastian Andrzej Siewior 提交于
      The setup request can be sent to an interface/endpoint or to the device
      itself. If it is sent to an interface / endpoint then we forward it to
      the function that is mapped to that interface / endpoint.
      If the device is the target of the setup request then we forward it to the
      ->setup() callback of the currently active configuration.
      In case of the sourcesink function the requests are function specific
      but are sent to the device.
      This patch introduces a setup wrapper at configuration level which
      forwards the request to the function. By using this wrapper we can keep
      the function specific code within the function file and we need just a
      hint at config level to forward the request.
      The here introduced global variable will be moved into the gadget (which
      combines the two functions) in a later patch.
      SourceSink is currently the only function using ->setup() at config level.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      544aca39
    • S
      usb: gadget: remove u32 castings of address passed to readl() · 32b86665
      Sebastian Andrzej Siewior 提交于
      Removes a couple of:
      |drivers/usb/gadget/s3c-hsudc.c: In function 's3c_hsudc_epin_intr':
      |drivers/usb/gadget/s3c-hsudc.c:438:2: warning: passing argument 1 of '__raw_readl' makes pointer from integer without a cast
      |arch/arm/include/asm/io.h:104:19: note: expected 'const volatile void *' but argument is of type 'unsigned int'
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      32b86665
    • S
      usb: gadget: composite: don't call driver's unbind() if bind() failed · 779d516c
      Sebastian Andrzej Siewior 提交于
      Lets assume nokia_bind() starts with "return -EINVAL". After loading the
      gadget we end up with:
      
      |udc dummy_udc.0: registering UDC driver [g_nokia]
      |BUG: unable to handle kernel NULL pointer dereference at 00000040
      |IP: [<c11f9555>] __list_add+0x25/0xf0
      |Call Trace:
      | [<c12d4e21>] rollback_registered+0x21/0x40
      | [<c12d513f>] unregister_netdevice_queue+0x4f/0xa0
      | [<c12d5259>] unregister_netdev+0x19/0x30
      | [<f81335b2>] gphonet_cleanup+0x32/0x50 [g_nokia]
      | [<f8133f1c>] nokia_unbind+0x1c/0x2a [g_nokia]
      | [<f802509f>] __composite_unbind.constprop.10+0x4f/0xb0 [libcomposite]
      | [<f80255be>] composite_bind+0x1ae/0x230 [libcomposite]
      | [<c129e576>] usb_gadget_probe_driver+0xc6/0x1b0
      | [<f8024aba>] usb_composite_probe+0x7a/0xa0 [libcomposite]
      
      That is crash from nokia_unbind() invoked via nokia_bind(). This crash
      will look different we if make it until usb_string_ids_tab() before we
      enter an error condition in the probe function.
      nokia_bind_config() tries to clean up which is IMHO the right thing to
      do. Leaving things as-is and hoping that its unbind() will clean it up
      is kinda backwards. Especially since the bind function never succeeded so
      it can't know how much it needs to clean up.
      This fixes the behaviour by not calling the driver's unbind function if
      its bind function failed.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      779d516c
  2. 10 1月, 2013 12 次提交
  3. 01 12月, 2012 1 次提交
    • T
      ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h · 45c3eb7d
      Tony Lindgren 提交于
      Based on earlier discussions[1] we attempted to find a suitable
      location for the omap DMA header in commit 2b6c4e73 (ARM: OMAP:
      DMA: Move plat/dma.h to plat-omap/dma-omap.h) until the conversion
      to dmaengine is complete.
      
      Unfortunately that was before I was able to try to test compile
      of the ARM multiplatform builds for omap2+, and the end result
      was not very good.
      
      So I'm creating yet another all over the place patch to cut the
      last dependency for building omap2+ for ARM multiplatform. After
      this, we have finally removed the driver dependencies to the
      arch/arm code, except for few drivers that are being worked on.
      
      The other option was to make the <plat-omap/dma-omap.h> path
      to work, but we'd have to add some new header directory to for
      multiplatform builds.
      
      Or we would have to manually include arch/arm/plat-omap/include
      again from arch/arm/Makefile for omap2+.
      
      Neither of these alternatives sound appealing as they will
      likely lead addition of various other headers exposed to the
      drivers, which we want to avoid for the multiplatform kernels.
      
      Since we already have a minimal include/linux/omap-dma.h,
      let's just use that instead and add a note to it to not
      use the custom omap DMA functions any longer where possible.
      
      Note that converting omap DMA to dmaengine depends on
      dmaengine supporting automatically incrementing the FIFO
      address at the device end, and converting all the remaining
      legacy drivers. So it's going to be few more merge windows.
      
      [1] https://patchwork.kernel.org/patch/1519591/#
      
      cc: Russell King <linux@arm.linux.org.uk>
      cc: Kevin Hilman <khilman@ti.com>
      cc: "Benoît Cousson" <b-cousson@ti.com>
      cc: Herbert Xu <herbert@gondor.apana.org.au>
      cc: "David S. Miller" <davem@davemloft.net>
      cc: Vinod Koul <vinod.koul@intel.com>
      cc: Dan Williams <djbw@fb.com>
      cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
      cc: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
      cc: David Woodhouse <dwmw2@infradead.org>
      cc: Kyungmin Park <kyungmin.park@samsung.com>
      cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
      cc: Hans Verkuil <hans.verkuil@cisco.com>
      cc: Vaibhav Hiremath <hvaibhav@ti.com>
      cc: Lokesh Vutla <lokeshvutla@ti.com>
      cc: Rusty Russell <rusty@rustcorp.com.au>
      cc: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
      cc: Afzal Mohammed <afzal@ti.com>
      cc: linux-crypto@vger.kernel.org
      cc: linux-media@vger.kernel.org
      cc: linux-mtd@lists.infradead.org
      cc: linux-usb@vger.kernel.org
      cc: linux-fbdev@vger.kernel.org
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      45c3eb7d
  4. 22 11月, 2012 5 次提交
  5. 19 11月, 2012 2 次提交
  6. 16 11月, 2012 2 次提交
  7. 08 11月, 2012 8 次提交
  8. 06 11月, 2012 2 次提交
  9. 31 10月, 2012 4 次提交