09 Feb, 2007

6 commits


14 Dec, 2006

2 commits

  • Virtually index, physically tagged cache architectures can get away
    without cache flushing when forking. This patch adds a new cache
    flushing function flush_cache_dup_mm(struct mm_struct *) which for the
    moment I've implemented to do the same thing on all architectures
    except on MIPS where it's a no-op.

    Signed-off-by: Ralf Baechle
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • 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
     

12 Dec, 2006

1 commit

  • * 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32:
    [AVR32] Add missing #include to delay.c
    [AVR32] Pass dev parameter to dma_cache_sync()
    [AVR32] Implement intc_get_pending()
    [AVR32] Don't include
    [AVR32] Put the chip in "stop" mode when halting the system
    [AVR32] Set flow handler for external interrupts
    [AVR32] Remove unused file
    [AVR32] Remove mii_phy_addr and eth_addr from eth_platform_data
    [AVR32] Move ethernet tag parsing to board-specific code
    [AVR32] Add macb1 platform_device
    [AVR32] Portmux API update

    Linus Torvalds
     

09 Dec, 2006

1 commit

  • In order to sort out our struct termios and add proper speed control we need
    to separate the kernel and user termios structures. Glibc is fine but the
    other libraries rely on the kernel exported struct termios and we need to
    extend this without breaking the ABI/API

    To do so we add a struct ktermios which is the kernel view of a termios
    structure and overlaps the struct termios with extra fields on the end for
    now. (That limitation will go away in later patches). Some platforms (eg
    alpha) planned ahead and thus use the same struct for both, others did not.

    This just adds the structures but does not use them, it seems a sensible
    splitting point for bisect if there are compile failures (not that I expect
    them)

    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     

08 Dec, 2006

