18 Jul, 2007

40 commits

  • Allocate/release a chunk of vmalloc address space:
    alloc_vm_area reserves a chunk of address space, and makes sure all
    the pagetables are constructed for that address range - but no pages.

    free_vm_area releases the address space range.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Ian Pratt
    Signed-off-by: Christian Limpach
    Signed-off-by: Chris Wright
    Cc: "Jan Beulich"
    Cc: "Andi Kleen"

    Jeremy Fitzhardinge
     
  • __supported_pte_mask is needed when constructing pte values. Xen
    device drivers need to do this to make mappings of foreign pages (ie,
    pages granted to us by other domains).

    Signed-off-by: Jeremy Fitzhardinge

    Jeremy Fitzhardinge
     
  • Paravirt implementations need to set the sibling map on new cpus.

    Signed-off-by: Jeremy Fitzhardinge

    Jeremy Fitzhardinge
     
  • Paravirt implementations need to store cpu info when bringing up cpus.

    Signed-off-by: Jeremy Fitzhardinge

    Jeremy Fitzhardinge
     
  • Make globally leave_mm visible, specifically so that Xen can use it to
    shoot-down lazy uses of cr3.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Chris Wright

    Jeremy Fitzhardinge
     
  • When running with CONFIG_PARAVIRT, we may want lots of IRQs even if
    there's no IO APIC.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: "Eric W. Biederman"

    Jeremy Fitzhardinge
     
  • Add a hook so that the paravirt backend knows when the allocator is
    ready. This is useful for the obvious reason that the allocator is
    available, but the other side-effect of having the bootmem allocator
    available is that each page now has an associated "struct page".

    Signed-off-by: Jeremy Fitzhardinge

    Jeremy Fitzhardinge
     
  • It's useful to know which mm is allocating a pagetable. Xen uses this
    to determine whether the pagetable being added to is pinned or not.

    Signed-off-by: Jeremy Fitzhardinge

    Jeremy Fitzhardinge
     
  • Use existing elfnote.h to generate vsyscall notes, rather than doing
    it locally. Changes elfnote.h a bit to suit, since this is the first
    asm user, and it wasn't quite right.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: "Eric W. Biederman"
    Cc: Roland McGrath
    Cc: Andrew Morton

    Jeremy Fitzhardinge
     
  • Rather than using a tri-state integer for the wait flag in
    call_usermodehelper_exec, define a proper enum, and use that. I've
    preserved the integer values so that any callers I've missed should
    still work OK.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: James Bottomley
    Cc: Randy Dunlap
    Cc: Christoph Hellwig
    Cc: Andi Kleen
    Cc: Paul Mackerras
    Cc: Johannes Berg
    Cc: Ralf Baechle
    Cc: Bjorn Helgaas
    Cc: Joel Becker
    Cc: Tony Luck
    Cc: Kay Sievers
    Cc: Srivatsa Vaddagiri
    Cc: Oleg Nesterov
    Cc: David Howells

    Jeremy Fitzhardinge
     
  • Various pieces of code around the kernel want to be able to trigger an
    orderly poweroff. This pulls them together into a single
    implementation.

    By default the poweroff command is /sbin/poweroff, but it can be set
    via sysctl: kernel/poweroff_cmd. This is split at whitespace, so it
    can include command-line arguments.

    This patch replaces four other instances of invoking either "poweroff"
    or "shutdown -h now": two sbus drivers, and acpi thermal
    management.

    sparc64 has its own "powerd"; still need to determine whether it should
    be replaced by orderly_poweroff().

    Signed-off-by: Jeremy Fitzhardinge
    Acked-by: Len Brown
    Signed-off-by: Chris Wright
    Cc: Andrew Morton
    Cc: Randy Dunlap
    Cc: Andi Kleen
    Cc: Al Viro
    Cc: Arnd Bergmann
    Cc: David S. Miller

    Jeremy Fitzhardinge
     
  • Rather than having hundreds of variations of call_usermodehelper for
    various pieces of usermode state which could be set up, split the
    info allocation and initialization from the actual process execution.

    This means the general pattern becomes:
    info = call_usermodehelper_setup(path, argv, envp); /* basic state */
    call_usermodehelper_(info, stuff...); /* extra state */
    call_usermodehelper_exec(info, wait); /* run process and free info */

    This patch introduces wrappers for all the existing calling styles for
    call_usermodehelper_*, but folds their implementations into one.

    Signed-off-by: Jeremy Fitzhardinge
    Cc: Andi Kleen
    Cc: Rusty Russell
    Cc: David Howells
    Cc: Bj?rn Steinbrink
    Cc: Randy Dunlap

    Jeremy Fitzhardinge
     
  • argv_split() is a helper function which takes a string, splits it at
    whitespace, and returns a NULL-terminated argv vector. This is
    deliberately simple - it does no quote processing of any kind.

    [ Seems to me that this is something which is already being done in
    the kernel, but I couldn't find any other implementations, either to
    steal or replace. Keep an eye out. ]

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Chris Wright
    Cc: Andrew Morton
    Cc: Randy Dunlap

    Jeremy Fitzhardinge
     
  • Add a kstrndup function, modelled on strndup. Like strndup this
    returns a string copied into its own allocated memory, but it copies
    no more than the specified number of bytes from the source.

    Remove private strndup() from irda code.

    Signed-off-by: Jeremy Fitzhardinge
    Signed-off-by: Chris Wright
    Cc: Andrew Morton
    Cc: Randy Dunlap
    Cc: YOSHIFUJI Hideaki
    Cc: Akinobu Mita
    Cc: Arnaldo Carvalho de Melo
    Cc: Al Viro
    Cc: Panagiotis Issaris
    Cc: Rene Scharfe

    Jeremy Fitzhardinge
     
  • This is a reimplementation of the zs driver for the serial subsystem. Any
    resemblance to the old driver is purely coincidential. ;-) I do hope I got
    the handling of modem lines right -- better do not tackle me about the
    issue unless you feel too good...

    Any users of the old driver: please note the numbers of the serial lines
    have now been swapped, i.e. ttyS0 ttyS1 and ttyS2 ttyS3. It has
    to do with the modem lines mentioned above; basically the port A in a given
    chip has to be initialised before the port B if you want to use the latter
    as the serial console (which is usually the case), as operations on modem
    lines of the serial line associated with the port B access both ports (see
    the comment at the top of the driver for the details of wiring used).
    Please update your scripts.

    This is also the reason each SCC now requests an IRQ once only (as seen in
    "/proc/interrupts") -- the handler takes care of both ports at once as the
    line associated with the port B has to take status update interrupts from
    both ports (and yet the line of the port A takes its own for itself too).
    The old driver never got it right...

    Signed-off-by: Maciej W. Rozycki
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Maciej W. Rozycki
     
  • early_serial_setup was removed from serial.h, but forgot to put in
    serial_8250.h

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

    Yinghai Lu
     
  • We can't show the extra logo from boot code if FB is built as a module.
    Make the FB_LOGO_EXTRA depend on FB=y.

    Signed-off-by: Arnd Bergmann
    Cc: Al Viro
    Cc: "Antonino A. Daplas"
    Acked-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • If, in dm_create_persistent(), the call to create_singlethread_workqueue()
    fails then we'll return without freeing the memory allocated to 'ps', thus
    leaking sizeof(struct pstore) bytes. This patch fixes the leak.

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

    Jesper Juhl
     
  • With the slab zeroing allocations cleanups Christoph stubbed in a generic
    kzalloc(), which was missed on SLOB. Follow the SLAB/SLUB changes and
    kill off the __kzalloc() wrapper that SLOB was using.

    Reported-by: Jan Engelhardt
    Signed-off-by: Paul Mundt
    Signed-off-by: Linus Torvalds

    Paul Mundt
     
  • The old IDE driver is not ready to take generic SCSI commands, even if
    it uses them for some specific issues (ie the tray open/close ioctls for
    IDE CD-ROM's). Pointed out by Bartlomiej.

    I'm sure we'll have it fixed properly soon enough, but for now we should
    not allow it to cause problems.

    Cc: Bartlomiej Zolnierkiewicz
    Cc: Jens Axboe
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • I really don't see anybody else wanting to select it ;)

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
    [S390] Fix broken logic, SIGA flags must be bitwise ORed
    [S390] cio: Dont print trailing \0 in modalias_show().
    [S390] Simplify stack trace.
    [S390] z/VM unit record device driver
    [S390] vmcp cleanup
    [S390] qdio: output queue stall on FCP and network devices
    [S390] Fix disassembly of RX_URRD, SI_URD & PC-relative instructions.
    [S390] Update default configuration.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: (21 commits)
    [WATCHDOG] at32ap700x_wdt.c - Fix compilation warnings
    [WATCHDOG] at32ap700x_wdt.c - Add spinlock support
    [WATCHDOG] at32ap700x_wdt.c - Add nowayout + MAGICCLOSE features
    [WATCHDOG] at32ap700x_wdt.c - timeout module parameter patch
    [WATCHDOG] at32ap700x_wdt.c - checkpatch.pl-0.05 clean-up's
    [WATCHDOG] change s3c2410_wdt to using dev_() macros for output
    [WATCHDOG] s3c2410_wdt announce initialisation
    [WATCHDOG] at32ap700x-wdt: add iounmap if probe function fails
    [WATCHDOG] at32ap700x-wdt: add missing iounmap in _remove
    [WATCHDOG] watchdog-driver-for-at32ap700x-devices-fix-2
    [WATCHDOG] watchdog-driver-for-at32ap700x-devices-fix
    [WATCHDOG] Watchdog driver for AT32AP700X devices
    [WATCHDOG] Mixcom Watchdog - CodingStyle clean-up
    [WATCHDOG] Mixcom Watchdog - clean-up printk's
    [WATCHDOG] Mixcom Watchdog - clean-up printk's
    [WATCHDOG] Mixcom Watchdog - checkcard part 2
    [WATCHDOG] Mixcom Watchdog - checkcard
    [WATCHDOG] Mixcom Watchdog - get rid of port offset's
    [WATCHDOG] Mixcom Watchdog - update "Documentation"
    [WATCHDOG] Remove the redundant check for pwrite() in EP93XXX watchdog.
    ...

    Linus Torvalds
     
  • * 'bsg' of git://git.kernel.dk/data/git/linux-2.6-block:
    bsg: fix missing space in version print
    Don't define empty struct bsg_class_device if !CONFIG_BLK_DEV_BSG
    bsg: Kconfig updates
    bsg: minor cleanup
    bsg: device hash table cleanup
    bsg: fix initialization error handling bugs
    bsg: mark FUJITA Tomonori as bsg maintainer
    bsg: convert to dynamic major
    bsg: address various review comments

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:
    9p: fix debug compilation error

    Linus Torvalds
     
  • * 'isdn-cleanup' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
    [ISDN] HiSax hfc_pci: minor cleanups
    [ISDN] HiSax bkm_a4t: split setup into two smaller functions
    [ISDN] HiSax enternow: split setup into 3 smaller functions
    [ISDN] HiSax netjet_u: split setup into 3 smaller functions
    [ISDN] HiSax netjet_s: code movement, prep for hotplug
    [ISDN] HiSax: move card state alloc/setup code into separate functions
    [ISDN] HiSax: move card setup into separate function

    Linus Torvalds
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Kill bogus set_fs(KERNEL_DS) in do_rt_sigreturn().
    [SPARC64]: Update defconfig.
    [SPARC64]: Kill explicit %gl register reference.

    Linus Torvalds
     
  • * 'uninit-var' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
    arch/i386/* fs/* ipc/*: mark variables with uninitialized_var()
    drivers/*: mark variables with uninitialized_var()

    Linus Torvalds
     
  • * 'warnings' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
    drivers/atm/ambassador: kill uninit'd var warning, and fix bug
    [libata] sata_mv: use pci_try_set_mwi()
    drivers/infiniband/hw/mthca/mthca_qp: kill uninit'd var warning
    drivers/net/wan/sbni: kill uninit'd var warning
    drivers/mtd/ubi/eba: minor cleanup: tighten scope of a local var
    drivers/telephony/ixj: cleanup and fix gcc warning
    drivers/net/wan/pc300_drv: fix bug caught by gcc warning
    drivers/usb/misc/auerswald: fix status check, remove redundant check
    [netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails
    [netdrvr] natsemi: Fix device removal bug
    kernel/auditfilter: kill bogus uninit'd-var compiler warning

    Linus Torvalds
     
  • ... or we end up with header include order problems from hell.

    E.g. on m68k this is 100% fatal - local_irq_enable() there
    wants preempt_count(), which wants task_struct fields, which
    we won't have when we are in smp.h pulled from sched.h.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • From: Oleg Nesterov

    Signed-off-by: David S. Miller

    Oleg Nesterov
     
  • * trim trailing whitespace
    * remove CONFIG_PCI ifdefs, this driver is always PCI (Kconfig enforced)
    * remove return statements at the tail of a function
    * remove indentation levels by returning an error code immediately.
    Makes the code much more readable, and easier to update to PCI hotplug
    API.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • No behavior changes, just code movement. Prep for PCI hotplug API.

    Well, CONFIG_PCI useless ifdef was removed.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • No behavior changes, just code movement. Prep for PCI hotplug API.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • No behavior changes, just code movement. Prep for PCI hotplug API.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • 1) Remove CONFIG_PCI ifdefs. PCI is required in Kconfig.

    2) Break up setup_netjet_s() into three separate internal functions.
    This helps facilitate upcoming use of PCI hotplug API, and in addition
    makes the code much easier to follow.

    No code is changed, just moved around. I even kept the out-of-favor
    "return(0)" style used in the current source code.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Just code movement. No code changes or cleanups besides that which
    is required to call the new functions from the old code site.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • No behavior changes, just code movement.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Fixes the following build error:
    CC sound/pci/mixart/mixart_hwdep.o
    sound/pci/mixart/mixart_hwdep.c: In function ‘mixart_hwdep_dsp_load’:
    sound/pci/mixart/mixart_hwdep.c:610: error: implicit declaration of function ‘vmalloc’
    sound/pci/mixart/mixart_hwdep.c:617: error: implicit declaration of function ‘vfree’

    Signed-off-by: Frank Lichtenheld
    Signed-off-by: Linus Torvalds

    Frank Lichtenheld
     
  • This fixes the following build-error:

    CC drivers/parisc/hppb.o
    drivers/parisc/hppb.c: In function ‘hppb_probe’:
    drivers/parisc/hppb.c:73: error: implicit declaration of function ‘ccio_request_resource’

    Signed-off-by: Frank Lichtenheld
    Signed-off-by: Linus Torvalds

    Frank Lichtenheld