27 May, 2008

1 commit


26 May, 2008

3 commits

  • Just provide reasonable defaults for the new stuff. Tickless and
    hrtimers are turned on for all boards except ATSTK1004.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • This patch fixes the following build error:

    ...
    MODPOST 1327 modules
    ERROR: "strnlen_user" [drivers/input/misc/uinput.ko] undefined!
    ...
    make[2]: *** [__modpost] Error 1

    Reported-by: Adrian Bunk
    Signed-off-by: Adrian Bunk
    Signed-off-by: Haavard Skinnemoen

    Adrian Bunk
     
  • This patch fixes the following build error:

    ...
    MODPOST 61 modules
    ERROR: "copy_page" [fs/fuse/fuse.ko] undefined!
    ...
    make[2]: *** [__modpost] Error 1

    Also add an empty line since *_page aren't "String functions".

    Signed-off-by: Adrian Bunk
    Signed-off-by: Haavard Skinnemoen

    Adrian Bunk
     

17 May, 2008

1 commit


04 May, 2008

1 commit

  • This replaces the duplicated arch-specific versions of "sys_pipe()" with
    one unified implementation. This removes almost 250 lines of duplicated
    code.

    It's marked __weak, so that *if* an architecture wants to override the
    default implementation it can do so by simply having its own replacement
    version, since many architectures use alternate calling conventions for
    the 'pipe()' system call for legacy reasons (ie traditional UNIX
    implementations often return the two file descriptors in registers)

    I still haven't changed the cris version even though Linus says the BKL
    isn't needed. The arch maintainer can easily do it if there are really
    no obstacles.

    Signed-off-by: Ulrich Drepper
    Signed-off-by: Linus Torvalds

    Ulrich Drepper
     

29 Apr, 2008

2 commits


28 Apr, 2008

1 commit

  • If the user specified a fixed framebuffer address on the command line, it may
    have been initialized already with a splash image or something, so we
    shouldn't clear it.

    Therefore, we should only initialize the framebuffer if we allocated it
    ourselves. This patch also updates the AVR32 setup code to clear the
    framebuffer if it allocated it itself, i.e. the user didn't provide a fixed
    address or the reservation failed.

    I've updated the at91 platform code as well so that it initializes the
    framebuffer if it is located in SRAM, but I haven't tested that it actually
    works.

    Signed-off-by: Haavard Skinnemoen
    Cc: "Antonino A. Daplas"
    Cc: Nicolas FERRE
    Cc: Andrew Victor
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     

20 Apr, 2008

9 commits

  • This patch adds in the indirect call to pm_power_off(), as is done in
    other architectures (e.g. ARM).

    Tested on NGW100, with custom board with GPIO control over main DC
    power.

    Signed-off-by: Peter Ma
    Signed-off-by: Haavard Skinnemoen

    Peter Ma
     
  • Signed-off-by: Johannes Weiner
    Signed-off-by: Haavard Skinnemoen

    Johannes Weiner
     
  • This patch is a take two of adding full functionality to PLL1 on
    AT32AP7000. This allows board-specific code and drivers to configure
    and enable PLL1. This is useful when precise control over the
    frequency of e.g. a genclock is needed and requested by users for the
    ABDAC device.

    The patch is based upon previous patches from both Haavard Skinnemoen
    and David Brownell.

    Signed-off-by: Hans-Christian Egtvedt
    Signed-off-by: Haavard Skinnemoen

    Hans-Christian Egtvedt
     
  • This combines three patches from David Brownell:
    * avr32: tclib support
    * avr32: simplify clocksources
    * avr32: Turn count/compare into a oneshot clockevent device

    Register both TC blocks (instead of just the first one) so that
    the AT32/AT91 tclib code will pick them up (instead of just the
    avr32-only PIT-style clocksource).

    Rename the first one and its resources appropriately.

    More cleanups to the cycle counter clocksource code

    - Disable all the weak symbol magic; remove the AVR32-only TCB-based
    clocksource code (source and header).

    - Mark the __init code properly.

    - Don't forget to report IRQF_TIMER.

    - Make the system work properly with this clocksource, by preventing
    use of the CPU "idle" sleep state in the idle loop when it's used.

    Package the avr32 count/compare timekeeping support as a oneshot
    clockevent device, so it supports NO_HZ and high res timers.
    This means it also supports plugging in other clockevent devices
    and clocksources.

    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    David Brownell
     
  • Create a new file, pm-at32ap700x.S, in mach-at32ap and move the CPU
    idle sleep code there. Make it possible to disable the sleep code.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Move the only thing that was actually implemented and used in
    asm/intc.h, intc_get_pending(), into asm/irq.h and delete asm/intc.h

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Start cleaning up the AVR32 clocksource mess, starting with the cycle
    counter clocksource: remove unneeded pseudo-RTC (just inline that
    call to mktime) and associated build warning, and unused sysdev.

    Add comment about the problem using the cycle counter register,
    and adjust the clocksource rating accordingly. Later patches can
    make this usable again (by disabling use of the idle state and
    providing a proper clocksource without the weak binding hacks)
    and move towards TCB-based clockevent support (including high
    resolution timers) that's shared between AT91 and AVR32.

    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    David Brownell
     
  • New-style I2C drivers require that motherboard-mounted I2C devices are
    registered with the I2C core, typically at arch_initcall time. This
    can be done nice and neat by passing the struct i2c_board_info[]
    through at32_add_device_twi just like we do for the SPI board info.

    While we've got the hood up, remove a duplicate declaration of
    at32_add_device_twi() in board.h.

    [hskinnemoen@atmel.com: add missing i2c_board_info forward-declaration]
    Signed-Off-By: Ben Nizette
    Signed-off-by: Haavard Skinnemoen

    Ben Nizette
     
  • …en/usba-2.6.26 into base

    Haavard Skinnemoen
     

