16 Sep, 2009

1 commit


02 Sep, 2009

1 commit


01 Sep, 2009

1 commit


24 Aug, 2009

1 commit

  • In certain configurations linux/err.h is not included through alternate
    means, resulting in:

    drivers/usb/gadget/m66592-udc.c:1646: error: implicit declaration of function 'IS_ERR'
    drivers/usb/gadget/m66592-udc.c:1649: error: implicit declaration of function 'PTR_ERR'
    distcc[15083] ERROR: compile drivers/usb/gadget/m66592-udc.c on localhost failed
    make[3]: *** [drivers/usb/gadget/m66592-udc.o] Error 1
    make[2]: *** [drivers/usb/gadget] Error 2
    make[1]: *** [drivers] Error 2
    make: *** [sub-make] Error 2

    Caught with an ARM config in -next.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

21 Aug, 2009

1 commit


20 Aug, 2009

4 commits

  • This patch improves the disable_controller() function in the
    r8a66597-udc driver to disable all interrupts and also clear
    status flags. With this patch in place the driver survives
    kexec.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • This patch updates the r8a66597-udc buffer management code.

    Use fixed buffers for bulk and isochronous pipes, also make
    sure to handle the isochronous-as-bulk case. With fixed buffers
    there is no need to keep track of used buffers with bi_bufnum.

    Also, this fixes a potential buffer offset problem where the
    base offset incorrectly varies with the number of pipes used.

    The m66592 driver recently got fixed in a similar way.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • Add support for the clock framework to the r8a66597 gadget driver.
    This is needed to control the clock driving the USB block.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     
  • While in-tree support for the R8A66597 host side has been supported for
    some time, the peripheral side has so far been unsupported. This adds a
    new USB gadget driver which bridges the gap and finally wires up the
    peripheral side as well.

    Signed-off-by: Yoshihiro Shimoda
    Tested-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Yoshihiro Shimoda
     

13 Aug, 2009

3 commits


23 Jul, 2009

1 commit

  • Convert the m66592-udc driver to use the on_chip flag
    from platform data to enable on chip behaviour instead
    of relying on CONFIG_SUPERH_BUILT_IN_M66592 ugliness.

    This makes the code cleaner and also allows us to support
    both external and internal m66592 with the same kernel.

    It also makes the Kconfig part more future proof since
    we with this patch can add support for new processors
    with on-chip m66592 without modifying the Kconfig.

    The patch adds a m66592 header file for platform data
    and ties in platform data to the existing m66592 devices.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

20 Jul, 2009

1 commit


14 Jul, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (48 commits)
    USB: otg: fix module reinsert issue
    USB: handle zero-length usbfs submissions correctly
    USB: EHCI: report actual_length for iso transfers
    USB: option: remove unnecessary and erroneous code
    USB: cypress_m8: remove invalid Clear-Halt
    USB: musb_host: undo incorrect change in musb_advance_schedule()
    USB: fix LANGID=0 regression
    USB: serial: sierra driver id_table additions
    USB serial: Add ID for Turtelizer, an FT2232L-based JTAG/RS-232 adapter.
    USB: fix race leading to a write after kfree in usbfs
    USB: Sierra: fix oops upon device close
    USB: option.c: add A-Link 3GU device id
    USB: Serial: Add support for Arkham Technology adapters
    USB: Fix option_ms regression in 2.6.31-rc2
    USB: gadget audio: select SND_PCM
    USB: ftdi: support NDI devices
    Revert USB: usbfs: deprecate and hide option for !embedded
    USB: usb.h: fix kernel-doc notation
    USB: RNDIS gadget, fix issues talking from PXA
    USB: serial: FTDI with product code FB80 and vendor id 0403
    ...

    Linus Torvalds
     

13 Jul, 2009

