02 Feb, 2006

40 commits

  • This arch-independent routine copies data to a memory-mapped I/O region,
    using 32-bit accesses. The naming is double-underscored to make it clear
    that it does not guarantee write ordering, nor does it perform a memory
    barrier afterwards; the kernel doc also explicitly states this. This style
    of access is required by some devices.

    This change also introduces include/linux/io.h, at Andrew's suggestion. It
    only has one occupant at the moment, but is a logical destination for
    oft-replicated contents of include/asm-*/{io,iomap}.h to migrate to.

    Signed-off-by: Bryan O'Sullivan
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bryan O'Sullivan
     
  • This can make the intent behind some arithmetic expressions clearer.

    Signed-off-by: Bryan O'Sullivan
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bryan O'Sullivan
     
  • This function is neither used nor has any real contents.

    Signed-off-by: Adrian Bunk
    Acked-by: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • The expiry time for relative timers with SIGEV_NONE set was never
    updated to the correct value.

    Pointed out by George Anzinger.

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

    Thomas Gleixner
     
  • At some point we added credits to people who actively helped to bring
    k/hr-timers along. This was lost in the big code revamp. Add it back.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • Clean up the interface to hrtimers by changing the init code to pass the mode
    as well as the clock. This allow the init code to select the correct base and
    eliminates extra timer re-init code in posix-timers. We also simplify the
    restart interface nanosleep use.

    Signed-off-by: George Anzinger
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    George Anzinger
     
  • From: Steven Rostedtrostedt@goodmis.org

    CPU0 expires a posix-timer and runs the callback function. The signal is
    queued.

    After releasing the posix-timer lock and before returning to hrtimer_run_queue
    CPU0 gets interrupted. CPU1 delivers the queued signal and rearms the timer.
    CPU0 comes back to hrtimer_run_queue and sets the timer state to expired.

    The next modification of the timer can result in an oops, because the state
    information is wrong.

    Keep track of state = RUNNING and check if the state has been in the return
    path of hrtimer_run_queue. In case the state has been changed, ignore a
    restart request and do not touch the state variable.

    Signed-off-by: Steven Rostedt
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@osdl.org
     
  • This resolves bugzilla bug#5617. The oldvalue of the timer was read after the
    timer was cancelled, so the remaining time was always zero.

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

    Thomas Gleixner
     
  • Fixup the conversion of posix-timers to hrtimers.

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

    Thomas Gleixner
     
  • The itimer conversion removed the locking which protects the timer and
    variables in the shared signal structure. Steven Rostedt found the problem in
    the latest -rt patches.

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

    Thomas Gleixner
     
  • Make swsusp use bytes as the image size units, which is needed for future
    compatibility.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Pavel Machek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • CC arch/um/sys-i386/ldt.o
    arch/um/sys-i386/ldt.c:19:21: proc_mm.h: No such file or directory
    make[1]: *** [arch/um/sys-i386/ldt.o] Error 1

    Signed-off-by: Pekka Enberg
    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pekka Enberg
     
  • Signed-off-by: Alexey Dobriyan
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Remove event_data_size since it was pointed out in tpm_bios-indexing-
    fix.patch that is was ugly and it wasn't actually being used.

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

    Kylene Jo Hall
     
  • Fixing the sparse warnings on the acpi_os_map_memory calls pointed out by
    Randy.

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

    Kylene Jo Hall
     
  • Attempting to insert the tpm modules fails because the tpm_bios file is
    missing a license statement.

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

    Kylene Jo Hall
     
  • It generates warnings:

    drivers/char/tpm/tpm_bios.c: In function `get_event_name':
    drivers/char/tpm/tpm_bios.c:223: warning: cast from pointer to integer of different size
    drivers/char/tpm/tpm_bios.c:223: warning: cast from pointer to integer of different size
    drivers/char/tpm/tpm_bios.c:223: warning: cast from pointer to integer of different size
    drivers/char/tpm/tpm_bios.c:224: warning: cast from pointer to integer of different size
    drivers/char/tpm/tpm_bios.c:224: warning: cast from pointer to integer of different size
    drivers/char/tpm/tpm_bios.c:224: warning: cast from pointer to integer of different size

    and I'm not sure what the code is doing there, but it seems wrong. We're
    using the address of the buffer rather than the contents of it.

    The patch adds more nasty typecasting, but I think the whole arrangement could
    be done in a more typesafe manner.

    Cc: Kylene Jo Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • These functions return ERR_PTR()s on error, not NULL.

    Spotted by Randy.

    Cc: Serge Hallyn
    Cc: Kylene Jo Hall
    Cc: "Randy.Dunlap"
    Acked-by: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • tpm_bios.c needs securityfs_xyz() functions.

    Does include/linux/security.h need stubs for these, or should
    char/tpm/Makefile just be modified to say:

    ifdef CONFIG_ACPI
    ifdef CONFIG_SECURITY
    obj-$(CONFIG_TCG_TPM) += tpm_bios.o
    endif
    endif

    drivers/char/tpm/tpm_bios.c:494: warning: implicit declaration of function 'securityfs_create_dir'
    drivers/char/tpm/tpm_bios.c:494: warning: assignment makes pointer from integer without a cast
    drivers/char/tpm/tpm_bios.c:499: warning: implicit declaration of function 'securityfs_create_file'
    drivers/char/tpm/tpm_bios.c:501: warning: assignment makes pointer from integer without a cast
    drivers/char/tpm/tpm_bios.c:508: warning: assignment makes pointer from integer without a cast
    drivers/char/tpm/tpm_bios.c:523: warning: implicit declaration of function 'securityfs_remove'
    *** Warning: "securityfs_create_file" [drivers/char/tpm/tpm_bios.ko] undefined!
    *** Warning: "securityfs_create_dir" [drivers/char/tpm/tpm_bios.ko] undefined!
    *** Warning: "securityfs_remove" [drivers/char/tpm/tpm_bios.ko] undefined!

    There are also some gcc and sparse warnings that could be fixed.
    (see http://www.xenotime.net/linux/doc/build-tpm.out)

    Signed-off-by: Randy Dunlap
    Cc: Serge Hallyn
    Cc: Greg KH
    Cc: Kylene Jo Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • drivers/char/tpm/tpm_infineon.c:443: warning: format '%04x' expects type 'unsigned int', but argument 4 has type 'long unsigned int'

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

    Randy Dunlap
     
  • At the 2.6.12 timeframe ipmi_si_intf.c was patched to provide default
    register spacings in try_init_acpi() if the register spacing was set to
    zero, similar to code in other routines.

    Unfortunately, another patch was simultaneously added that exits early from
    try_init_acpi() if the register spacings are set to zero, circumventing the
    new defaults. This patch removes the early exit code and some incorrect
    comments that aren't present in other common code snippets.

    Signed-off-by: Rocky Craig
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rocky Craig
     
  • priv->eeprom is a pointer.

    Signed-off-by: Alexey Dobriyan
    Acked-by: Yi Zhu
    Cc: James Ketrenos
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • On alpha-jensen:

    CC drivers/base/platform.o
    In file included from include/linux/dma-mapping.h:24,
    from drivers/base/platform.c:16:
    include/asm/dma-mapping.h:36: warning: "struct scatterlist" declared inside parameter list
    include/asm/dma-mapping.h:36: warning: its scope is only this definition or declaration, which is probably not what you want

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

    Alexey Dobriyan
     
  • drivers/md/dm-table.c:500: warning: comparison of distinct pointer types lacks a cast

    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • The snapshot and origin targets are incapable of handling barriers and need to
    indicate this.

    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • Record I/O timing statistics

    The start time is added to struct dm_io, an existing structure allocated
    privately internally within dm and attached to each incoming bio.

    We export disk_round_stats() from block/ll_rw_blk.c instead of creating a
    private clone.

    Signed-off-by: Jun'ichi "Nick" Nomura
    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jun'ichi "Nick" Nomura
     
  • Record basic I/O statistics for mapped devices.

    Signed-off-by: Kevin Corry
    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kevin Corry
     
  • Reduce substantially the amount of code using PF_MEMALLOC, as envisaged in the
    original FIXME.

    If you're using lvm2, for this patch to work correctly you should update to
    lvm2 version 2.02.01 or later and device-mapper version 1.02.02 or later.

    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • Clean up the code responsible for the on-disk mirror logs by using the
    set_le_bit test_le_bit functions of ext2. That makes the BE machines keep the
    bitmap internally in LE order - it does mean you can't use any other type of
    operations on the bitmap words but that looks to be OK in this instance. The
    efficiency tradeoff is very minimal as you would expect for something that
    ext2 uses.

    This allows us to remove bits_to_core(), bits_to_disk() and log->disk_bits.

    Also increment the mirror log disk version transparently to avoid sharing with
    older kernels that suffered from the 64-bit BE bug.

    Signed-off-by: Patrick Caulfield
    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Patrick Caulfield
     
  • Move snapshot metadata loading to happen when the table is created instead of
    when the device is resumed. Writes to the origin device don't trigger
    exceptions until each snapshot table becomes active when resume() is called on
    each snapshot.

    If you're using lvm2, for this patch to work properly you should update to
    lvm2 version 2.02.01 or later and device-mapper version 1.02.02 or later.

    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alasdair G Kergon
     
  • fs/compat.c: In function `compat_sys_pselect7':
    fs/compat.c:1820: warning: passing arg 5 of `compat_core_sys_select' from incompatible pointer type

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

    Andrew Morton
     
  • It's not used. Fix the following on alpha-eb66 as a side effect:

    In file included from drivers/net/lp486e.c:75:
    include/asm/io.h:20:1: warning: "SLOW_DOWN_IO" redefined
    drivers/net/lp486e.c:59:1: warning: this is the location of the previous definition

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

    Alexey Dobriyan
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Make the platform function interrupt functions actually work. Calls
    irq_enable() for the first in the list, and irq_disable() for the last.

    Added *func to struct irq_client so the the user can pass just that to
    pmf_unregister_irq_client().

    Signed-off-by: Ben Collins
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Collins
     
  • Kernel 2.6.16-rc1 broke the ide-scsi driver: ide-scsi loads but fails to
    find any devices to bind to. It also triggers a message "Driver 'ide-scsi'
    needs updating - please use bus_type methods" from the driver core.

    The IDE core in 2.6.16-rc1 changed the location of an IDE driver's
    ->probe()/->remove()/->shutdown() methods: they are now in the ide_driver_t
    struct not in the gen_driver sub-struct. drivers/ide/ was updated for this
    change but ide-scsi.c wasn't. Hence the breakage.

    This patch repairs ide-scsi and also eliminates the driver core warning.

    Signed-off-by: Mikael Pettersson
    Cc: Russell King
    Cc: Greg KH
    Acked-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mikael Pettersson
     
  • __meminit has overzelously been modified and crept its way into marking
    cpuup callbacks as __meminit.

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

    Ashok Raj
     
  • In 2.6.16-rc1 there is a small typo introduced by the 'Remove device_node
    addrs/n_addr' changes which prevents my Powerbook G4 sound from working:

    Advanced Linux Sound Architecture Driver Version 1.0.11rc2 (Wed Jan 04 08:57:20 2006 UTC).
    snd: can't request rsrc 0 (Sound Control: 0x80000000:80004fff)
    ALSA device list:
    No soundcards found.

    The patch below fixes it. Of course, the patch fixing the i2c issues
    ('i2c_smbus_write_i2c_block_data' patch) needs to be applied to in order
    for the sound to completly work.

    Signed-off-by: Stelian Pop
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • While asynchronous reads mean a performance improvement in most cases, if
    the filesystem assumed that reads are synchronous, then async reads may
    degrade performance (filesystem may receive reads out of order, which can
    confuse it's own readahead logic).

    With sshfs a 1.5 to 4 times slowdown can be measured.

    There's also a need for userspace filesystems to know whether asynchronous
    reads are supported by the kernel or not.

    To achive these, negotiate in the INIT request whether async reads will be
    used and the maximum readahead value. Update interface version to 7.6

    If userspace uses a version earlier than 7.6, then disable async reads, and
    set maximum readahead value to the maximum read size, as done in previous
    versions.

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

    Miklos Szeredi
     
  • An old patch designed to fix http://bugme.osdl.org/show_bug.cgi?id=4497,
    "getdents gives empty/random result upon signal".

    If smbfs's readdir() is interupted by a signal, smb_readdir() failed to
    noticed that and proceeded to treat the unread-into page as valid directory
    contents. Fix that up by handling the -ERESTARTSYS.

    Thanks to Stian Skjelstad for reporting and testing.

    Cc: Stian Skjelstad
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Move CONFIG_DOUBLEFAULT from the main Kconfig menu (!) into its proper
    place: the "Processor Type and features" submenu.

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

    Ingo Molnar