7 commits

  • Fix build breakage resulting from the extra dev parameter added to
    dma_cache_sync().

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • The macb driver will probe for the PHY chip and read the mac address
    from the MACB registers, so we don't need them in eth_platform_data
    anymore.

    Since u-boot doesn't currently initialize the MACB registers with the
    mac addresses, the tag parsing code is kept but instead of sticking
    the information into eth_platform_data, it uses it to initialize
    the MACB registers (in case the boot loader didn't do it.) This code
    should be unnecessary at some point in the future.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Rename portmux_set_func to at32_select_periph, add at32_select_gpio
    and add flags parameter to specify the initial state of the pins.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • * '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
     
  • Make the contents of the userspace asm/setup.h header consistent on all
    architectures:

    - export setup.h to userspace on all architectures
    - export only COMMAND_LINE_SIZE to userspace
    - frv: move COMMAND_LINE_SIZE from param.h
    - i386: remove duplicate COMMAND_LINE_SIZE from param.h
    - arm:
    - export ATAGs to userspace
    - change u8/u16/u32 to __u8/__u16/__u32

    Signed-off-by: Adrian Bunk
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Pass struct dev pointer to dma_cache_sync()

    dma_cache_sync() is ill-designed in that it does not have a struct device
    pointer argument which makes proper support for systems that consist of a
    mix of coherent and non-coherent DMA devices hard. Change dma_cache_sync
    to take a struct device pointer as first argument and fix all its callers
    to pass it.

    Signed-off-by: Ralf Baechle
    Cc: James Bottomley
    Cc: "David S. Miller"
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • dma_is_consistent() is ill-designed in that it does not have a struct
    device pointer argument which makes proper support for systems that consist
    of a mix of coherent and non-coherent DMA devices hard. Change
    dma_is_consistent to take a struct device pointer as first argument and fix
    the sole caller to pass it.

    Signed-off-by: Ralf Baechle
    Cc: James Bottomley
    Cc: "David S. Miller"
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     

05 Dec, 2006

1 commit

  • CONFIG_LBD and CONFIG_LSF are spread into asm/types.h for no particularly
    good reason.

    Centralising the definition in linux/types.h means that arch maintainers
    don't need to bother adding it, as well as fixing the problem with
    x86-64 users being asked to make a decision that has absolutely no
    effect.

    The H8/300 porters seem particularly confused since I'm not aware of any
    microcontrollers that need to support 2TB filesystems.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     

03 Dec, 2006

1 commit


02 Dec, 2006

1 commit

  • Add arch specific dev_archdata to struct device

    Adds an arch specific struct dev_arch to struct device. This enables
    architecture to add specific fields to every device in the system, like
    DMA operation pointers, NUMA node ID, firmware specific data, etc...

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Andi Kleen
    Acked-By: David Howells
    Signed-off-by: Greg Kroah-Hartman

    Benjamin Herrenschmidt
     

01 Dec, 2006

1 commit

  • This patch updates the drivers (and other files) which include the
    hardware headers. This fixes the breakage introduced in patches 3950/1
    and 3951/1 (those patches were getting big).

    The AVR32 architecture uses the same serial driver and had its own copy
    of at91rm9200_pdc.h. Renamed it to at91_pdc.h

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

    Andrew Victor
     

06 Nov, 2006

1 commit


26 Oct, 2006

2 commits

  • A number of new drivers require io{read,write}{8,16,32}{be,} family of io
    operations. These are provided for the AVR32 by this patch in the form of
    a series of macros.

    Access to the (memory mapped) io space through these macros is defined to
    be little endian only as little endian devices (such as PCI) are the main
    consumer of IO access. If high speed access is required,
    io{read,write}{16,32}be macros are supplied to perform native big endian
    access to this io space.

    Signed-off-by: Ben Nizette
    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Linus Torvalds

    Ben Nizette
     
  • When calling e.g. atomic_sub_return with a large constant, the
    compiler may output an immediate that is too large for the sub
    instruction in the middle of the loop.

    Fix this by explicitly specifying the number of bits allowed in the
    constraint. Also stop atomic_add_return() and friends from falling
    back to their respective "sub" variants if the constant is too large
    to fit in an immediate.

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     

12 Oct, 2006

1 commit


05 Oct, 2006

6 commits

  • Allow the board to remap actual USART peripheral devices to serial
    devices by calling at32_map_usart(hw_id, serial_line). This ensures
    that even though ATSTK1002 uses USART1 as the first serial port, it
    will still have a ttyS0 device.

    This also adds a board-specific early setup hook and moves the
    at32_setup_serial_console() call there from the platform code.

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • In order to initialize the serial console early, the atmel_serial
    driver had to do a hack where it compared the physical address of the
    port with an address known to be permanently mapped, and used it as a
    virtual address. This got around the limitation that ioremap() isn't
    always available when the console is being initalized.

    This patch removes that hack and replaces it with a new "regs" field
    in struct atmel_uart_data that the board-specific code can initialize
    to a fixed virtual mapping for platform devices where this is possible.
    It also initializes the DBGU's regs field with the address the driver
    used to check against.

    On AVR32, the "regs" field is initialized from the physical base
    address when this it can be accessed through a permanently 1:1 mapped
    segment, i.e. the P4 segment.

    If regs is NULL, the console initialization is delayed until the "real"
    driver is up and running and ioremap() can be used.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Andrew Victor
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Rename at91_register_uart_fns and associated structs and variables
    to make it consistent with the atmel_ prefix used by the rest of
    the driver.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Andrew Victor
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Rename the following public definitions:
    * AT91_NR_UART -> ATMEL_MAX_UART
    * struct at91_uart_data -> struct atmel_uart_data
    * at91_default_console_device -> atmel_default_console_device

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Andrew Victor
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Rename the following Kconfig symbols:
    * CONFIG_SERIAL_AT91 -> CONFIG_SERIAL_ATMEL
    * CONFIG_SERIAL_AT91_CONSOLE -> CONFIG_SERIAL_ATMEL_CONSOLE
    * CONFIG_SERIAL_AT91_TTYAT -> CONFIG_SERIAL_ATMEL_TTYAT

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Andrew Victor
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Move include/asm/arch/at91rm9200_usart.h into drivers/serial and rename
    it atmel_usart.h. Also delete AVR32's version of this file.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Andrew Victor
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     

02 Oct, 2006

1 commit

  • Move execve() into arch/avr32/kernel/sys_avr32.c, rename it to
    kernel_execve() and return the syscall return value directly without
    setting errno.

    This also gets rid of the __KERNEL_SYSCALLS__ stuff from unistd.h and
    expands #ifdef __KERNEL__ to cover everything in unistd.h except the
    __NR_foo definitions.

    Signed-off-by: Haavard Skinnemoen
    Cc: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     

26 Sep, 2006

2 commits

  • This patchset adds the necessary drivers and infrastructure to access the
    external flash on the ATSTK1000 board through the MTD subsystem. With this
    stuff in place, it will be possible to use a jffs2 filesystem stored in the
    external flash as a root filesystem. It might also be possible to update the
    boot loader if you drop the write protection of partition 0.

    As suggested by David Woodhouse, I reworked the patches to use the physmap
    driver instead of introducing a separate mapping driver for the ATSTK1000.
    I've also cleaned up the hsmc header by removing useless comments and
    converting spaces to tabs (my headerfile generator needs some work.)

    Unfortunately, I couldn't unlock the flash in fixup_use_atmel_lock because the
    erase regions hadn't been set up yet, so I had to do it from cfi_amdstd_setup
    instead.

    This patch:

    This adds a simple API for configuring the static memory controller along with
    an implementation for the Atmel HSMC.

    Signed-off-by: Haavard Skinnemoen
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • This adds support for the Atmel AVR32 architecture as well as the AT32AP7000
    CPU and the AT32STK1000 development board.

    AVR32 is a new high-performance 32-bit RISC microprocessor core, designed for
    cost-sensitive embedded applications, with particular emphasis on low power
    consumption and high code density. The AVR32 architecture is not binary
    compatible with earlier 8-bit AVR architectures.

    The AVR32 architecture, including the instruction set, is described by the
    AVR32 Architecture Manual, available from

    http://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf

    The Atmel AT32AP7000 is the first CPU implementing the AVR32 architecture. It
    features a 7-stage pipeline, 16KB instruction and data caches and a full
    Memory Management Unit. It also comes with a large set of integrated
    peripherals, many of which are shared with the AT91 ARM-based controllers from
    Atmel.

    Full data sheet is available from

    http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf

    while the CPU core implementation including caches and MMU is documented by
    the AVR32 AP Technical Reference, available from

    http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf

    Information about the AT32STK1000 development board can be found at

    http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3918

    including a BSP CD image with an earlier version of this patch, development
    tools (binaries and source/patches) and a root filesystem image suitable for
    booting from SD card.

    Alternatively, there's a preliminary "getting started" guide available at
    http://avr32linux.org/twiki/bin/view/Main/GettingStarted which provides links
    to the sources and patches you will need in order to set up a cross-compiling
    environment for avr32-linux.

    This patch, as well as the other patches included with the BSP and the
    toolchain patches, is actively supported by Atmel Corporation.

    [dmccr@us.ibm.com: Fix more pxx_page macro locations]
    [bunk@stusta.de: fix `make defconfig']
    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Adrian Bunk
    Signed-off-by: Dave McCracken
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen