12 Feb, 2007

40 commits

  • tty_wakeup cleanup

    - remove wake_up_interruptible(&tty->write_wait) surrounding
    tty_wakup(tty);
    - substitute tty->ldisc.write_wakeup(tty) + wake_up() by tty_wakeup(tty);

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

    Jiri Slaby
     
  • Don't forget to decrease card_count in fail paths and in remove function.
    Also null board->base in such cases to point out, that this structure is
    unused and thus can be reassigned.

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

    Jiri Slaby
     
  • Add support for higher baud rates (coming from original isi driver).

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

    Jiri Slaby
     
  • Check if the card really interrupted us by reading its IO space and eventualy
    return IRQ_NONE.

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

    Jiri Slaby
     
  • isicom, augment card_reset

    - add 0xee to signatures
    - change long delays to sleeps
    - make one sleep shorter not to wait 3s
    - portcount == 16 is also correct

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

    Jiri Slaby
     
  • 2 spin_unlocks are omitted in the interrupt handler. Put them there to fix up
    deadlocking on UP.

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

    Jiri Slaby
     
  • Signed-off-by: Adrian Bunk
    Cc: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Removes an unused and ambiguous redefinition of INIT_WORK()

    Signed-off-by: Andreas Jaggi
    Acked-by: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Jaggi
     
  • I added IS_NOATIME(inode) macro definition in include/linux/fs.h, true if
    the inode superblock is marked readonly or noatime.

    This new macro is then used in touch_atime() instead of separatly testing
    MS_RDONLY and MS_NOATIME

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

    Eric Dumazet
     
  • I noticed cache misses in touch_atime() that can be avoided if we keep
    mnt_count & mnt_expiry_mark in a different cache line than mnt_flags
    (mostly read)

    mnt_count & mnt_expiry_mark are modified each time a file is opened/closed
    in a file system.

    touch_atime() is called each time a file is read, and generally needs to
    read mnt_flags.

    Other fields of struct vfsmount are mostly read so I chose to move
    mnt_count & mnt_expiry_mark at the end of struct vfsmount. And adding a
    comment so that nobody tries to re-arrange fields to fill the holes :)

    On 64bits platforms, the new offsetof(mnt_count) is 0xC0
    On 32bits platforms, it is 0x60, so I didnot add a
    ____cacheline_aligned_in_smp because it would have a too big impact on the
    size of this object (in particular if CONFIG_X86_L1_CACHE_SHIFT=7)

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

    Eric Dumazet
     
  • - tty_hangup() itself schedules work, so there is no need to schedule hangup
    in the driver

    - tty_wakeup(): it's safe to call it while in atomic, so that its
    schedule_work might be also wiped out

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

    Jiri Slaby
     
  • The SGI IOC3 and IOC4 PCI devices implement memory space apertures, not I/O
    space apertures. Use the appropriate region management functions.

    Signed-off-by: Brent Casavant
    Cc: Pat Gefre
    Cc: Stanislaw Skowronek
    Cc: Brent Casavant
    Acked-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Brent Casavant
     
  • Extend usr/gen_init_cpio.c "file" entry, adding support for hard links.

    Previous format:
    file

    New format:
    file []

    The hard links specification is optional, keeping the previous
    behaviour.

    All hard links are defined sequentially in the resulting cpio and the
    file data is present only in the last link. This is the behaviour of
    GNU's cpio and is supported by the kernel initramfs extractor.

    Signed-off-by: Luciano Rocha
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Luciano Rocha
     
  • Update all arch/*/kernel/vmlinux.lds.S to not include space for initramfs
    when CONFIG_BLK_DEV_INITRAMFS is not selected. This saves another 4 kbytes
    on most platfoms (some reserve PAGE_SIZE for initramfs).

    Signed-off-by: Jean-Paul Saman
    Cc: Al Viro
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean-Paul Saman
     
  • The file init/initramfs.c is always compiled and linked in the kernel
    vmlinux even when BLK_DEV_RAM and BLK_DEV_INITRD are disabled and the
    system isn't using any form of an initramfs or initrd. In this situation
    the code is only used to unpack a (static) default initial rootfilesystem.
    The current init/initramfs.c code. usr/initramfs_data.o compiles to a size
    of ~15 kbytes. Disabling BLK_DEV_RAM and BLK_DEV_INTRD shrinks the kernel
    code size with ~60 Kbytes.

    This patch avoids compiling in the code and data for initramfs support if
    CONFIG_BLK_DEV_INITRD is not defined. Instead of the initramfs code and
    data it uses a small routine in init/noinitramfs.c to setup an initial
    static default environment for mounting a rootfilesystem later on in the
    kernel initialisation process. The new code is: 164 bytes of size.

    The patch is separated in two parts:
    1) doesn't compile initramfs code when CONFIG_BLK_DEV_INITRD is not set
    2) changing all plaforms vmlinux.lds.S files to not reserve an area of
    PAGE_SIZE when CONFIG_BLK_DEV_INITRD is not set.

    [deweerdt@free.fr: warning fix]
    Signed-off-by: Jean-Paul Saman
    Cc: Al Viro
    Cc:
    Signed-off-by: Frederik Deweerdt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean-Paul Saman
     
  • tty_wakeup calls wake_up_interruptible(&tty->write_wait) itself, it's not
    needed to wake up again after tty_wakeup returns.

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

    Jiri Slaby
     
  • - Prevent things like this:

    block/ll_rw_blk.c: In function 'submit_bio':
    block/ll_rw_blk.c:3222: warning: unused variable 'count'

    inlines are very, very preferable to macros.

    - remove unused get_cpu_vm_events() macro

    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • include/linux/byteorder/pdp_endian.h is completely unused, and the comment in
    the file itself states that it's both untested and only a proof-of-concept.

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

    Adrian Bunk
     
  • currently it's
    1) if *oldlenp == 0,
    don't writeback anything

    2) if *oldlenp >= table->maxlen,
    don't writeback more than table->maxlen bytes and rewrite *oldlenp
    don't look at underlying type granularity

    3) if 0 < *oldlenp < table->maxlen,
    *cough*
    string sysctls don't writeback more than *oldlenp bytes.
    OK, that's because sizeof(char) == 1

    int sysctls writeback anything in (0, table->maxlen] range
    Though accept integers divisible by sizeof(int) for writing.

    sysctl_jiffies and sysctl_ms_jiffies don't writeback anything but
    sizeof(int), which violates 1) and 2).

    So, make sysctl_jiffies and sysctl_ms_jiffies accept
    a) *oldlenp == 0, not doing writeback
    b) *oldlenp >= sizeof(int), writing one integer.

    -EINVAL still returned for *oldlenp == 1, 2, 3.

    Signed-off-by: Alexey Dobriyan
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • This does several things.
    - It moves looking up of the current foreground console into process
    context where we can safely take the semaphore that protects this
    operation.
    - It uses the new flavor of work queue processing.
    - This generates a factor of do_SAK, __do_SAK that runs immediately.
    - This calls __do_SAK with the console semaphore held ensuring nothing
    else happens to the console while we process the SAK operation.
    - With the console SAK processing moved into process context this
    patch removes the xchg operations that I used to attempt to attomically
    update struct pid, because of the strange locking used in the SAK processing.
    With SAK using the normal console semaphore nothing special is needed.

    Cc: Oleg Nesterov
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Add retain_initrd option to control freeing of initrd memory after
    extraction. By default, free memory as previously.

    The first boot will need to hold a copy of the in memory fs for the second
    boot. This image can be large (much larger than the kernel), hence we can
    save time when the memory loader is slow. Also, it reduces the memory
    footprint while extracting the first boot since you don't need another copy
    of the fs.

    Signed-off-by: Michael Neuling
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Neuling
     
  • Add support for auxiliary displays, the ks0108 LCD controller, the
    cfag12864b LCD and adds a framebuffer device: cfag12864bfb.

    - Add a "auxdisplay/" folder in "drivers/" for auxiliary display
    drivers.

    - Add support for the ks0108 LCD Controller as a device driver. (uses
    parport interface)

    - Add support for the cfag12864b LCD as a device driver. (uses ks0108
    LCD Controller driver)

    - Add a framebuffer device called cfag12864bfb. (uses cfag12864b LCD
    driver)

    - Add the usual Documentation, includes, Makefiles, Kconfigs,
    MAINTAINERS, CREDITS...

    - Miguel Ojeda will maintain all the stuff above.

    [rdunlap@xenotime.net: workqueue fixups]
    [akpm@osdl.org: kconfig fix]
    Signed-off-by: Miguel Ojeda Sandonis
    Cc: Greg KH
    Acked-by: Paulo Marques
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miguel Ojeda Sandonis
     
  • Use ARRAY_SIZE macro already defined in linux/kernel.h

    Signed-off-by: Ahmed S. Darwish
    Cc: Miles Bader
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ahmed S. Darwish
     
  • This patch fixes some missing ptrace bits on x86_64. PTRACE_ARCH_PRCTL is
    hooked up and implemented. This required generalizing arch_prctl_skas
    slightly to take a task_struct to modify. Previously, it always operated on
    current.

    Reading and writing the debug registers is also enabled by un-ifdefing the
    code that implements that. It turns out that x86_64 is identical to i386, so
    the same code can be used.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • x86_64 needs some TLS fixes. What was missing was remembering the child
    thread id during clone and stuffing it into the child during each context
    switch.

    The %fs value is stored separately in the thread structure since the host
    controls what effect it has on the actual register file. The host also needs
    to store it in its own thread struct, so we need the value kept outside the
    register file.

    arch_prctl_skas was fixed to call PTRACE_ARCH_PRCTL appropriately. There is
    some saving and restoring of registers in the ARCH_SET_* cases so that the
    correct set of registers are changed on the host and restored to the process
    when it runs again.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • The startup code panics a lot if anything goes wrong early on. This is wrong
    for several reasons, like the kernel isn't running, so you can't really be
    calling into it yet, but the harm comes from useful error messages being
    trapped in the printk ring where no one will ever see them.

    This patch changes these panics to perror and printf in wrappers which also
    exit. Normal, informational, prints are also wrapped so that fflush(stdout)
    is called after each one. This is so the output appears in the correct
    sequence in the event of an error.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Comment the lack of locking of data that's set up once at boot time.

    Also fixed a couple of bogus printks.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Formatting fixes in the register handling code.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Comment the lack of locking of the elf data extracted from the ELF headers
    passed to UML.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Add an error message when two umids are put on the command line.

    umid.h is kind of pointless since it only declares one thing, and that
    is already declared in os.h.

    Commented the lack of locking of some data in os-Linux/umid.h.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Fix formatting in the sigio code.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Comment the use of a mysterious-looking lock.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Tidying the irq code -
    make a variable static
    activate_fd can call kmalloc directly since it's now kernel code
    added a no-locking comment
    fixed a style violation

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Fix apparent typo, where CONFIG_64_BIT should read CONFIG_64BIT.

    Signed-off-by: Robert P. J. Day
    Cc: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • Fix a bunch of style violations in mem.c.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • We shouldn't be using the os wrappers from os code - we can use libc directly.
    This patch replaces wrapper calls with libc calls.

    It turns out that os_sigio_async had only one caller, which was in startup.c,
    so that function is moved there and its name changed.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Some style fixes in startup.c.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Add a couple of comments about some non-locked data.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Locking comments and emacs comment removal in the low-level memory and
    temp file code.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Some small locking and formatting fixes in the ubd driver.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike