14 Dec, 2006

2 commits

  • Run this:

    #!/bin/sh
    for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
    echo "De-casting $f..."
    perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
    done

    And then go through and reinstate those cases where code is casting pointers
    to non-pointers.

    And then drop a few hunks which conflicted with outstanding work.

    Cc: Russell King , Ian Molton
    Cc: Mikael Starvik
    Cc: Yoshinori Sato
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Kyle McMartin
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Greg KH
    Cc: Jens Axboe
    Cc: Paul Fulghum
    Cc: Alan Cox
    Cc: Karsten Keil
    Cc: Mauro Carvalho Chehab
    Cc: Jeff Garzik
    Cc: James Bottomley
    Cc: Ian Kent
    Cc: Steven French
    Cc: David Woodhouse
    Cc: Neil Brown
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • 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
     

09 Dec, 2006

2 commits

  • This is the grungy swap all the occurrences in the right places patch that
    goes with the updates. At this point we have the same functionality as
    before (except that sgttyb() returns speeds not zero) and are ready to
    begin turning new stuff on providing nobody reports lots of bugs

    If you are a tty driver author converting an out of tree driver the only
    impact should be termios->ktermios name changes for the speed/property
    setting functions from your upper layers.

    If you are implementing your own TCGETS function before then your driver
    was broken already and its about to get a whole lot more painful for you so
    please fix it 8)

    Also fill in c_ispeed/ospeed on init for most devices, although the current
    code will do this for you anyway but I'd like eventually to lose that extra
    paranoia

    [akpm@osdl.org: bluetooth fix]
    [mp3@de.ibm.com: sclp fix]
    [mp3@de.ibm.com: warning fix for tty3270]
    [hugh@veritas.com: fix tty_ioctl powerpc build]
    [jdike@addtoit.com: uml: fix ->set_termios declaration]
    Signed-off-by: Alan Cox
    Signed-off-by: Martin Peschke
    Acked-by: Peter Oberparleiter
    Cc: Cornelia Huck
    Signed-off-by: Hugh Dickins
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Signed-off-by: Josef Sipek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josef Sipek
     

08 Dec, 2006

