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

2 commits


07 Jan, 2009

1 commit


07 Aug, 2008

3 commits


22 Jul, 2008

1 commit


10 Jul, 2008

1 commit

  • Support for the at91sam9g20 : Atmel 400Mhz ARM 926ej-s SOC.

    AT91sam9g20 is an evolution of the at91sam9260 with a faster clock
    speed.
    We created a new board for this device but based the chip support
    directly on 9260 files with little updates.
    Here is the chip page on Atmel wabsite:
    http://atmel.com/dyn/products/product_card.asp?part_id=4337

    Signed-off-by: Sedji Gaouaou
    Signed-off-by: Justin Waters
    Acked-by: Andrew Victor
    Signed-off-by: Russell King

    sedji gaouaou
     

29 Apr, 2008

1 commit


25 Apr, 2008

2 commits


11 Apr, 2008

1 commit

  • Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
    prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable usb
    peripheral drivers, to re-eable module auto loading.

    [dbrownell@users.sourceforge.net: registration fixes]
    Signed-off-by: Kay Sievers
    Signed-off-by: David Brownell
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kay Sievers
     

02 Feb, 2008

3 commits

  • Various small at91_udc cleanups:

    - Use generic GPIO calls, not older platform-specific ones
    - Use gpio_request()/gpio_free()
    - Use VERBOSE_DEBUG convention, not older VERBOSE
    - Fix sparse complaint about parameter type (changed to gfp_t)
    - Add missing newline to some rarely-seen debug messages
    - Fix some old cleanup bugs on probe() fault paths

    Also add a mechanism whereby rm9200 gpios can drive the D+ pullup
    through an inverting transistor, based on a patch from Steve Birtles.
    Most UDC drivers supporting a GPIO based pullup should probably have
    such an option, but testing it requries such a board in hand!

    Signed-off-by: David Brownell
    Cc: Steve Birtles
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • Fix a small glitch noted by Yannick Cote. There is no endpoint number
    six, so if a (broken) host wrongly tried to change or read status of
    that endpoint, the driver could access reserved register space.

    Signed-off-by: David Brownell
    Cc: Yannick Cote
    Signed-off-by: Greg Kroah-Hartman

    David Brownell
     
  • I'm having problem with oopses when rebooting, if I modprobe g_serial
    and rmmod g_serial and do a reboot I get an oops in device_shutdown().
    The reason seems to be that usb_gadget_unregister_driver() doesn't do
    enough cleanup. With this at91_udc patch I don't get the oops.

    Signed-off-by: Patrik Sevallius
    [ Same bug was in other peripheral controller drivers; fixed ]
    Signed-off-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Patrik Sevallius
     

18 Dec, 2007

1 commit

  • Correct hanging while disconnecting the USB device cable. Prevent a race
    between vbus and UDP interrupts. This bug was tracked on at91sam9260ek
    boards.

    A usb resume interrupt was firing after the vbus interrupt : the IP was
    then already stoped and not able to deal with it (no more clock). A simple
    interrupt disabling is ok as the "end of bus reset" irq is non maskable and
    ok to resume the USB device IP.

    Signed-off-by: Nicolas Ferre
    Acked-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Nicolas Ferre
     

13 Oct, 2007

1 commit


13 Jul, 2007

1 commit

  • This patch removes controller driver infrastructure which supported
    the now-removed usb_ep_{alloc,free}_buffer() calls.

    As can be seen, many of the implementations of this were broken to
    various degrees. Many didn't properly return dma-coherent mappings;
    those which did so were necessarily ugly because of bogosity in the
    underlying dma_free_coherent() calls ... which on many platforms
    can't be called from the same contexts (notably in_irq) from which
    their dma_alloc_coherent() sibling can be called.

    The main potential downside of removing this is that gadget drivers
    wouldn't have specific knowledge that the controller drivers have:
    endpoints that aren't dma-capable don't need any dma mappings at all.

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

    David Brownell
     

09 May, 2007

1 commit


10 Mar, 2007

1 commit


20 Feb, 2007

1 commit

  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (117 commits)
    [ARM] 4058/2: iop32x: set ->broken_parity_status on n2100 onboard r8169 ports
    [ARM] 4140/1: AACI stability add ac97 timeout and retries
    [ARM] 4139/1: AACI record support
    [ARM] 4138/1: AACI: multiple channel support for IRQ handling
    [ARM] 4211/1: Provide a defconfig for ns9xxx
    [ARM] 4210/1: base for new machine type "NetSilicon NS9360"
    [ARM] 4222/1: S3C2443: Remove reference to missing S3C2443_PM
    [ARM] 4221/1: S3C2443: DMA support
    [ARM] 4220/1: S3C24XX: DMA system initialised from sysdev
    [ARM] 4219/1: S3C2443: DMA source definitions
    [ARM] 4218/1: S3C2412: fix CONFIG_CPU_S3C2412_ONLY wrt to S3C2443
    [ARM] 4217/1: S3C24XX: remove the dma channel show at startup
    [ARM] 4090/2: avoid clash between PXA and SA1111 defines
    [ARM] 4216/1: add .gitignore entries for ARM specific files
    [ARM] 4214/2: S3C2410: Add Armzone QT2410
    [ARM] 4215/1: s3c2410 usb device: per-platform vbus_draw
    [ARM] 4213/1: S3C2410 - Update definition of ADCTSC_XY_PST
    [ARM] 4098/1: ARM: rtc_lock only used with rtc_cmos
    [ARM] 4137/1: Add kexec support
    [ARM] 4201/1: SMP barriers pair needed for the secondary boot process
    ...

    Fix up conflict due to typedef removal in sound/arm/aaci.h

    Linus Torvalds
     

