Permalink
Commits on May 12, 2008
  1. Linux 2.6.26-rc2

    torvalds committed May 12, 2008
  2. Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare…

    …-2.6
    
    * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
      i2c: Convert some more new-style drivers to use module aliasing
      i2c: Match dummy devices by type
      i2c-sibyte: Mark i2c_sibyte_add_bus() as static
      i2c-sibyte: Correct a comment about frequency
      i2c: Improve the functionality documentation
      i2c: Improve smbus-protocol documentation
      i2c-piix4: Blacklist two mainboards
      i2c-piix4: Increase the intitial delay for the ServerWorks CSB5
      i2c-mpc: Compare to NO_IRQ instead of zero
    torvalds committed May 12, 2008
Commits on May 11, 2008
  1. Add new 'cond_resched_bkl()' helper function

    It acts exactly like a regular 'cond_resched()', but will not get
    optimized away when CONFIG_PREEMPT is set.
    
    Normal kernel code is already preemptable in the presense of
    CONFIG_PREEMPT, so cond_resched() is optimized away (see commit
    02b67cc "sched: do not do
    cond_resched() when CONFIG_PREEMPT").
    
    But when wanting to conditionally reschedule while holding a lock, you
    need to use "cond_sched_lock(lock)", and the new function is the BKL
    equivalent of that.
    
    Also make fs/locks.c use it.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed May 11, 2008
  2. i2c: Convert some more new-style drivers to use module aliasing

    Update 3 more new-style i2c drivers to use standard module aliasing
    instead of the old driver_name/type driver matching scheme. These
    video drivers aren't used yet so converting them is trivial.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Jean Delvare committed with Jean Delvare May 11, 2008
  3. i2c: Match dummy devices by type

    As the old driver_name/type matching scheme is going away soon, change
    the dummy device mechanism to use the new matching scheme.
    
    This has the downside that dummy i2c clients can no longer choose
    their name, they'll all appear as "dummy" in sysfs and in log
    messages. I don't think it is a problem in practice though, as there
    is little reason to use these i2c clients to log messages.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Jean Delvare committed with Jean Delvare May 11, 2008
  4. i2c-sibyte: Mark i2c_sibyte_add_bus() as static

    The i2c_sibyte_add_bus() function is not called, nor meant to, from 
    outside, so mark it as static; fixing a sparse warning too.
    
    Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Maciej W. Rozycki committed with Jean Delvare May 11, 2008
  5. i2c-sibyte: Correct a comment about frequency

    The frequency may have been once hardcoded to 100 kHz, but currently it is
    passed as an argument to i2c_sibyte_add_bus(), so update the comment to
    match code.  While at it, reformat a nearby comment for consistency.  No
    functional changes.
    
    Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Maciej W. Rozycki committed with Jean Delvare May 11, 2008
  6. i2c: Improve the functionality documentation

    Attempt to make the documentation about the I2C/SMBus functionality
    checking API clearer.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Jean Delvare committed with Jean Delvare May 11, 2008
  7. i2c: Improve smbus-protocol documentation

    Improve the smbus-protocol documentation file somewhat:
    
     - Use the names of the SMBus protocol operations (from the 2.0
       specification), not made-up-for-Linux names.
    
     - Add the name of the call used to execute each operation ... and
       point out that there are mismatches, where functions execute
       different protocol operations than their names specify.
       
    The most confusing examples are that "Read Byte" isn't executed by
    i2c_smbus_read_byte(), and that "Write Byte" isn't executed by
    i2c_smbus_write_byte().  When coding, that's not as bad as it may
    seem; but that case would seem to be worth fixing.
    
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    David Brownell committed with Jean Delvare May 11, 2008
  8. i2c-piix4: Blacklist two mainboards

    We had a report that running sensors-detect on a Sapphire AM2RD790
    motherbord killed the CPU. While the exact cause is still unknown,
    I'd rather play it safe and prevent any access to the SMBus on that
    machine by not letting the i2c-piix4 driver attach to the SMBus host
    device on that machine. Also blacklist a similar board made by DFI.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Jean Delvare committed with Jean Delvare May 11, 2008
  9. i2c-piix4: Increase the intitial delay for the ServerWorks CSB5

    Per the PIIX4 errata, there maybe a delay between setting the
    start bit in the Smbus Host Controller Register and the transaction
    actually starting. If the driver doesn't delay long enough, it
    may appear that the transaction is complete when actually it
    hasn't started, this may lead to bus collisions.
    
    While 1 ms appears to be enough for most chips, the ServerWorks CSB5
    wants 2 ms.
    
    Signed-off-by: David Milburn <dmilburn@redhat.com>
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    davidmilburn committed with Jean Delvare May 11, 2008
  10. i2c-mpc: Compare to NO_IRQ instead of zero

    Alter the mpc i2c driver to use the NO_IRQ symbol instead of the constant
    zero when checking for valid interrupts. NO_IRQ=-1 on ppc and NO_IRQ=0 on
    powerpc so the checks against zero are not correct.
    
    Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    jonsmirl committed with Jean Delvare May 11, 2008
  11. usb-serial: Add ThinkOptics WavIT

    Add ThinkOptics WavIt to cp2101 device table
    
    Signed-off-by: Bernhard Beck <kernel@goodcoffee.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    lostentry committed with torvalds May 11, 2008
  12. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
      sparc: Fix debugger syscall restart interactions.
      sparc: Fix ptrace() detach.
      sparc32: Don't twiddle PT_DTRACE in exec.
      sparc video: remove open boot prom code
    torvalds committed May 11, 2008
  13. Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/k…

    …ernel/git/jgarzik/libata-dev
    
    * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
      [libata] revert new check-ready Status register logic
    torvalds committed May 11, 2008
  14. sparc: Fix debugger syscall restart interactions.

    So, forever, we've had this ptrace_signal_deliver implementation
    which tries to handle all of the nasties that can occur when the
    debugger looks at a process about to take a signal.  It's meant
    to address all of these issues inside of the kernel so that the
    debugger need not be mindful of such things.
    
    Problem is, this doesn't work.
    
    The idea was that we should do the syscall restart business first, so
    that the debugger captures that state.  Otherwise, if the debugger for
    example saves the child's state, makes the child execute something
    else, then restores the saved state, we won't handle the syscall
    restart properly because we lose the "we're in a syscall" state.
    
    The code here worked for most cases, but if the debugger actually
    passes the signal through to the child unaltered, it's possible that
    we would do a syscall restart when we shouldn't have.
    
    In particular this breaks the case of debugging a process under a gdb
    which is being debugged by yet another gdb.  gdb uses sigsuspend
    to wait for SIGCHLD of the inferior, but if gdb itself is being
    debugged by a top-level gdb we get a ptrace_stop().  The top-level gdb
    does a PTRACE_CONT with SIGCHLD to let the inferior gdb see the
    signal.  But ptrace_signal_deliver() assumed the debugger would cancel
    out the signal and therefore did a syscall restart, because the return
    error was ERESTARTNOHAND.
    
    Fix this by simply making ptrace_signal_deliver() a nop, and providing
    a way for the debugger to control system call restarting properly:
    
    1) Report a "in syscall" software bit in regs->{tstate,psr}.
       It is set early on in trap entry to a system call and is fully
       visible to the debugger via ptrace() and regsets.
    
    2) Test this bit right before doing a syscall restart.  We have
       to do a final recheck right after get_signal_to_deliver() in
       case the debugger cleared the bit during ptrace_stop().
    
    3) Clear the bit in trap return so we don't accidently try to set
       that bit in the real register.
    
    As a result we also get a ptrace_{is,clear}_syscall() for sparc32 just
    like sparc64 has.
    
    M68K has this same exact bug, and is now the only other user of the
    ptrace_signal_deliver hook.  It needs to be fixed in the same exact
    way as sparc.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed May 11, 2008
  15. sparc: Fix ptrace() detach.

    Forever we had a PTRACE_SUNOS_DETACH which was unconditionally
    recognized, regardless of the personality of the process.
    
    Unfortunately, this value is what ended up in the GLIBC sys/ptrace.h
    header file on sparc as PTRACE_DETACH and PT_DETACH.
    
    So continue to recognize this old value.  Luckily, it doesn't conflict
    with anything we actually care about.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed May 11, 2008
  16. Merge master.kernel.org:/home/rmk/linux-2.6-arm

    * master.kernel.org:/home/rmk/linux-2.6-arm:
      [ARM] 5033/1: Unbreak corgi_ssp by registering ssp drivers earlier.
      [ARM] Orion: clean up addr-map.c after window setting code purge
      [ARM] Orion: pass proper t_clk into mv643xx_eth
      [ARM] Orion: use mv643xx_eth driver mbus window handling
      [ARM] pxa: Fix RCSR handling
      [ARM] lubbock: fix compilation
      [ARM] 5032/1: Added cpufreq support for pxa27x CPU
      [ARM] 5031/1: Indentation correction in cpu-pxa.c.
      [ARM] 5028/1: pxafb: fix broken "backward compatibility way" in framebuffer
      [ARM] 4882/2: Correction for S3C2410 clkout generation
      [ARM] 5027/1: Fixed random memory corruption on pxa suspend cycle.
      [ARM] 5024/1: Fix some minor clk issues in the MMCI PL18x driver
      [ARM] 5023/1: Fix broken gpio interrupts on ep93xx
      ns9xxx: fix sparse warning
      ns9xxx: check for irq lockups
      ns9xxx: fix handle_prio_irq to unmask irqs with lower priority
    torvalds committed May 11, 2008
  17. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/x86/linux-2.6-x86
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86:
      x86: rdc: leds build/config fix
      x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system)
      x86: revert commit 709f744 ("x86: bitops asm constraint fixes")
      x86: restrict keyboard io ports reservation to make ipmi driver work
      x86: fix fpu restore from sig return
      x86: remove spew print out about bus to node mapping
      x86: revert printk format warning change which is for linux-next
      x86: cleanup PAT cpu validation
      x86: geode: define geode_has_vsa2() even if CONFIG_MGEODE_LX is not set
      x86: GEODE: cache results from geode_has_vsa2() and uninline
      x86: revert geode config dependency
    torvalds committed May 11, 2008
  18. BKL: revert back to the old spinlock implementation

    The generic semaphore rewrite had a huge performance regression on AIM7
    (and potentially other BKL-heavy benchmarks) because the generic
    semaphores had been rewritten to be simple to understand and fair.  The
    latter, in particular, turns a semaphore-based BKL implementation into a
    mess of scheduling.
    
    The attempt to fix the performance regression failed miserably (see the
    previous commit 00b41ec 'Revert
    "semaphore: fix"'), and so for now the simple and sane approach is to
    instead just go back to the old spinlock-based BKL implementation that
    never had any issues like this.
    
    This patch also has the advantage of being reported to fix the
    regression completely according to Yanmin Zhang, unlike the semaphore
    hack which still left a couple percentage point regression.
    
    As a spinlock, the BKL obviously has the potential to be a latency
    issue, but it's not really any different from any other spinlock in that
    respect.  We do want to get rid of the BKL asap, but that has been the
    plan for several years.
    
    These days, the biggest users are in the tty layer (open/release in
    particular) and Alan holds out some hope:
    
      "tty release is probably a few months away from getting cured - I'm
       afraid it will almost certainly be the very last user of the BKL in
       tty to get fixed as it depends on everything else being sanely locked."
    
    so while we're not there yet, we do have a plan of action.
    
    Tested-by: Yanmin Zhang <yanmin_zhang@linux.intel.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Andi Kleen <andi@firstfloor.org>
    Cc: Matthew Wilcox <matthew@wil.cx>
    Cc: Alexander Viro <viro@ftp.linux.org.uk>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed May 11, 2008
  19. Revert "semaphore: fix"

    This reverts commit bf726ea, as it has
    been reported to cause a regression with processes stuck in __down(),
    apparently because some missing wakeup.
    
    Quoth Sven Wegener:
     "I'm currently investigating a regression that has showed up with my
      last git pull yesterday.  Bisecting the commits showed bf726e
      "semaphore: fix" to be the culprit, reverting it fixed the issue.
    
      Symptoms: During heavy filesystem usage (e.g.  a kernel compile) I get
      several compiler processes in uninterruptible sleep, blocking all i/o
      on the filesystem.  System is an Intel Core 2 Quad running a 64bit
      kernel and userspace.  Filesystem is xfs on top of lvm.  See below for
      the output of sysrq-w."
    
    See
    
    	http://lkml.org/lkml/2008/5/10/45
    
    for full report.
    
    In the meantime, we can just fix the BKL performance regression by
    reverting back to the good old BKL spinlock implementation instead,
    since any sleeping lock will generally perform badly, especially if it
    tries to be fair.
    
    Reported-by: Sven Wegener <sven.wegener@stealer.net>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed May 11, 2008
  20. Make <asm-x86/spinlock.h> use ACCESS_ONCE()

    ..instead of cooking up its own uglier local version of it.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed May 11, 2008
  21. Move ACCESS_ONCE() to <linux/compiler.h>

    It actually makes much more sense there, and we do tend to need it for
    non-RCU usage too.  Moving it to <linux/compiler.h> will allow some
    other cases that have open-coded the same logic to use the same helper
    function that RCU has used.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed May 11, 2008
Commits on May 10, 2008
  1. x86: rdc: leds build/config fix

    select NEW_LEDS for now until the Kconfig dependencies have been
    fixed.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Ingo Molnar committed with Thomas Gleixner May 1, 2008
  2. x86: sysfs cpu?/topology is empty in 2.6.25 (32-bit Intel system)

    System topology on intel based system needs to be exported
    for non-numa case as well.
    
    All parts of asm-i386/topology.h has come under
    #ifdef CONFIG_NUMA after the merge to asm-x86/topology.h
    
    /sys/devices/system/cpu/cpu?/topology/* is populated based on
    ENABLE_TOPO_DEFINES
    
    The sysfs cpu topology is not being populated on my dual socket
    dual core xeon 5160 processor based (x86 32 bit) system.
    
    CONFIG_NUMA is not set in my case yet the topology is relevant
    and useful.
    
    irqbalance daemon application depends on topology to build the
    cpus and package list and it fails on Fedora9 beta since the
    sysfs topology was not being populated in the 2.6.25 kernel.
    
    I am not sure if it was intentional to not define ENABLE_TOPO_DEFINES
    for non-numa systems.
    
    This fix has been tested on the above mentioned dual core, dual socket
    system.
    
    Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: stable@kernel.org
    svaidy committed with Thomas Gleixner May 5, 2008
  3. x86: revert commit 709f744 ("x86: bitops asm constraint fixes")

    709f744 causes my computer to freeze during the start up of X and my
    login manger (GDM). It gets to the point where it has shown the default
    X mouse cursor logo (a big X / cross) and does not respond to anything
    from that point on.
    
    This worked fine before 709f744, and it works fine with 709f744
    reverted on top of Linus' current tree (f74d505). The revert had
    conflicts, as far as I can tell due to white space changes. The diff I
    ended up with is below.
    
    It is 100% reproducible.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Simon Holm Thøgersen committed with Thomas Gleixner May 5, 2008
  4. x86: restrict keyboard io ports reservation to make ipmi driver work

    On some of our (single board computer) boards (x86) we are using an
    IPMI controller that uses I/O ports 0x62 and 0x66 for a KCS (keyboard
    controller style) IPMI system interface.
    
    Trying to load the openipmi driver fails, because the ports
    (0x62/0x66) are reserved for keyboard. keyboard reserves the full
    range 0x60-0x6F while it doesn't need to.
    
    Reserve only ports 0x60 and 0x64 for the legacy PS/2 i8042 keyboad
    controller instead of 0x60-0x6F to allow the openipmi driver to work.
    
    [ tglx: added 64bit fixup ]
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Helge Wagner committed with Thomas Gleixner Apr 29, 2008
  5. x86: fix fpu restore from sig return

    If the task never used fpu, initialize the fpu before restoring the FP
    state from the signal handler context. This will allocate the fpu
    state, if the task never needed it before.
    
    Reported-and-bisected-by: Eric Sesterhenn <snakebyte@gmx.de>
    Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
    Tested-by: Eric Sesterhenn <snakebyte@gmx.de>
    Cc: Frederik Deweerdt <deweerdt@free.fr>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Suresh Siddha committed with Thomas Gleixner May 7, 2008
  6. x86: remove spew print out about bus to node mapping

    Jeff Garzik pointed out that this printout is not needed.
    
    Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Yinghai Lu committed with Thomas Gleixner May 4, 2008
  7. x86: revert printk format warning change which is for linux-next

    commit 6217984
        x86: fix setup printk format warning
    
    is for linux-next and not for .26
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Thomas Gleixner committed May 8, 2008
  8. sparc32: Don't twiddle PT_DTRACE in exec.

    That bit isn't used on this platform.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>
    davem330 committed May 10, 2008
Commits on May 9, 2008
  1. Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/nico/orion into fixes
    Russell King committed with Russell King May 9, 2008
  2. [ARM] 5033/1: Unbreak corgi_ssp by registering ssp drivers earlier.

    A lot of stuff in spitz/akita/etc. depends on corgi_ssp to be initialised
    early. However corgi_ssp initialisation fails, because at that time pxa*-ssp
    devices don't have drivers. Move ssp earlier in the makefile so they are
    registered before corgi-ssp.
    
    Also move sleep/suspend and cpu-freq to more logical places
    
    Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    lumag committed with Russell King May 9, 2008
  3. [libata] revert new check-ready Status register logic

    This behavior differs across multiple controllers, so we cannot use
    common logic for all controllers.
    
    Revert back to the basic common behavior, and specific drivers will
    be updated from here to take into account the unusual Status return
    values.
    
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Jeff Garzik committed with Jeff Garzik May 9, 2008
  4. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/cooloney/blackfin-2.6
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (21 commits)
      Blackfin Serial Driver: abstract away DLAB differences into header
      Blackfin Serial Driver: macro away the IER differences between processors
      [Blackfin] arch: remove useless IRQ_SW_INT defines
      [Blackfin] arch: protect linux/usb/musb.h include until the driver gets mainlined
      [Blackfin] arch: protect linux/usb/isp1362.h include until the driver gets mainlined
      [Blackfin] arch: add EBIU supporting for BF54x EZKIT SMSC LAN911x/LAN921x families embedded ethernet driver
      [Blackfin] arch: Set spi flash partition on bf527 as like bf548.
      [Blackfin] arch: fix bug - Remove module will not free L1 memory used
      [Blackfin] arch: fix wrong header name in comment
      [Blackfin] arch: Fix BUG - spi flash on bf527 ezkit would fail at mount
      [Blackfin] arch: add twi_lcd and twi_keypad i2c board info to bf527-ezkit
      [Blackfin] arch: Add physmap partition for BF527-EZkit
      [Blackfin] arch: fix gdb testing regression
      [Blackfin] arch: disable single stepping when delivering a signal
      [Blackfin] arch: Delete unused (copied from m68k) entries in asm-offsets.c.
      [Blackfin] arch: In the double fault handler, set up the PT_RETI slot
      [Blackfin] arch: Support for CPU_FREQ and NOHZ
      [Blackfin] arch: Functional power management support: Add CPU and platform voltage scaling support
      [Blackfin] arch: fix bug -  breaking the atomic sections code.
      [Blackfin] arch: Equalize include files: Add VR_CTL masks
      ...
    torvalds committed May 9, 2008