8 commits

  • Fix USB gadget audio: select SND_PCM, like many other sound
    drivers do, to fix build errors:

    drivers/built-in.o: In function `f_audio_playback_work':
    audio.c:(.text+0x15a3e7): undefined reference to `snd_pcm_kernel_ioctl'
    audio.c:(.text+0x15a471): undefined reference to `snd_pcm_lib_write'
    drivers/built-in.o: In function `_snd_pcm_hw_param_set':
    audio.c:(.text+0x15aca7): undefined reference to `snd_interval_refine'
    drivers/built-in.o: In function `gaudio_setup':
    (.init.text+0x12adf): undefined reference to `_snd_pcm_hw_params_any'
    drivers/built-in.o: In function `gaudio_setup':
    (.init.text+0x12b43): undefined reference to `snd_pcm_kernel_ioctl'

    Signed-off-by: Randy Dunlap
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • The reworked Ethernet gadget has an RNDIS interop problem when used
    with the CDC subset driver ... e.g. on PXA 2xx and 3xx hardware,
    which currently has a hard time talking to MS-Windows hosts.

    The issue is that Microsoft requires USB_CLASS_COMM. Fix by tweaking
    the CDC subset driver to not switch to USB_CLASS_VENDOR_SPEC if RNDIS
    is used in some other device configuration.

    [ UPDATED: some "statements" were comma-terminated; fix that. ]

    Signed-off-by: David Brownell
    Cc: Aric Blumer
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Fix config-dependent compiler warning:

    CC drivers/usb/gadget/pxa25x_udc.o
    drivers/usb/gadget/pxa25x_udc.c: In function 'pxa25x_udc_irq':
    drivers/usb/gadget/pxa25x_udc.c:1806: warning: array subscript is above array bounds

    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Use gpio_is_valid instead of assuming that every GPIO
    number != 0 is valid while 0 is not.

    Signed-off-by: Philipp Zabel
    Acked-by: Eric Miao
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Philipp Zabel
     
  • Support OID_802_3_MAC_OPTIONS in gen_ndis_query_resp() of rndis.c to
    make RNDIS gadget pass 1c_SetMulticast subtest in Microsoft NDISTest6:

    http://www.microsoft.com/whdc/DevTools/tools/NDIStest.mspx

    The other tests in NDISTest6 are passed.

    [ dbrownell@users.sourceforge.net: remove OID_802_3_MAXIMUM_LIST_SIZE
    setting ... it was bogus, this code only handles one entry, not 32.
    And we don't know what would break if we lied about that... ]

    Signed-off-by: Helen Chen
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Qiuping Chen
     
  • The audio gadget driver should use a "Linux" device id, instead
    of relying on NetChip's vendor id. So provide one out of our reserved
    namespace.

    Cc: Bryan Wu
    Cc: Mike Frysinger
    Cc: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Move USB_GADGET_IMX to the right section of Kconfig as this
    controller is available only as integrated on i.MX CPU.

    Signed-off-by: Paulius Zaleckas
    Signed-off-by: Greg Kroah-Hartman

    Paulius Zaleckas
     
  • * Remove smp_lock.h from files which don't need it (including some headers!)
    * Add smp_lock.h to files which do need it
    * Make smp_lock.h include conditional in hardirq.h
    It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT

    This will make hardirq.h inclusion cheaper for every PREEMPT=n config
    (which includes allmodconfig/allyesconfig, BTW)

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

06 Jul, 2009

1 commit


04 Jul, 2009

1 commit

  • This patch updates the m66592-udc buffer management code.

    Use fixed buffers for bulk and isochronous pipes, also make
    sure to handle the isochronous-as-bulk case. With fixed buffers
    there is no need to keep track of used buffers with bi_bufnum.

    Also, this fixes a potential buffer offset problem where the
    base offset incorrectly varies with the number of pipes used.

    With this patch applied it is possible to use m66592-udc for
    both Ethernet and Serial using CONFIG_USB_CDC_COMPOSITE.

    Signed-off-by: Magnus Damm
    Acked-by: Yoshihiro Shimoda
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Paul Mundt

    Magnus Damm
     

17 Jun, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits)
    USB: xhci depends on PCI.
    USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries.
    USB: xhci: Respect critical sections.
    USB: xHCI: Fix interrupt moderation.
    USB: xhci: Remove packed attribute from structures.
    usb; xhci: Fix TRB offset calculations.
    USB: xhci: replace if-elseif-else with switch-case
    USB: xhci: Make xhci-mem.c include linux/dmapool.h
    USB: xhci: drop spinlock in xhci_urb_enqueue() error path.
    USB: Change names of SuperSpeed ep companion descriptor structs.
    USB: xhci: Avoid compiler reordering in Link TRB giveback.
    USB: xhci: Clean up xhci_irq() function.
    USB: xhci: Avoid global namespace pollution.
    USB: xhci: Fix Link TRB handoff bit twiddling.
    USB: xhci: Fix register write order.
    USB: xhci: fix some compiler warnings in xhci.h
    USB: xhci: fix lots of compiler warnings.
    USB: xhci: use xhci_handle_event instead of handle_event
    USB: xhci: URB cancellation support.
    USB: xhci: Scatter gather list support for bulk transfers.
    ...

    Linus Torvalds
     

16 Jun, 2009

14 commits

  • The toggle_bias() function was specified differently for avr32 and at91
    architectures. Now, new at91 have the same behavior as avr32.
    Consequently, we change to a particular chip function definition: only for
    at91sam9rl.

    Signed-off-by: Nicolas Ferre
    Acked-by: Haavard Skinnemoen
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Nicolas Ferre
     
  • Intel Langwell USB Device Controller is a High-Speed USB OTG device
    controller in Intel Moorestown platform. It can work in OTG device mode
    with Intel Langwell USB OTG transceiver driver as well as device-only
    mode. The number of programmable endpoints is different through
    controller revision.

    NOTE:
    This patch is the first version Intel Langwell USB OTG device controller
    driver. The bug fixing is on going for some hardware and software
    issues. Intel Langwell USB OTG transceiver driver and EHCI driver
    patches will be submitted later.

    Supported features:
    - USB OTG protocol support with Intel Langwell USB OTG transceiver
    driver (turn on CONFIG_USB_LANGWELL_OTG)
    - Support control, bulk, interrupt and isochronous endpoints
    (isochronous not tested)
    - PCI D0/D3 power management support
    - Link Power Management (LPM) support

    Tested gadget drivers:
    - g_file_storage
    - g_ether
    - g_zero

    The passed tests:
    - g_file_storage: USBCV Chapter 9 tests
    - g_file_storage: USBCV MSC tests
    - g_file_storage: from/to host files copying
    - g_ether: ping, ftp and scp files from/to host
    - Hotplug, with and without hubs

    Known issues:
    - g_ether: failed part of USBCV chap9 tests
    - LPM support not fully tested

    TODO:
    - g_ether: pass all USBCV chap9 tests
    - g_zero: pass usbtest tests
    - Stress tests on different gadget drivers
    - On-chip private SRAM caching support

    Signed-off-by: Xiaochen Shen
    Signed-off-by: Greg Kroah-Hartman

    Xiaochen Shen
     
  • Funtions added:
    - setup all the USB audio class device descriptors
    - handle class specific setup request
    - receive data from USB host by ISO transfer
    - play audio data by ALSA sound card
    - open and setup playback PCM interface
    - set default playback PCM parameters
    - provide playback functions for USB audio driver
    - provide PCM parameters set/get functions

    Test on:
    - Host: Ubuntu 8.10, kernel 2.6.27
    - Gadget: EZKIT-BF548 with ASoC AD1980 codec

    Todo:
    - add real Mute control code
    - add real Volume control code
    - maybe find another way to replace dynamic buffer handling
    with static buffer allocation
    - test on Windows system
    - provide control interface to handle mute/volume control
    - provide capture interface in the future
    - test on BF527, other USB device controler and other audio codec

    Signed-off-by: Bryan Wu
    Signed-off-by: Mike Frysinger
    Signed-off-by: Greg Kroah-Hartman

    Bryan Wu
     
  • Driver support for the new high-speed/OtG block that is
    in the newer line of Samsung SoC devices such as the
    S3C64XX series.

    This driver does not currntly have DMA support enabled due
    to issues with buffer alignment which need to be sorted out.

    Signed-off-by: Ben Dooks
    Signed-off-by: Greg Kroah-Hartman

    Ben Dooks
     
  • This patch adds support for i.MX3x (only tested with i.MX31 so far) ARM
    SoCs to the fsl_usb2_udc driver. It also moves PHY configuration before
    controller reset, because otherwise an ULPI PHY doesn't get a reset and
    doesn't function after a reboot. The problem with longer control transfers
    is still not fixed. The patch renames the fsl_usb2_udc.c file to
    fsl_udc_core.c to preserve the same module name for user-space
    backwards compatibility.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Greg Kroah-Hartman

    Guennadi Liakhovetski
     
  • This patch fixes a bug in the RNDIS code.

    Due to this bug gether_connect() fails as the port remains un-initialized.

    As a result following USB Compliance Tests were failing.
    (1)EndpointDescriptorTest_DeviceConfigured
    (2)Interface Descriptor Test.
    (3)Halt Endpoint Test.
    (4)SetConfigurationTest

    The fix aligns rndis code with the CDC ECM for xxx_set_alt().

    The above listed USB Compliance test passes with this fix.

    Tested working fine on SDP with OMAP 3430.

    Signed-off-by: Maulik Mankad
    CC: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Maulik Mankad
     
  • When a zero-length packet has been requested and another packet is
    written into the fifo, the MX1 tends to send the first byte of the
    previous packet instead of the first byte of the current packet.
    The CRC is adjusted accordingly so that this packet is _not_
    discarded by the host.

    Waiting for the ZLPS bit to clear avoids these bad packets.

    Signed-off-by: Daniel Glöckner
    Cc: Darius Augulis
    Cc: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Daniel Glöckner
     
  • Some usb serial host drivers expect a short packet before they forward
    the data to the application. This is caused by them trying to read more
    than one packet at a time. So when the gadget sends an exact multiple
    of the maximum packet size, it should append a zero-length packet.

    Signed-off-by: Daniel Glöckner
    Cc: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Daniel Glöckner
     
  • cppcheck found another leak in drivers/usb/gadget/imx_udc.c

    Cc: Mike Lee
    Cc: Darius Augulis
    Signed-off-by: Daniel Mack
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Daniel Mack
     
  • This patch (as1233) makes g_file_storage use the "unaligned" accessors.
    This is based on work originally done by Harvey Harrison.

    Signed-off-by: Alan Stern
    Acked-by: Harvey Harrison
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Since the PXA 27x UDC automatically ACK's some control
    packets such as SET_INTERFACE, the gadgets may not get a
    chance to process the request before another control packet
    is received. The Linux gadgets do not expect to receive
    setup callbacks out of order. The file storage gadget only
    saves the "highest" priority request.

    The PXA27x UDC driver must make sure it only sends one up at
    a time, allowing the gadget to make changes before
    continuing. In theory, the host would be NACK'd while the
    gadget processes the change but the UDC has already ACK'd
    the request. If another request is sent by the host that is
    not automatically ACK'd by the UDC, then the throttling
    happens properly to regain sync.

    The observed case was the file_storage gadget timing out on
    a BulkReset request because the SET_INTERFACE was being
    processed by the gadget. Since SET_INTERFACE is higher
    priority than BulkReset, the BulkReset was dropped. This
    was exacerbated by turning on the debug which delayed the
    fsg signal processing thread.

    This also fixes the "should never get in
    WAIT_ACK_SET_CONF_INTERF state here!!!" warning.

    Reported-by: Vernon Sauder
    Signed-off-by: Robert Jarzmik
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    index 51790b0..1937d8c 100644

    Robert Jarzmik
     
  • Got pxa27x_udc working on the pxa320 Nomad platform. The
    problem was that the pxa3xx UDC is not quite compatible with
    the pxa27x UDC in how it handles back-to-back control
    packets. The pxa27x probably drops them by default, but the
    pxa320 does not, and you have to detect it and set the OPC
    bit to clear the zero-length packet.

    Signed-off-by: Aric Blumer
    Signed-off-by: Robert Jarzmik
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Robert Jarzmik
     
  • Follow pxa27x change in OTGPH handling, and use the newly
    defined pxa27x_clear_otgph().

    Signed-off-by: Robert Jarzmik
    Acked-by: Eric Miao
    Acked-by: David Brownell

    David Brownell
     
  • Use helper functions to determine the type and direction of an endpoint
    instead of fiddling with bEndpointAddress and bmAttributes

    Signed-off-by: Matthias Kaehlcke
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Matthias Kaehlcke