17 Apr, 2008

2 commits

  • Semaphores are no longer performance-critical, so a generic C
    implementation is better for maintainability, debuggability and
    extensibility. Thanks to Peter Zijlstra for fixing the lockdep
    warning. Thanks to Harvey Harrison for pointing out that the
    unlikely() was unnecessary.

    Signed-off-by: Matthew Wilcox
    Acked-by: Ingo Molnar

    Matthew Wilcox
     
  • There's a libata based PATA driver for avr32, but no support for
    drivers/ide/ on avr32.

    This patch fixes the following compile error:

    ...
    CC [M] drivers/ide/ide-cd.o
    In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ide/ide-cd.c:37:
    /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/ide.h:209:21: error: asm/ide.h: No such file or directory
    make[3]: *** [drivers/ide/ide-cd.o] Error 1

    Signed-off-by: Adrian Bunk
    Cc: Haavard Skinnemoen
    Acked-by: Sam Ravnborg
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Adrian Bunk
     

07 Apr, 2008

1 commit

  • The atmel_usba_udc driver is being used by several platforms and arches
    (avr32 and at91 ATM), and each platform may have different endpoint
    settings.

    The patch below moves the endpoint declarations into the platform
    data and make the necessary adjustments for AVR32 (improved by
    Haavard Skinnemoen ).

    Signed-off-by: Stelian Pop
    Acked-by: David Brownell
    Signed-off-by: Haavard Skinnemoen

    Stelian Pop
     

27 Mar, 2008

1 commit

  • add_reserved_region() tries to keep the resource list sorted, so when
    looking for a place to insert the new resource, it may break out
    before the last entry.

    When this happens, the list is broken in two because the sibling field
    of the new entry doesn't point to the next resource. Fix it by
    updating the new resource's sibling field appropriately.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     

14 Mar, 2008

1 commit


27 Feb, 2008

1 commit

  • Iff the parent has TIF_DEBUG set, _and_ clone_flags includes
    CLONE_PTRACE we should set the TIF_DEBUG flag for the child and
    increment the ocd refcount. Otherwise, the TIF_DEBUG flag must be
    unset.

    Currently, the child inherits TIF_DEBUG from the parent before
    copy_thread is called, so TIF_DEBUG may be already be set before we
    determine whether the child is supposed to inherit debugging
    capabilities from the parent or not. This means that ocd_enable()
    won't increment the refcount, because TIF_DEBUG is already set, and
    that TIF_DEBUG will be set for processes that aren't being debugged.

    This leads to a refcounting asymmetry, which may show up as

    ------------[ cut here ]------------
    Badness at arch/avr32/kernel/ocd.c:73
    PC is at ocd_disable+0x34/0x60
    LR is at put_lock_stats+0xa/0x20

    as reported by David Brownell. Happens when strace'ing a process that
    forks a new child process, e.g. "strace mount -tjffs2 mtd1 /mnt", and
    subsequently killing the child process (e.g. "umount /mnt".)

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     

