09 Sep, 2005

2 commits

  • Patch from Ben Dooks

    Updated the s3c2410_defconfig for the 2.6.13-git8
    kernel release, as well as adding the Anubis
    board to the list of boards built.

    Signed-off-by: Ben Dooks
    Signed-off-by: Russell King

    Ben Dooks
     
  • Patch from Tony Lindgren

    This patch syncs the mainline kernel with linux-omap tree.
    The highlights of the patch are:
    - Convert more drivers to register resources in board-*.c to take
    advantage of the driver model by David Brownell and Ladislav Michl
    - Use set_irq_type() for GPIO interrupts instead of
    omap_set_gpio_edge_ctrl() by David Brownell
    - Add minimal support for handling optional add-on boards, such as
    OSK Mistral board with LCD and keypad, by David Brownell
    - Minimal support for loading functions to SRAM by Tony Lindgren
    - Wake up from serial port by muxing RX lines temporarily into GPIO
    interrupts by Tony Lindgren
    - 32KHz sched_clock by Tony Lindgren and Juha Yrjola

    Signed-off-by: Tony Lindgren
    Signed-off-by: Russell King

    Tony Lindgren
     

08 Sep, 2005

38 commits

  • This adds the necessary changes to ensure that we flush the
    caches correctly with aliasing VIPT caches.

    Signed-off-by: Russell King

    Russell King
     
  • This adds low-level suspend/resume support to locomo.c.

    Signed-off-by: Pavel Machek
    Signed-off-by: Russell King

    John Lenz
     
  • Linus Torvalds
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    viro@ZenIV.linux.org.uk
     
  • Now that asm-powerpc/* is using ifdefs on __powerpc64__ we need to add it
    to CHECKFLAGS on ppc64.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    viro@ZenIV.linux.org.uk
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    viro@ZenIV.linux.org.uk
     
  • elf_aux is userland code; it uses symbol (ELF_CLASS) that doesn't exist in
    userland headers; pulled into kernel-offsets.h, switched elf_aux to using it.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    viro@ZenIV.linux.org.uk
     
  • A piece of the UML stubs patch got lost - it has
    Killed STUBS_CFLAGS - it's not needed and the only remaining use had been
    gratitious - it only polluted CFLAGS
    in description and does remove it in arch/um/Makefile-x86_64, but forgets to
    do the same in i386 counterpart. Lost chunk follows:

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    viro@ZenIV.linux.org.uk
     
  • Sanitized and fixed floppy dependencies: split the messy dependencies for
    BLK_DEV_FD by introducing a new symbol (ARCH_MAY_HAVE_PC_FDC), making
    BLK_DEV_FD depend on that one and taking declarations of ARCH_MAY_HAVE_PC_FDC
    to arch/*/Kconfig. While we are at it, fixed several obvious cases when
    BLK_DEV_FD should have been excluded (architectures lacking asm/floppy.h
    are *not* going to have floppy.c compile, let alone work).

    If you can come up with better name for that ("this architecture might
    have working PC-compatible floppy disk controller"), you are more than
    welcome - just s/ARCH_MAY_HAVE_PC_FDC/your_prefered_name/g in the patch
    below...

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    viro@ZenIV.linux.org.uk
     
  • Linus Torvalds
     
  • This patch fixes a race condition where in system used to hang or sometime
    crash within minutes when kprobes are inserted on ISR routine and a task
    routine.

    The fix has been stress tested on i386, ia64, pp64 and on x86_64. To
    reproduce the problem insert kprobes on schedule() and do_IRQ() functions
    and you should see hang or system crash.

    Signed-off-by: Anil S Keshavamurthy
    Signed-off-by: Ananth N Mavinakayanahalli
    Acked-by: Prasanna S Panchamukhi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Keshavamurthy Anil S
     
  • This patch fixes a bug in kprobes's handling of a corner case on i386 and
    x86_64. On an SMP system, if one CPU unregisters a kprobe just after
    another CPU hits that probepoint, kprobe_handler() on the latter CPU sees
    that the kprobe has been unregistered, and attempts to let the CPU continue
    as if the probepoint hadn't been hit. The bug is that on i386 and x86_64,
    we were neglecting to set the IP back to the beginning of the probed
    instruction. This could cause an oops or crash.

    This bug doesn't exist on ppc64 and ia64, where a breakpoint instruction
    leaves the IP pointing to the beginning of the instruction. I don't know
    about sparc64. (Dave, could you please advise?)

    This fix has been tested on i386 and x86_64 SMP systems. To reproduce the
    problem, set one CPU to work registering and unregistering a kprobe
    repeatedly, and another CPU pounding the probepoint in a tight loop.

    Acked-by: Prasanna S Panchamukhi
    Signed-off-by: Jim Keniston
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jim Keniston
     
  • This patch addresses a potential race condition for a case where Kprobe has
    been removed right after another CPU has taken a break hit.

    The way this is addressed here is when the CPU that has taken a break hit
    does not find its corresponding kprobe, then we check to see if the
    original instruction got replaced with other than break. If it got
    replaced with other than break instruction, then we continue to execute
    from the replaced instruction, else if we find that it is still a break,
    then we let the kernel handle this, as this might be the break instruction
    inserted by other than kprobe(may be kernel debugger).

    Signed-off-by: Anil S Keshavamurthy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Keshavamurthy Anil S
     
  • This patch adds flags "ax" to .kprobe.text section.

    Signed-off-by: Prasanna S Panchamukhi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prasanna S Panchamukhi
     
  • This patch contains the sparc64 architecture specific changes to prevent the
    possible race conditions.

    Signed-off-by: Prasanna S Panchamukhi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prasanna S Panchamukhi
     
  • This patch contains the ia64 architecture specific changes to prevent the
    possible race conditions.

    Signed-off-by: Prasanna S Panchamukhi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prasanna S Panchamukhi
     
  • This patch contains the ppc64 architecture specific changes to prevent the
    possible race conditions.

    Signed-off-by: Prasanna S Panchamukhi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prasanna S Panchamukhi
     
  • This patch contains the x86_64 architecture specific changes to prevent the
    possible race conditions.

    Signed-off-by: Prasanna S Panchamukhi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prasanna S Panchamukhi
     
  • This patch contains the i386 architecture specific changes to prevent the
    possible race conditions.

    Signed-off-by: Prasanna S Panchamukhi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Prasanna S Panchamukhi
     
  • Add MMC/SD write protection switch handling for the Corgi platform

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

    Richard Purdie
     
  • Add keyboard and touchscreen device definitions for corgi.

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

    Richard Purdie
     
  • This patch moves the platform specific Sharp SL-C7x0 LCD code from the
    w100fb driver into a more appropriate place and updates the Corgi code to
    match the new w100fb driver.

    It also updates the corgi touchscreen code to match the new simplified
    interface available from w100fb.

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

    Richard Purdie
     
  • This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.

    Signed-off-by: Pekka Enberg
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pekka Enberg
     
  • This patch converts kcalloc(1, ...) calls to use the new kzalloc() function.

    Signed-off-by: Pekka Enberg
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pekka Enberg
     
  • Background:

    1) dmi_check_system() returns the count of the number of
    matches. Zero thus means no matches.
    2) A match callback can return nonzero to stop the match
    checking.

    Bug: The count is incremented after we check for the nonzero return value,
    so it does not reflect the actual count. We could say this is intended,
    for some dumb reason, except that it means that a match on the first check
    returns zero--no matches--if the callback returns nonzero.

    Attached patch implements the count before calling the callback and thus
    before potentially short-circuiting.

    Signed-off-by: Robert Love
    Cc: Andrey Panin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert Love
     
  • This patch adds onboard devices and IPMI BMC discovery into DMI scan code.
    Drivers can use dmi_find_device() function to search for devices by type and
    name.

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

    Andrey Panin
     
  • This patch changes dmi_string() function to allocate string copy by itself, to
    avoid code duplication in the next patch.

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

    Andrey Panin
     
  • DMI debugging code is unused for ages. This patch removes it.

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

    Andrey Panin
     
  • After elimination of central DMI blacklist dmi_scan_machine() function became
    a wrapper for dmi_iterate(). This patch moves some code around to kill
    unneeded function.

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

    Andrey Panin
     
  • 64 bit architectures all implement their own compatibility sys_open(),
    when in fact the difference is simply not forcing the O_LARGEFILE
    flag. So use the a common function instead.

    Signed-off-by: Miklos Szeredi
    Cc:
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Signed-off-by: John Hawkes
    Signed-off-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    John Hawkes
     
  • I've already sent this to the maintainers, and this is now being sent to a
    larger community audience. I have fixed a problem with the ia64 version of
    build_sched_domains(), but a similar fix still needs to be made to the
    generic build_sched_domains() in kernel/sched.c.

    The "dynamic sched domains" functionality has recently been merged into
    2.6.13-rcN that sees the dynamic declaration of a cpu-exclusive (a.k.a.
    "isolated") cpuset and rebuilds the CPU Scheduler sched domains and sched
    groups to separate away the CPUs in this cpu-exclusive cpuset from the
    remainder of the non-isolated CPUs. This allows the non-isolated CPUs to
    completely ignore the isolated CPUs when doing load-balancing.

    Unfortunately, build_sched_domains() expects that a sched domain will
    include all the CPUs of each node in the domain, i.e., that no node will
    belong in both an isolated cpuset and a non-isolated cpuset. Declaring a
    cpuset that violates this presumption will produce flawed data structures
    and will oops the kernel.

    To trigger the problem (on a NUMA system with >1 CPUs per node):
    cd /dev/cpuset
    mkdir newcpuset
    cd newcpuset
    echo 0 >cpus
    echo 0 >mems
    echo 1 >cpu_exclusive

    I have fixed this shortcoming for ia64 NUMA (with multiple CPUs per node).
    A similar shortcoming exists in the generic build_sched_domains() (in
    kernel/sched.c) for NUMA, and that needs to be fixed also. The fix
    involves dynamically allocating sched_group_nodes[] and
    sched_group_allnodes[] for each invocation of build_sched_domains(), rather
    than using global arrays for these structures. Care must be taken to
    remember kmalloc() addresses so that arch_destroy_sched_domains() can
    properly kfree() the new dynamic structures.

    Signed-off-by: John Hawkes
    Cc: Nick Piggin
    Cc: Ingo Molnar
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    John Hawkes
     
  • Remove the deprecated (and unused) verify_area() from various uaccess.h
    headers.

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

    Jesper Juhl
     
  • This patch cleans up a commonly repeated set of changes to the NTP state
    variables by adding two helper inline functions:

    ntp_clear(): Clears the ntp state variables

    ntp_synced(): Returns 1 if the system is synced with a time server.

    This was compile tested for alpha, arm, i386, x86-64, ppc64, s390, sparc,
    sparc64.

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

    john stultz
     
  • Mark variables which are usually accessed for reads with __readmostly.

    Signed-off-by: Alok N Kataria
    Signed-off-by: Shai Fultheim
    Signed-off-by: Ravikiran Thirumalai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ravikiran G Thirumalai
     
  • The second arg of do_timer_interrupt() is not used in the functions, and
    all callers pass NULL.

    Signed-off-by: Adrian Bunk
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • The main Makefile is already adding -g to the CFLAGS if
    CONFIG_DEBUG_INFO=y.

    Not that two -g would do harm, but one works as well.

    Signed-off-by: Adrian Bunk
    Acked-by: Ian Molton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • The i386 OProfile code has a function named nmi_exit(), which collides with
    the nmi_exit() macro in linux/hardirq.h. At the moment, we get away with
    it, because hardirq.h isn't included in the oprofile code. I hit this as a
    bug when working with a patch which (indirectly) adds a #include of
    hardirq.h to oprofile.

    Regardless, the name collision is probably not a good idea, so this patch
    fixes it, renaming the oprofile function to op_nmi_exit(). It also renames
    the nmi_init() and nmi_timer_init() functions similarly, for consistency.

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

    David Gibson