17 Feb, 2007

1 commit

  • This is a runtime codespace shrink: in most cases, platform devices should
    put probe() should in the init section, and remove() in the exit section.
    And I have no idea why the module init/exit routines were mismarked.
    It also moves one function table into read-only data.

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

    David Brownell
     

15 Feb, 2007

1 commit

  • After Al Viro (finally) succeeded in removing the sched.h #include in module.h
    recently, it makes sense again to remove other superfluous sched.h includes.
    There are quite a lot of files which include it but don't actually need
    anything defined in there. Presumably these includes were once needed for
    macros that used to live in sched.h, but moved to other header files in the
    course of cleaning it up.

    To ease the pain, this time I did not fiddle with any header files and only
    removed #includes from .c-files, which tend to cause less trouble.

    Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
    arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
    allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
    configs in arch/arm/configs on arm. I also checked that no new warnings were
    introduced by the patch (actually, some warnings are removed that were emitted
    by unnecessarily included header files).

    Signed-off-by: Tim Schmielau
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

08 Feb, 2007

3 commits

  • Add support for the Atmel AT91SAM9263 processor. It is similar to the
    AT91SAM9260 but with more integrated peripherals, 5 GPIO banks, etc.

    Original patch from Nicolas Ferre.

    Signed-off-by: Andrew Victor
    Signed-off-by: Russell King

    Andrew Victor
     
  • This updates the AT91 UDC driver's handling of wakeup events:

    - Fix a bug in the original scheme, which was never updated after
    the {enable,disable}_irq_wake() semantics were updated to address
    refcounting issues (i.e. behave for shared irqs).

    - Couple handling of both type of wakeup events, to be more direct. The
    controller can be source of wakeup events for cases like bus reset
    and USB resume. On some boards, VBUS sensing is also IRQ driven.

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

    David Brownell
     
  • This moves to to reduce some of the
    clutter of usb header files.

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

    David Brownell
     

21 Dec, 2006

6 commits

  • This patch performs additional checks in at91_udc, just in case of
    some spurious interrupts or device enumeration.

    Signed-off-by: Wojtek Kaniewski
    Acked-by: David Brownell
    Cc: Andrew Victor
    Signed-off-by: Greg Kroah-Hartman

    Wojtek Kaniewski
     
  • This patch zeroes some variables when usb_gadget_register_driver()
    fails. gadgetfs does a dummy registration to get the name of the USB
    driver and then waits for user-land driver. If someone plugs the cable
    in the meantime, bad things happen, because at91_udc has been left in
    inconsistent state.

    Signed-off-by: Wojtek Kaniewski
    Acked-by: David Brownell
    Cc: Andrew Victor
    Signed-off-by: Greg Kroah-Hartman

    Wojtek Kaniewski
     
  • This patch allows gadget drivers that support high speed (e.g. gadgetfs)
    to work properly with at91_udc.

    Fix suggested by Milan Svoboda in
    http://marc.theaimsgroup.com/?l=linux-usb-devel&m=115822184711817

    Signed-off-by: Wojtek Kaniewski
    Acked-by: David Brownell
    Cc: Andrew Victor
    Signed-off-by: Greg Kroah-Hartman

    Wojtek Kaniewski
     
  • This is an update to the AT91 USB Device (Gadget) driver.

    Adds support for the Atmel AT91SAM9260 and AT91SAM9261 processors. The
    only difference is how they handle the pullup pin.
    [Patch from Patrice Vilchez]

    Need to clear any pending USB Device interrupts before registering the
    interrupt handler. The bootloader might have been using the USB Device
    port. [Patch from Peer Georgi]

    VBUS detection is handled by a GPIO interrupt which only triggers on a
    change. Is is therefore necessary to read the current VBUS state
    explicitly at startup. [Patch from Peer Georgi]

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

    Andrew Victor
     
  • This is an update to the AT91 USB Device (Gadget) driver.

    The base I/O address provided in the platform_device resources is now
    ioremap()'ed instead of using a statically mapped memory area. This
    helps portability to the newer AT91sam926x processors.

    The major change is that we now have to pass a 'struct at91_udc'
    parameter to at91_udp_read() and at91_udp_write().

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

    Andrew Victor
     
  • Allow gadget drivers to omit the unbind() method. When they're
    statically linked, that's an appropriate memory saving tweak.

    Similarly, provide consistent/simpler handling for a should-not-happen
    error case: removing a peripheral controller driver when a gadget
    driver is still loaded. Such code dates back to early versions of the
    first implementation of the gadget API, and has never been triggered.

    Includes relevant section annotation fixs for gmidi.c, file_storage.c,
    and serial.c; we don't yet have an "init or exit" annotation. Also
    some whitespace fixes in gmidi.c (space at EOL, before tabs, etc).

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

    David Brownell
     