15 Feb, 2008

1 commit


13 Feb, 2008

2 commits


09 Feb, 2008

3 commits

  • To allow flexible configuration of IDE introduce HAVE_IDE.
    All archs except arm, um and s390 unconditionally select it.
    For arm the actual configuration determine if IDE is supported.

    This is a step towards introducing drivers/Kconfig for arm.

    Signed-off-by: Sam Ravnborg
    Acked-by: Russell King - ARM Linux
    Acked-by: Bartlomiej Zolnierkiewicz

    Sam Ravnborg
     
  • PWM device setup, and a simple PWM driver exposing a programming interface
    giving access to each channel's full capabilities. Note that this doesn't
    support starting several channels in synch.

    [hskinnemoen@atmel.com: allocate platform device dynamically]
    [hskinnemoen@atmel.com: Kconfig fix]
    Signed-off-by: David Brownell
    Signed-off-by: Haavard Skinnemoen
    Cc: Andrew Victor
    Cc: Nicolas Ferre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Sometimes simple attributes might need to return an error, e.g. for
    acquiring a mutex interruptibly. In fact we have that situation in
    spufs already which is the original user of the simple attributes. This
    patch merged the temporarily forked attributes in spufs back into the
    main ones and allows to return errors.

    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Christoph Hellwig
    Cc:
    Cc: Arnd Bergmann
    Cc: Greg KH
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

08 Feb, 2008

1 commit

  • This patchset adds a flags variable to reserve_bootmem() and uses the
    BOOTMEM_EXCLUSIVE flag in crashkernel reservation code to detect collisions
    between crashkernel area and already used memory.

    This patch:

    Change the reserve_bootmem() function to accept a new flag BOOTMEM_EXCLUSIVE.
    If that flag is set, the function returns with -EBUSY if the memory already
    has been reserved in the past. This is to avoid conflicts.

    Because that code runs before SMP initialisation, there's no race condition
    inside reserve_bootmem_core().

    [akpm@linux-foundation.org: coding-style fixes]
    [akpm@linux-foundation.org: fix powerpc build]
    Signed-off-by: Bernhard Walle
    Cc:
    Cc: "Eric W. Biederman"
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     

07 Feb, 2008

1 commit

  • - All implementations can be __devinit

    - The function prototypes were in asm/timex.h but they all must be the same,
    so create a single declaration in linux/timex.h.

    - uninline the sparc64 version to match the other architectures

    - Don't bother #defining ARCH_HAS_READ_CURRENT_TIMER to a particular value.

    [ezk@cs.sunysb.edu: fix build]
    Cc: "David S. Miller"
    Cc: Haavard Skinnemoen
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

06 Feb, 2008

2 commits

  • Hmm. Someone removed the timerfd() syscall...

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

    Haavard Skinnemoen
     
  • Teach AVR32 to use the "GPIO Library" when exposing its GPIOs, so that signals
    on external chips (like GPIO expanders) can easily be used.

    This mostly reorganizes some existing logic, with two minor changes in
    behavior:

    - The PSR registers are used instead of the previous "gpio_mask" values,
    matching AT91 behavior and removing some duplication between that role
    and that of "pinmux_mask".

    - NR_IRQs grew to acommodate a bank of external GPIOs. Eventually this
    number should probably become a board-specific config option.

    There's a debugfs dump of status for the built-in GPIOs, showing which pins
    have deglitching, pullups, or open drain drive enabled, as well as the ID
    string used when requesting each IRQ.

    Signed-off-by: David Brownell
    Acked-by: Haavard Skinnemoen
    Cc: Jean Delvare
    Cc: Eric Miao
    Cc: Sam Ravnborg
    Cc: Philipp Zabel
    Cc: Russell King
    Cc: Ben Gardner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     

04 Feb, 2008

1 commit


03 Feb, 2008