3 commits

  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (76 commits)
    [ARM] 4002/1: S3C24XX: leave parent IRQs unmasked
    [ARM] 4001/1: S3C24XX: shorten reboot time
    [ARM] 3983/2: remove unused argument to __bug()
    [ARM] 4000/1: Osiris: add third serial port in
    [ARM] 3999/1: RX3715: suspend to RAM support
    [ARM] 3998/1: VR1000: LED platform devices
    [ARM] 3995/1: iop13xx: add iop13xx support
    [ARM] 3968/1: iop13xx: add iop13xx_defconfig
    [ARM] Update mach-types
    [ARM] Allow gcc to optimise arm_add_memory a little more
    [ARM] 3991/1: i.MX/MX1 high resolution time source
    [ARM] 3990/1: i.MX/MX1 more precise PLL decode
    [ARM] 3986/1: H1940: suspend to RAM support
    [ARM] 3985/1: ixp4xx clocksource cleanup
    [ARM] 3984/1: ixp4xx/nslu2: Fix disk LED numbering (take 2)
    [ARM] 3994/1: ixp23xx: fix handling of pci master aborts
    [ARM] 3981/1: sched_clock for PXA2xx
    [ARM] 3980/1: extend the ARM Versatile sched_clock implementation from 32 to 63 bit
    [ARM] 3979/1: extend the SA11x0 sched_clock implementation from 32 to 63 bit period
    [ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter
    ...

    Linus Torvalds
     
  • Move process freezing functions from include/linux/sched.h to freezer.h, so
    that modifications to the freezer or the kernel configuration don't require
    recompiling just about everything.

    [akpm@osdl.org: fix ueagle driver]
    Signed-off-by: Nigel Cunningham
    Cc: "Rafael J. Wysocki"
    Cc: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nigel Cunningham
     
  • SLAB_KERNEL is an alias of GFP_KERNEL.

    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

05 Dec, 2006

1 commit


02 Dec, 2006

5 commits

  • Remove minor double-declaration goof.

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

    David Brownell
     
  • Make the pxa2xx_udc driver recognize a newer revision of the IXP425 chip.

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

    David Brownell
     
  • The net2280 driver is too eager to send zero-length packets when
    IN tokens are received on ep0. No such packet should be sent (the
    driver should NAK) before the gadget driver has queued the proper
    response. Otherwise deferred responses are impossible.

    This patch (as823) makes net2280 avoid sending ZLPs for IN transfers
    on ep0 until a response has been submitted, and avoids stalling when an
    OUT packet is received before a request has been submitted for an OUT
    transfer on ep0.

    Signed-off-by: Alan Stern
    Cc: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • Minor cleanup/clarification in the ethernet gadget driver, using standard
    calls to test for Ethernet multicast and broadcast addresses.

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

    David Brownell
     
  • A number of configuration file changes.

    These are mainly to replace references to ARCH_AT91RM9200 and
    ARCH_AT91SAM9261 with the common/generic ARCH_AT91. That way we don't
    need to mention every specific AT91 processor explicitly.

    Also adds the configuration option for AT91SAM9260-EK and AT91SAM9261-EK
    boards.

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

    Andrew Victor
     

22 Nov, 2006

1 commit


21 Oct, 2006

1 commit


18 Oct, 2006

2 commits


09 Oct, 2006

1 commit


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
     

04 Oct, 2006

2 commits


02 Oct, 2006

2 commits

  • In some places, particularly drivers and __init code, the init utsns is the
    appropriate one to use. This patch replaces those with a the init_utsname
    helper.

    Changes: Removed several uses of init_utsname(). Hope I picked all the
    right ones in net/ipv4/ipconfig.c. These are now changed to
    utsname() (the per-process namespace utsname) in the previous
    patch (2/7)

    [akpm@osdl.org: CIFS fix]
    Signed-off-by: Serge E. Hallyn
    Cc: Kirill Korotaev
    Cc: "Eric W. Biederman"
    Cc: Herbert Poetzl
    Cc: Andrey Savochkin
    Cc: Serge Hallyn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn
     
  • As part of an SMP cleanliness pass over UML, I consted a bunch of
    structures in order to not have to document their locking. One of these
    structures was a struct tty_operations. In order to const it in UML
    without introducing compiler complaints, the declaration of
    tty_set_operations needs to be changed, and then all of its callers need to
    be fixed.

    This patch declares all struct tty_operations in the tree as const. In all
    cases, they are static and used only as input to tty_set_operations. As an
    extra check, I ran an i386 allyesconfig build which produced no extra
    warnings.

    53 drivers are affected. I checked the history of a bunch of them, and in
    most cases, there have been only a handful of maintenance changes in the
    last six months. serial_core.c was the busiest one that I looked at.

    Signed-off-by: Jeff Dike
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

01 Oct, 2006

2 commits


29 Sep, 2006

4 commits

  • Strictly speaking, the Valid bit in SCSI sense data is supposed to
    be set only when the Information field contains a valid number. This
    patch (as793) turns off the Valid bit when the Information field
    hasn't been set.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as792) fixes "ignoring return value" warnings in
    file_storage.c.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This patch (as758) fixes the "warn-unused-result" messages in dummy-hcd.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • * '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

11 commits

  • This is more preparation for adding support for the new Atmel AT91SAM9
    processors.

    Changes include:
    - Replace AT91_BASE_* with AT91RM9200_BASE_*
    - Replace AT91_ID_* with AT91RM9200_ID_*
    - ROM, SRAM and UHP address definitions moved to at91rm9200.h.
    - The raw AT91_P[ABCD]_* definitions are now depreciated in favour of
    the GPIO API.

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

    Andrew Victor
     
  • This updates the code handling dma-coherent buffer allocations, basically
    reusing code from the musb_hdrc driver. Instead of trying to work around two
    significant limitations of the dma framework (memory wastage for buffers
    smaller than a page, and inconsistency between calling context requirements
    for allocation and free) this just works around one of them (the latter).

    So count this as two steps forward (bugfixes: the latter issue could cause
    errors on some platforms, and some MIPS changes broke code for the former),
    and one step back (increasing cross-platform memory wastage).

    Plus linelength and whitespace fixes; and minor data segment shrinkage.

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

    David Brownell
     
  • Adjust dev->dev_lock spinlock lock/unlock calls to be safe for SMP case.
    Otherwise the following sequence may lead to a deadlock in SMP case:

    gs_send()->usb_ep_queue()
    ->(in case a request is satisfied immediatly) gs_write_complete()

    for ex for pxa2xx_udc.c:
    usb_ep_queue()->pxa2xx_ep_queue()->write_fifo()->done()->gs_write_complete()
    (through req.complete pointer)

    Signed-off-by: Eugeny S. Mints
    Acked-by: David Brownell
    Signed-off-by: Greg Kroah-Hartman

    Eugeny S. Mints
     
  • For ep0out transfers (rare), be sure to copy the right data to userspace.

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

    Skip Hansen
     
  • For systems using the Mentor HDRC controllers we get better TX DMA throughput
    if we can avoid falling back to PIO to write zero length packets ... so tell
    the driver to avoid ZLPs.

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

    David Brownell
     
  • As part of the ongoing program to flatten out the HCD bus-glue layer,
    this patch (as771b) eliminates the hcpriv, release, and kref fields
    from struct usb_bus. hcpriv and release were not being used for
    anything worthwhile, and kref has been moved into the enclosing
    usb_hcd structure.

    Along with those changes, the patch gets rid of usb_bus_get and
    usb_bus_put, replacing them with usb_get_hcd and usb_put_hcd.

    The one interesting aspect is that the dev_set_drvdata call was
    removed from usb_put_hcd, where it clearly doesn't belong. This means
    the driver private data won't get reset to NULL. It shouldn't cause
    any problems, since the private data is undefined when no driver is
    bound.

    Signed-off-by: Alan Stern
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • This tiny patch fixes a typo in drivers/usb/gadget/Kconfig. The typo
    is present in 2.6.18-rc4 and in the corresponding -mm tree (and AFAIK,
    FYI and FWIW was present in previous kernel versions as well).

    From: Jules Villard
    Signed-off-by: Greg Kroah-Hartman

    Jules Villard
     
  • another gcc 4.1 signdness warning:

    drivers/usb/gadget/ether.c:2028: warning: comparison of unsigned expression < 0 is always false

    length is assigned the value of usb_ep_queue() which returns an int.
    Directly after this it is checked for < 0, which can never be true. Making
    length an int makes the error check work again.

    Signed-off-by: Eric Sesterhenn
    Acked-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Eric Sesterhenn
     
  • I spotted this during my tests with -rt on arm. The -rt patch contains
    some better tools
    to diagnose problems with locks and some other things...

    Original code tries to take semaphore in BUG_ON and then free the memory
    with this semaphore.

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

    Milan Svoboda
     
  • Add poll() support to gadgetfs ep0

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

    Milan Svoboda
     
  • Making structs const prevents accidental bugs and with the proper debug
    options they're protected against corruption.

    Signed-off-by: Luiz Fernando N. Capitulino
    Signed-off-by: Greg Kroah-Hartman

    Luiz Fernando N. Capitulino