14 Dec, 2006

1 commit

  • All kcalloc() calls of the form "kcalloc(1,...)" are converted to the
    equivalent kzalloc() calls, and a few kcalloc() calls with the incorrect
    ordering of the first two arguments are fixed.

    Signed-off-by: Robert P. J. Day
    Cc: Jeff Garzik
    Cc: Alan Cox
    Cc: Dominik Brodowski
    Cc: Adam Belay
    Cc: James Bottomley
    Cc: Greg KH
    Cc: Mark Fasheh
    Cc: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     

05 Oct, 2006

1 commit

  • Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
    of passing regs around manually through all ~1800 interrupt handlers in the
    Linux kernel.

    The regs pointer is used in few places, but it potentially costs both stack
    space and code to pass it around. On the FRV arch, removing the regs parameter
    from all the genirq function results in a 20% speed up of the IRQ exit path
    (ie: from leaving timer_interrupt() to leaving do_IRQ()).

    Where appropriate, an arch may override the generic storage facility and do
    something different with the variable. On FRV, for instance, the address is
    maintained in GR28 at all times inside the kernel as part of general exception
    handling.

    Having looked over the code, it appears that the parameter may be handed down
    through up to twenty or so layers of functions. Consider a USB character
    device attached to a USB hub, attached to a USB controller that posts its
    interrupts through a cascaded auxiliary interrupt controller. A character
    device driver may want to pass regs to the sysrq handler through the input
    layer which adds another few layers of parameter passing.

    I've build this code with allyesconfig for x86_64 and i386. I've runtested the
    main part of the code on FRV and i386, though I can't test most of the drivers.
    I've also done partial conversion for powerpc and MIPS - these at least compile
    with minimal configurations.

    This will affect all archs. Mostly the changes should be relatively easy.
    Take do_IRQ(), store the regs pointer at the beginning, saving the old one:

    struct pt_regs *old_regs = set_irq_regs(regs);

    And put the old one back at the end:

    set_irq_regs(old_regs);

    Don't pass regs through to generic_handle_irq() or __do_IRQ().

    In timer_interrupt(), this sort of change will be necessary:

    - update_process_times(user_mode(regs));
    - profile_tick(CPU_PROFILING, regs);
    + update_process_times(user_mode(get_irq_regs()));
    + profile_tick(CPU_PROFILING);

    I'd like to move update_process_times()'s use of get_irq_regs() into itself,
    except that i386, alone of the archs, uses something other than user_mode().

    Some notes on the interrupt handling in the drivers:

    (*) input_dev() is now gone entirely. The regs pointer is no longer stored in
    the input_dev struct.

    (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does
    something different depending on whether it's been supplied with a regs
    pointer or not.

    (*) Various IRQ handler function pointers have been moved to type
    irq_handler_t.

    Signed-Off-By: David Howells
    (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)

    David Howells
     

29 Sep, 2006

1 commit

  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (130 commits)
    [ARM] 3856/1: Add clocksource for Intel IXP4xx platforms
    [ARM] 3855/1: Add generic time support
    [ARM] 3873/1: S3C24XX: Add irq_chip names
    [ARM] 3872/1: S3C24XX: Apply consistant tabbing to irq_chips
    [ARM] 3871/1: S3C24XX: Fix ordering of EINT4..23
    [ARM] nommu: confirms the CR_V bit in nommu mode
    [ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores.
    [ARM] 3870/1: AT91: Start removing static memory mappings
    [ARM] 3869/1: AT91: NAND support for DK and KB9202 boards
    [ARM] 3868/1: AT91 hardware header update
    [ARM] 3867/1: AT91 GPIO update
    [ARM] 3866/1: AT91 clock update
    [ARM] 3865/1: AT91RM9200 header updates
    [ARM] 3862/2: S3C2410 - add basic power management support for AML M5900 series
    [ARM] kthread: switch arch/arm/kernel/apm.c
    [ARM] Off-by-one in arch/arm/common/icst*
    [ARM] 3864/1: Refactore sharpsl_pm
    [ARM] 3863/1: Add Locomo SPI Device
    [ARM] 3847/2: Convert LOMOMO to use struct device for GPIOs
    [ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h
    ...

    Linus Torvalds
     

28 Sep, 2006

2 commits


03 Aug, 2006

1 commit

  • UDC updates for AT91 series processors:

    - Get ready for at91sam926x processors (ARMv5tej not ARMv4t)

    - Suspend/resume support now behaves properly

    - In "standby" mode, UDC can be a source of system wakeup events
    (host resume, device connect/disconnect, etc)

    - Fix IRQ storming issues, seemingly related to clock disabling
    changes that went in a while back

    And minor cleanups, especially whitespace.

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

    David Brownell
     

03 Jul, 2006

1 commit