2 commits

  • Linus:

    On the per-architecture side, I do think it would be better to *not* have
    internal architecture knowledge in a generic file, and as such a line like

    depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32

    really shouldn't exist in a file like kernel/Kconfig.instrumentation.

    It would be much better to do

    depends on ARCH_SUPPORTS_KPROBES

    in that generic file, and then architectures that do support it would just
    have a

    bool ARCH_SUPPORTS_KPROBES
    default y

    in *their* architecture files. That would seem to be much more logical,
    and is readable both for arch maintainers *and* for people who have no
    clue - and don't care - about which architecture is supposed to support
    which interface...

    Changelog:

    Actually, I know I gave this as the magic incantation, but now that I see
    it, I realize that I should have told you to just use

    config KPROBES_SUPPORT
    def_bool y

    instead, which is a bit denser.

    We seem to use both kinds of syntax for these things, but this is really
    what "def_bool" is there for...

    - Use HAVE_KPROBES
    - Use a select

    - Yet another update :
    Moving to HAVE_* now.

    - Update ARM for kprobes support.

    Signed-off-by: Mathieu Desnoyers
    Cc: Jeff Dike
    Cc: David Howells
    Cc: Ananth N Mavinakayanahalli
    Signed-off-by: Sam Ravnborg

    Mathieu Desnoyers
     
  • Linus:
    On the per-architecture side, I do think it would be better to *not* have
    internal architecture knowledge in a generic file, and as such a line like

    depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32

    really shouldn't exist in a file like kernel/Kconfig.instrumentation.

    It would be much better to do

    depends on ARCH_SUPPORTS_KPROBES

    in that generic file, and then architectures that do support it would just
    have a

    bool ARCH_SUPPORTS_KPROBES
    default y

    in *their* architecture files. That would seem to be much more logical,
    and is readable both for arch maintainers *and* for people who have no
    clue - and don't care - about which architecture is supposed to support
    which interface...

    Changelog:

    Actually, I know I gave this as the magic incantation, but now that I see
    it, I realize that I should have told you to just use

    config ARCH_SUPPORTS_KPROBES
    def_bool y

    instead, which is a bit denser.

    We seem to use both kinds of syntax for these things, but this is really
    what "def_bool" is there for...

    Changelog :

    - Moving to HAVE_*.
    - Add AVR32 oprofile.

    Signed-off-by: Mathieu Desnoyers
    Cc: Andrew Morton
    Cc: Haavard Skinnemoen
    Cc: David Howells
    Cc: Jeff Dike
    Cc: Ananth N Mavinakayanahalli
    Signed-off-by: Sam Ravnborg

    Mathieu Desnoyers
     

29 Jan, 2008

1 commit


26 Jan, 2008

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
    [AVR32] extint: Set initial irq type to low level
    [AVR32] extint: change set_irq_type() handling
    [AVR32] NMI debugging
    [AVR32] constify function pointer tables
    [AVR32] ATNGW100: Update defconfig
    [AVR32] ATSTK1002: Update defconfig
    [AVR32] Kconfig: Choose daughterboard instead of CPU
    [AVR32] Add support for ATSTK1003 and ATSTK1004
    [AVR32] Clean up external DAC setup code
    [AVR32] ATSTK1000: Move gpio-leds setup to setup.c
    [AVR32] Add support for AT32AP7001 and AT32AP7002
    [AVR32] Provide more CPU information in /proc/cpuinfo and dmesg
    [AVR32] Oprofile support
    [AVR32] Include instrumentation menu
    Disable VGA text console for AVR32 architecture
    [AVR32] Enable debugging only when needed
    ptrace: Call arch_ptrace_attach() when request=PTRACE_TRACEME
    [AVR32] Remove redundant try_to_freeze() call from do_signal()
    [AVR32] Drop GFP_COMP for DMA memory allocations

    Linus Torvalds
     

25 Jan, 2008

1 commit

  • David Brownell pointed out a mismatch in the avr32 extint code:

    > I noticed a small glitch that's not fixed by this patch: the
    > initial type is falling edge, but IRQ_TYPE_NONE is mapped to
    > IRQ_TYPE_LEVEL_LOW. Potentially surprising.

    Fix it by setting the initial type (and handler) to low level,
    matching the meaning of IRQ_TYPE_NONE.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen