11 Jul, 2006

40 commits

  • Remove BINFMT_ELF32 config option. Support should be always compiled in if
    CONFIG_COMPAT is set.

    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     
  • Currently most architectures either always build binfmt_elf32 in the kernel
    image or make it a boolean option. Only sparc64 and s390 allow to build it
    modularly. This patch turns the option into a boolean aswell because elf
    requires various symbols that shouldn't be available to modules. The most
    urgent one is tasklist_lock whos export this patch series kills, but there
    are others like force_sgi aswell.

    Note that sparc doesn't allow a modular 32bit a.out handler either, and
    that would be the more useful case as only few people want 32bit sunos
    compatibility and 99.9% of all sparc64 users need 32bit linux native elf
    support.

    Signed-off-by: Christoph Hellwig
    Acked-by: "David S. Miller"
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Currently the snsc driver uses force_sig to send init a SIGPWR when the
    system overheats. This patch switches it to kill_proc instead which has
    the following advantages:

    (1) gets rid of one of the last remaining tasklist_lock users
    in modular code
    (2) simplifies the snsc code significantly

    The downside is that an init implementation could in theory block SIGPWR
    and it would not get delivered. The sysvinit code used by all major
    distributions doesn't do this and blocking this signal in init would be a
    rather stupid thing to do.

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

    Christoph Hellwig
     
  • - Switch from register_chrdev() to (register|alloc)_chrdev_region().

    - use a cdev. This was intended for original patchset, but was
    overlooked.

    We use a single cdev for all pins (minor device-numbers), as gleaned
    from cs5535_gpio, and in contrast to whats currently done in scx200_gpio
    (which I'll fix soon)

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

    Jim Cromie
     
  • Fix module-init-func by repairing usage of platform_device_del/put in
    module-exit-func. IOW, it imitates Ingo's 'mishaps' patch, which fixed the
    module-init-func's undo handling.

    Also fixes lack of release_region to undo the earlier registration.

    Also starts to 'use a cdev' which was originally intended (its present in
    scx200_gpio). Code compiles and runs, exhibits a lesser error than
    previously. (re-register-chrdev fails)

    Since I had to add "include ", I went ahead and made 2
    tweaks that fell into diff-context-window:
    - remove include everyone's doing it
    - copyright updates - current date is 'wrong'

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

    Jim Cromie
     
  • add constant defines - preparatory patch

    - adds #define CONSTs for max-pin, gpio-addr-range (for reserving region)
    - fix wrong max-pin check in gpio_open()
    - add 'Winbond' to module description. NSC sold the product, Winbond
    has supported us / lm-sensors

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

    Jim Cromie
     
  • Add LED Class device support for the Soekris net48xx Error LED. Tested
    only on a net4801, but should work on a net4826 as well. I'd love to find
    a way of detecting a Soekris net48xx device but there is no DMI or any
    Soekris-specific PCI devices.

    [akpm@osdl.org: fixlets, cleanups]
    Signed-off-by: Chris Boot
    Cc: Ben Dooks
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Boot
     
  • These functions no longer exist; remove their declarations.

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

    Andreas Gruenbacher
     
  • Signed-off-by: Eric Sesterhenn
    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     
  • allyesconfig vmlinux size delta:

    text data bss dec filename
    20736884 6073834 3075176 29885894 vmlinux.before
    20721009 6073966 3075176 29870151 vmlinux.after

    ~18 bytes per callsite, 15K of text size (~0.1%) saved.

    (as an added bonus this also removes a lockdep annotation.)

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

    Ingo Molnar
     
  • There's a fairly obvious infinite loop in there.

    Also, use roundup_pow_of_two() rather than open-coding stuff.

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

    Andrew Morton
     
  • Handle memory-mapped chips properly, needed for example on DECstations.
    This support was in Linux 2.4 but for some reason got lost in 2.6. This
    patch is taken directly from the linux-mips repository.

    [akpm@osdl.org: cleanup]
    Signed-off-by: Maciej W. Rozycki
    Signed-off-by: Martin Michlmayr
    Cc: Paul Gortmaker
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maciej W. Rozycki
     
  • Newer ARMs have a 40 bit physical address space, but mapping physical
    memory above 4G needs a special page table format which we (currently?) do
    not use for userspace mappings, so what happens instead is that mapping an
    address >= 4G will happily discard the upper bits and wrap.

    There is a valid_mmap_phys_addr_range() arch hook where we could check for
    >= 4G addresses and deny the mapping, but this hook takes an unsigned long
    address:

    static inline int valid_mmap_phys_addr_range(unsigned long addr, size_t size);

    And drivers/char/mem.c:mmap_mem() calls it like this:

    static int mmap_mem(struct file * file, struct vm_area_struct * vma)
    {
    size_t size = vma->vm_end - vma->vm_start;

    if (!valid_mmap_phys_addr_range(vma->vm_pgoff << PAGE_SHIFT, size))

    So that's not much help either.

    This patch makes the hook take a pfn instead of a phys address.

    Signed-off-by: Lennert Buytenhek
    Cc: Bjorn Helgaas
    Cc: "Luck, Tony"
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lennert Buytenhek
     
  • When EDAC was first introduced into the kernel it had a sysfs interface,
    but due to some problems it was disabled in 2.6.16 and remained disabled in
    2.6.17.

    With feedback, several of the control and attribute files of that interface
    had some good constructive feedback. PCI Blacklist/Whitelist was a major
    set which has design issues and it has been removed in this patch. Instead
    of storing PCI broken parity status in EDAC, it has been moved to the
    pci_dev structure itself by a previous PCI patch. A future patch will
    enable that feature in EDAC by utilizing the pci_dev info.

    The sysfs is now enabled in this patch, with a minimal set of control and
    attribute files for examining EDAC state and for enabling/disabling the
    memory and PCI operations.

    The Documentation for EDAC has also been updated to reflect the new state
    of EDAC operation.

    Signed-off-by:Doug Thompson
    Cc: Greg KH
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Doug Thompson
     
  • Whoops, better hope this never gets passed a null dev in its current state.

    Signed-off-by: Dave Jones
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Michael Holzheu
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • Signed-off-by: Dave Jones
    Cc: Heiko Carstens
    Cc: Andreas Herrmann
    Cc: Michael Holzheu
    Acked-by: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • Two variables in drivers/s390/net/qeth_main.c:qeth_send_packet() are only
    used if CONFIG_QETH_PERF_STATS. Move their definition under the same ifdef
    to remove compiler warning.

    Signed-off-by: Serge Hallyn
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn
     
  • Handling a host mconsole version request must be done in a process context
    rather than interrupt context now that utsname information can be
    process-specific rather than global.

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

    Jeff Dike
     
  • The dedevfsification of UML left an unused variable behind.

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

    Jeff Dike
     
  • Add some more uses of the CATCH_EINTR wrapper.

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

    Jeff Dike
     
  • Fix a bunch of formatting problems.

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

    Jeff Dike
     
  • Move most *_kern.c files in arch/um/kernel to *.c. This makes UML somewhat
    more closely resemble the other arches.

    [akpm@osdl.org: use the new INTF_* flags]
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Eliminate an unused debug option.

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

    Jeff Dike
     
  • A few sigio-related things can be made static.

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

    Jeff Dike
     
  • This fixes an exitcall ordering bug - calls to ignore_sigio_fd can come from
    exitcalls that come after the sigio thread has been killed. This would cause
    shutdown to hang or crash.

    Fixed by having ignore_sigio_fd check that the thread is present before trying
    to communicate with it.

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

    Jeff Dike
     
  • os_isatty can be made to disappear by moving maybe_sigio_broken from kernel to
    user code. This also lets write_sigio_workaround become static.

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

    Jeff Dike
     
  • The irq_spinlock is not needed from user code any more, so the irq_lock and
    irq_unlock wrappers can go away. This also changes the name of the lock to
    irq_lock.

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

    Jeff Dike
     
  • Mark forward_interrupts as being tt-mode only.

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

    Jeff Dike
     
  • uml_idle_timer is tt-mode only, so ifdef it as such to make it easier to spot
    when tt mode is killed.

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

    Jeff Dike
     
  • Get rid of a user of timer_irq_inited (and first_tick) by observing that
    prev_ticks can be used to decide if this is the first call.

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

    Jeff Dike
     
  • It turns out that init_new_thread_signals is always called with altstack == 1,
    so we can eliminate the parameter.

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

    Jeff Dike
     
  • wall_to_monotonic isn't used in this file, so we can remove the declaration.

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

    Jeff Dike
     
  • When UML is built as a static binary, it segfaults when run. The reason is
    that a memory hole that is present in dynamic binaries isn't there in static
    binaries, and it contains essential stuff.

    This fix removes the code which maps some anonymous memory into that hole and
    cleans up some related code.

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

    Jeff Dike
     
  • Spotted by Al Viro - eliminate a couple useless exports.

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

    Jeff Dike
     
  • This cleans up the mess that is the timer initialization. There used to be
    two timer handlers - one that basically ran during delay loop calibration and
    one that handled the timer afterwards. There were also two sets of timer
    initialization code - one that starts in user code and calls into the kernel
    side of the house, and one that starts in kernel code and calls user code.

    This eliminates one timer handler and consolidates the two sets of
    initialization code.

    [akpm@osdl.org: use new INTF_ flags]
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • I was looking at the code of the UML and more precisely at the functions
    set_task_sizes_tt and set_task_sizes_skas. I noticed that these 2 functions
    take a paramater (arg) which is not used : the function is always called with
    the value 0.

    I suppose that this value might change in the future (or even can be
    configured), so I added a constant in mem_user.h file.

    Also, I rounded CONFIG_HOST_TASk_SIZE to a 4M.

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

    Tyler
     
  • It already has .owner.

    Signed-off-by: Irwan Djajadi
    Signed-off-by: Alexey Dobriyan
    Cc: Mikael Starvik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Irwan Djajadi
     
  • Signed-off-by: Eric Sesterhenn
    Signed-off-by: Alexey Dobriyan
    Cc: Mikael Starvik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     
  • Do not panic a machine when swsusp signature can't be read.

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

    Linus Torvalds
     
  • kernel/power/swap.c: In function 'swsusp_write':
    kernel/power/swap.c:275: warning: 'start' may be used uninitialized in this function

    gcc isn't smart enough, so help it.

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

    Andrew Morton