08 Feb, 2008

40 commits

  • * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (69 commits)
    [POWERPC] Add SPE registers to core dumps
    [POWERPC] Use regset code for compat PTRACE_*REGS* calls
    [POWERPC] Use generic compat_sys_ptrace
    [POWERPC] Use generic compat_ptrace_request
    [POWERPC] Use generic ptrace peekdata/pokedata
    [POWERPC] Use regset code for PTRACE_*REGS* requests
    [POWERPC] Switch to generic compat_binfmt_elf code
    [POWERPC] Switch to using user_regset-based core dumps
    [POWERPC] Add user_regset compat support
    [POWERPC] Add user_regset_view definitions
    [POWERPC] Use user_regset accessors for GPRs
    [POWERPC] ptrace accessors for special regs MSR and TRAP
    [POWERPC] Use user_regset accessors for SPE regs
    [POWERPC] Use user_regset accessors for altivec regs
    [POWERPC] Use user_regset accessors for FP regs
    [POWERPC] mpc52xx: fix compile error introduce when rebasing patch
    [POWERPC] 4xx: PCIe indirect DCR spinlock fix.
    [POWERPC] Add missing native dcr dcr_ind_lock spinlock
    [POWERPC] 4xx: Fix offset value on Warp board
    [POWERPC] 4xx: Add 440EPx Sequoia ehci dts entry
    ...

    Linus Torvalds
     
  • Add new card (0x1393:0x1143) support added in 1.11 original driver, also
    allow rate change in set_serial_info ioctl (as per 1.11 too).

    Signed-off-by: Jiri Slaby
    Reviewed-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • (Old) mxser is obsoleted by mxser_new and scheduled for removal on Dec 2007.
    Remove it by renaming mxser_new to mxser.

    Signed-off-by: Jiri Slaby
    Reviewed-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • - remove dead MOXA_GET_CONF (always returned -ENXIO)
    - remove useless MOXA_GET_CUMAJOR (unused)
    - use get/put_user instead of copy_from/to_user for simple types
    - cleanup TIOCMIWAIT -- return -ERESTARTSYS on signal, move condition into
    separate function

    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Reviewed-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Initialize temp structure directly with proper values without first zeroing
    it and setting later as suggested by Jan.

    Signed-off-by: Jiri Slaby
    Cc: Jan Engelhardt
    Reviewed-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Reorder fields to save some memory and code on 64bit due to alignment as
    suggested by Jan.

    Signed-off-by: Jiri Slaby
    Cc: Jan Engelhardt
    Reviewed-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Don't test a pointer against 0. Use NULL instead.

    Signed-off-by: Jiri Slaby
    Reviewed-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Let the special baudrate processing on the tty layer. Also remove
    set/get_special_rate ioctls introduced in commit
    f64c84a1668930d1ca2b7dbaa92146c2139cb508, since it is no longer needed.

    Signed-off-by: Jiri Slaby
    Reviewed-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Signed-off-by: Alan Cox
    Cc: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • Both of them may be called directly from the code, don't add special code
    and variables and schedule a work for them.

    Signed-off-by: Jiri Slaby
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • - Cy_EVENT_OPEN_WAKEUP is simple wake_up
    - Cy_EVENT_HANGUP is wake_up + tty_hangup, which schedules its own work
    - Cy_EVENT_WRITE_WAKEUP is tty_wakeup which may be called directly too

    Signed-off-by: Jiri Slaby
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • - tty_hangup schedules a bottomhalf itself, tty_wakeup doesn't need it
    - call the CD code (part of work handler previously) directly from the code
    (it wakes somebody up or calls tty_hangup at worse)

    Signed-off-by: Jiri Slaby
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • - tqueue is used only for tty_wakeup, call it directly from the code
    - tqueue_hangup for tty_hangup, it schedules its own work, use it directly
    too

    Signed-off-by: Jiri Slaby
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • tty_hangup schedules a work for hangup itself, no need to do it in the driver.

    Signed-off-by: Jiri Slaby
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • There is no need to schedule a bottomhalf for either of them. One is fast
    and the another schedules a bottomhalf itself.

    Signed-off-by: Jiri Slaby
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Let compiler decide if the rc_init_drivers function will be inlined and
    mark it as __init, because it's called only from __init function.

    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Don't emit warnings on 64 bit platforms from min(). sizeof() on those
    is not uint, neither 2 pointers difference, cast it to uint by min_t in
    both cases.

    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • To not pass ulong address as int parameter, switch it to ulong.

    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Signed-off-by: Jiri Slaby
    Acked-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • - add KERN_ level to each print
    - change some levels appropriately
    - add \n at the ends where missing
    - change two complex printks into dev_info, where the original info is
    printed automatically

    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Don't busy wait for whole 1s when registering some rocket modems. Sleep
    instead since we are not in atomic.

    Signed-off-by: Jiri Slaby
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Needs the following in order to work correctly on my Inspiron E1705:

    Add DMI Product name to i8k for Dell MP061 hardware (Inspiron 9400/E1705)

    Signed-off-by: Frank Sorenson
    Cc: Bradley Smith
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Frank Sorenson
     
  • Adds i8k driver to the x86_64 Kconfig.

    Signed-off-by: Bradley Smith
    Cc: Frank Sorenson
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bradley Smith
     
  • Adds #if clause and additional inline assembly so that the driver
    builds on x86_64 systems.

    Signed-off-by: Bradley Smith
    Cc: Frank Sorenson
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bradley Smith
     
  • Use the architecture specific __cmpxchg_u32 for 32 bits cmpxchg)_local. Else,
    use the new generic cmpxchg_local (disables interrupt).

    Signed-off-by: Mathieu Desnoyers
    Cc: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Use the new generic cmpxchg_local (disables interrupt). Also use the generic
    cmpxchg as fallback if SMP is not set.

    Signed-off-by: Mathieu Desnoyers
    Cc: Miles Bader
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Use cmpxchg_u32 and cmpxchg_u64 for cmpxchg_local and cmpxchg64_local. For other
    type sizes, use the new generic cmpxchg_local (disables interrupt).

    Change:
    Since the header depends on local_irqsave/local_irqrestore, it must be
    included after their declaration.

    Actually, being below the
    #include should be enough, and on sparc64 it is
    included at the beginning of system.h.

    So it makes sense to move it up for sparc64.

    Signed-off-by: Mathieu Desnoyers
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Move cmpxchg and add cmpxchg_local to system.h.
    Use the new generic cmpxchg_local (disables interrupt).

    Signed-off-by: Mathieu Desnoyers
    Cc: William Lee Irwin III
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Use the standard __cmpxchg for every type that can be updated atomically.
    Use the new generic cmpxchg_local (disables interrupt) for other types.

    Signed-off-by: Mathieu Desnoyers
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Add a local processor version of cmpxchg for ppc.

    Implements __cmpxchg_u32_local and uses it for 32 bits cmpxchg_local.
    It uses the non NMI safe cmpxchg_local_generic for 1, 2 and 8 bytes
    cmpxchg_local.

    Signed-off-by: Gunnar Larisch
    Signed-off-by: Mathieu Desnoyers
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gunnar Larisch
     
  • Use the new generic cmpxchg_local (disables interrupt). Also use the generic
    cmpxchg as fallback if SMP is not set.

    Signed-off-by: Mathieu Desnoyers
    Cc: Kyle McMartin
    Cc: Grant Grundler
    Cc: Matthew Wilcox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Use the new generic cmpxchg_local (disables interrupt). Also use the generic
    cmpxchg as fallback if SMP is not set.

    Signed-off-by: Mathieu Desnoyers
    Cc: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Use the new generic cmpxchg_local (disables interrupt). Also use the generic
    cmpxchg as fallback if SMP is not set.

    Signed-off-by: Mathieu Desnoyers
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • On m32r, use the new cmpxchg_local as primitive for the local_cmpxchg
    operation.

    Signed-off-by: Mathieu Desnoyers
    Acked-by: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • This patch is for Mathieu Desnoyers's include/asm-m32r/local.h.
    Applying the new include/asm-m32r/local.h, inclusion of linux/sched.h
    is needed to fix a build error of arch/m32r/kernel/smpboot.c.

    ...
    CC arch/m32r/kernel/smpboot.o
    /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function 'do_boot_cpu':
    /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: error: implicit declaration of function 'fork_idle'
    /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: warning: assignment makes pointer from integer without a cast
    /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:283: error: dereferencing pointer to incomplete type
    /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:289: error: dereferencing pointer to incomplete type
    /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: implicit declaration of function 'task_thread_info'
    /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: invalid type argument of '->'
    /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function 'start_secondary':
    /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:429: error: implicit declaration of function 'cpu_init'
    make[2]: *** [arch/m32r/kernel/smpboot.o] Error 1

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

    Mathieu Desnoyers
     
  • the #endif /* CONFIG_SMP */ should cover the default condition, or it may cause
    bad parameter to be silently missed.

    To make it work correctly, we have to remove the ifdef CONFIG SMP surrounding
    __xchg_called_with_bad_pointer declaration. Thanks to Adrian Bunk for detecting
    this.

    Signed-off-by: Mathieu Desnoyers
    Acked-by: Hirokazu Takata
    Cc: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Add __xchg_local, xchg_local (define), __cmpxchg_local_u32, __cmpxchg_local,
    cmpxchg_local(macro).

    cmpxchg_local and cmpxchg64_local will use the architecture specific
    __cmpxchg_local_u32 for 32 bits arguments, and use the generic
    __cmpxchg_local_generic for 8, 16 and 64 bits arguments.

    Signed-off-by: Mathieu Desnoyers
    Acked-by: Hirokazu Takata
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Add the primitives cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64. They
    use cmpxchg_acq as underlying macro, just like the already existing ia64
    cmpxchg().

    Changelog:

    ia64 cmpxchg_local coding style fix
    Quoting Keith Owens:

    As a matter of coding style, I prefer

    #define cmpxchg_local cmpxchg
    #define cmpxchg64_local cmpxchg64

    Which makes it absolutely clear that they are the same code. With your
    patch, humans have to do a string compare of two defines to see if they
    are the same.

    Note cmpxchg is *not* a performance win vs interrupt disable / enable on IA64.

    Signed-off-by: Mathieu Desnoyers
    Acked-by: Christoph Lameter
    Cc: "Luck, Tony"
    Cc: Keith Owens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Use the new generic cmpxchg_local (disables interrupt). Also use the generic
    cmpxchg as fallback if SMP is not set.

    Signed-off-by: Mathieu Desnoyers
    Cc: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers