09 May, 2007

40 commits

  • Many files include the filename at the beginning, serveral used a wrong one.

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Adrian Bunk

    Uwe Kleine-König
     
  • Fix various typos in kernel docs and Kconfigs, 2.6.21-rc4.

    Signed-off-by: Matt LaPlante
    Signed-off-by: Adrian Bunk

    Matt LaPlante
     
  • Signed-off-by: Michael Opdenacker
    Signed-off-by: Adrian Bunk

    Michael Opdenacker
     
  • Fix a couple grammatical errors in arch/i386/Kconfig.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Adrian Bunk

    Robert P. J. Day
     
  • Fix the misspellings of "propogate", "writting" and (oh, the shame
    :-) "kenrel" in the source tree.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Adrian Bunk

    Robert P. J. Day
     
  • Fix several typos in help text in Kconfig* files.

    Signed-off-by: David Sterba
    Signed-off-by: Adrian Bunk

    David Sterba
     
  • Miscellaneous fixes to bring FRV up to date:

    (1) Copy the new syscall numbers from i386 to asm-frv/unistd.h and fill out
    the syscall table in entry.S too.

    (2) Mark __frv_uart0 and __frv_uart1 __pminitdata rather than __initdata so
    that determine_clocks() can access them when CONFIG_PM=y.

    (3) Make arch/frv/mm/elf-fdpic.c include asm/mman.h so that MAP_FIXED is
    available (fixes commit 2fd3bebaad9da3b3b99c46a3389099424bf7ee35).

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

    David Howells
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Optimize fault kprobe handling just like powerpc.
    [SPARC]: Wire up utimensat syscall.
    [SPARC64]: Fix request_irq() ignored result warnings in PCI controller code.
    [SPARC64]: Kill asm-sparc64/pbm.h
    [ATYFB]: Fix sparc includes.
    [QLA2XXX]: Fix build on sparc.
    [SPARC64]: Removal of trivial pci_controller_info uses.
    [SPARC64]: Move index info pci_pbm_info.
    [SPARC64]: Move {setup,teardown}_msi_irq into pci_pbm_info.
    [SPARC64]: Move pci_ops into pci_pbm_info.
    [SPARC64] SBUS: Error interrupt registry cleanups.
    [SPARC64] PCI: Use root list of pbm's instead of pci_controller_info's
    [SPARC64] PCI: Kill PROM_PCIRNG_MAX and PROM_PCIIMAP_MAX.
    [SPARC64] PCI: Use common routine to fetch PBM properties.

    Linus Torvalds
     
  • This reverts commit 464bdd33e9baad9806c7adbd8dfc37081a55f27e.

    Peter Anvin correctly points out that VESA modes have nothing to do with
    frame buffers per se - they are often just regular extended text modes.
    Disabling them just because we don't have frame buffer support is very
    wrong.

    Cc: H. Peter Anvin
    Cc: Antonino A. Daplas ,
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • And eliminate DIE_GPF while we're at it.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Everything it contains can be hidden in pci_impl.h

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • Do not use IRQF_SHARED, these interrupt numbers should all
    be unique.

    Also use name strings without spaces in them just like
    PCI controller drivers do, for consistency.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The idea is to move more and more things into the pbm,
    with the eventual goal of eliminating the pci_controller_info
    entirely as there really isn't any need for it.

    This stage of the transformations requires some reworking of
    the PCI error interrupt handling.

    It might be tricky to get rid of the pci_controller_info parenting for
    a few reasons:

    1) When we get an uncorrectable or correctable error we want
    to interrogate the IOMMU and streaming cache of both
    PBMs for error status. These errors come from the UPA
    front-end which is shared between the two PBM PCI bus
    segments.

    Historically speaking this is why I choose the datastructure
    hierarchy of pci_controller_info-->pci_pbm_info

    2) The probing does a portid/devhandle match to look for the
    'other' pbm, but this is entirely an artifact and can be
    eliminated trivially.

    What we could do to solve #1 is to have a "buddy" pointer from one pbm
    to another.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Namely bus-range and ino-bitmap.

    This allows us also to eliminate pci_controller_info's
    pci_{first,last}_busno fields as only the pbm ones are
    used now.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (32 commits)
    Use menuconfig objects - hwmon
    hwmon/smsc47b397: Use dynamic sysfs callbacks
    hwmon/smsc47b397: Convert to a platform driver
    hwmon/w83781d: Deprecate W83627HF support
    hwmon/w83781d: Use dynamic sysfs callbacks
    hwmon/w83781d: Be less i2c_client-centric
    hwmon/w83781d: Clean up conversion macros
    hwmon/w83781d: No longer use i2c-isa
    hwmon/ams: Do not print error on systems without apple motion sensor
    hwmon/ams: Fix I2C read retry logic
    hwmon: New AD7416, AD7417 and AD7418 driver
    hwmon/coretemp: Add documentation
    hwmon: New coretemp driver
    i386: Use functions from library in msr driver
    i386: Add safe variants of rdmsr_on_cpu and wrmsr_on_cpu
    hwmon/lm75: Use dynamic sysfs callbacks
    hwmon/lm78: Use dynamic sysfs callbacks
    hwmon/lm78: Be less i2c_client-centric
    hwmon/lm78: No longer use i2c-isa
    hwmon: New max6650 driver
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (40 commits)
    [netdrvr] atl1: fix build
    pasemi_mac: Use local-mac-address instead of mac-address if available
    pasemi_mac: PHY support
    pasemi_mac: Add msglevel support and "debug" module param
    pasemi_mac: Logic cleanup / rx performance improvements
    pasemi_mac: Minor cleanup / define fixes
    pasemi_mac: Add SKB reuse / copy-break
    pasemi_mac: Timer and interrupt fixes
    pasemi_mac: Abstract and fix up interrupt restart routines
    pasemi_mac: Move the IRQ mapping from the PCI layer to the driver
    tc35815: Remove unnecessary skb->dev assignment
    drivers/net/dm9000: Convert to generic boolean
    AT91RM9200 Ethernet: Fix multicast addressing
    AT91RM9200 Ethernet: Support additional PHYs
    PCMCIA-NETDEV : xirc2ps_cs: bugfix of multicast code
    sky2: re-enable 88E8056 for most motherboards
    MIPS: Drop unnecessary CONFIG_ISA from RBTX49XX
    ne: MIPS: Use platform_driver for ne on RBTX49XX
    ne: Add NEEDS_PORTLIST to control ISA auto-probe
    ne: Misc fixes for platform driver.
    ...

    Fix conflict in drivers/net/pasemi_mac.c (get_property() got renamed to
    of_get_property()) manually.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (77 commits)
    [POWERPC] Abolish powerpc_flash_init()
    [POWERPC] Early serial debug support for PPC44x
    [POWERPC] Support for the Ebony 440GP reference board in arch/powerpc
    [POWERPC] Add device tree for Ebony
    [POWERPC] Add powerpc/platforms/44x, disable platforms/4xx for now
    [POWERPC] MPIC U3/U4 MSI backend
    [POWERPC] MPIC MSI allocator
    [POWERPC] Enable MSI mappings for MPIC
    [POWERPC] Tell Phyp we support MSI
    [POWERPC] RTAS MSI implementation
    [POWERPC] PowerPC MSI infrastructure
    [POWERPC] Rip out the existing powerpc msi stubs
    [POWERPC] Remove use of 4level-fixup.h for ppc32
    [POWERPC] Add powerpc PCI-E reset API implementation
    [POWERPC] Holly bootwrapper
    [POWERPC] Holly DTS
    [POWERPC] Holly defconfig
    [POWERPC] Add support for 750CL Holly board
    [POWERPC] Generalize tsi108 PCI setup
    [POWERPC] Generalize tsi108 PHY types
    ...

    Fixed conflict in include/asm-powerpc/kdebug.h manually

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Add support for the video controller IP block included into Xilinx ML300 and
    ML403 reference designs.

    Signed-off-by: Andrei Konovalov
    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrei Konovalov
     
  • If the option vga= is added to the boot parameter, it will
    activate graphics mode, but without any framebuffer support, the user is left
    with an unusable display.

    Change the behavior such that the user is instead prompted for another mode
    (ala vga=ask).

    NOTE: People can always use vbetool to set a graphics mode if this is really
    desired, but the number of people doing this approaches zero.

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

    Antonino A. Daplas
     
  • Make x86 COM ports into platform devices and don't probe for them
    if we have PNP.

    This prevents double discovery, where a device was found both by
    the legacy probe and by 8250_pnp, e.g.,

    serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
    00:02: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A

    This also means IRDA devices without a UART PNP ID will no longer be
    claimed by the serial driver, which might require changes in IRDA
    drivers and administration.

    In addition to this patch, you may need to configure a setserial init
    script, e.g., /etc/init.d/setserial, so it doesn't poke legacy UART
    stuff back in. On Debian, "dpkg-reconfigure setserial" with the "kernel"
    option does this.

    To force the old legacy probe behavior even when we have PNPBIOS or
    ACPI, load the new legacy_serial module (or build 8250 static) with
    the "legacy_serial.force" option.

    [akpm@linux-foundation.org: fix makefiles]
    Signed-off-by: Bjorn Helgaas
    Cc: Keith Owens
    Cc: Len Brown
    Cc: Adam Belay
    Cc: Matthieu CASTET
    Cc: Jean Tourrilhes
    Cc: Matthew Garrett
    Cc: Ville Syrjala
    Cc: Russell King
    Cc: Samuel Ortiz
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • Add IRQF_IRQPOLL for each timer interrupt.

    Signed-off-by: Bernhard Walle
    Cc: Russell King
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     
  • Add IRQF_IRQPOLL to the timer interrupt on parisc.

    Signed-off-by: Bernhard Walle
    Cc: Kyle McMartin
    Cc: Matthew Wilcox
    Cc: Grant Grundler
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     
  • Add IRQF_IRQPOLL on each timer interrupt on SH2.

    Signed-off-by: Bernhard Walle
    Cc: Paul Mundt
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     
  • Add IRQF_IRQPOLL for the timer interrupt on IA64.

    Signed-off-by: Bernhard Walle
    Cc: "Luck, Tony"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     
  • Add IRQF_IRQPOLL to timer interrupts on i386.

    Signed-off-by: Bernhard Walle
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Alan Cox
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     
  • Add IRQF_IRQPOLL for the timer interrupt on x86_64.

    Signed-off-by: Bernhard Walle
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     
  • Include the new linux/kdebug.h instead of asm/kdebug.h.

    Simply remove the asm/kdebug.h include if both had been included.

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

    Adrian Bunk
     
  • Allow a pcap device to be assigned a MAC on the command line. They don't
    really need one, but it is handy to be able to do when your distro assigns a
    new ethernet device whenever it sees a new MAC.

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

    Jeff Dike
     
  • Some network device cleanup.

    When setup_etheraddr found a globally valid MAC being assigned to an
    interface, it went ahead and used it rather than assigning a random MAC like
    the other cases do. This isn't really an error like the others, but it seems
    consistent to make it behave the same.

    We were getting some duplicate kfree() in the error case in eth_configure
    because platform_device_unregister frees buffers that the error cases
    following tried to free again.

    The pcap initialization routine wasn't doing the proper printk of its
    information, causing a printk of the first part of that line to be
    unterminated by a newline.

    The pcap code had a bunch of style violations, which are now fixed.

    pcap_setup wasn't returning false when it detected an unrecognized
    option.

    The printks in pcap_user all got UM_KERN_BLAH prepended to their
    format strings.

    pcap_remove now checks for a non-NULL pcap structure before it calls
    pcap_close.

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

    Jeff Dike
     
  • This patch provides a debugfs knob to turn kprobes on/off

    o A new file /debug/kprobes/enabled indicates if kprobes is enabled or
    not (default enabled)
    o Echoing 0 to this file will disarm all installed probes
    o Any new probe registration when disabled will register the probe but
    not arm it. A message will be printed out in such a case.
    o When a value 1 is echoed to the file, all probes (including ones
    registered in the intervening period) will be enabled
    o Unregistration will happen irrespective of whether probes are globally
    enabled or not.
    o Update Documentation/kprobes.txt to reflect these changes. While there
    also update the doc to make it current.

    We are also looking at providing sysrq key support to tie to the disabling
    feature provided by this patch.

    [akpm@linux-foundation.org: Use bool like a bool!]
    [akpm@linux-foundation.org: add printk facility levels]
    [cornelia.huck@de.ibm.com: Add the missing arch_trampoline_kprobe() for s390]
    Signed-off-by: Ananth N Mavinakayanahalli
    Signed-off-by: Srinivasa DS
    Signed-off-by: Cornelia Huck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ananth N Mavinakayanahalli
     
  • - consolidate duplicate code in all arch_prepare_kretprobe instances
    into common code
    - replace various odd helpers that use hlist_for_each_entry to get
    the first elemenet of a list with either a hlist_for_each_entry_save
    or an opencoded access to the first element in the caller
    - inline add_rp_inst into it's only remaining caller
    - use kretprobe_inst_table_head instead of opencoding it

    Signed-off-by: Christoph Hellwig
    Cc: Prasanna S Panchamukhi
    Acked-by: Ananth N Mavinakayanahalli
    Cc: Anil S Keshavamurthy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Implement utimensat(2) which is an extension to futimesat(2) in that it

    a) supports nano-second resolution for the timestamps
    b) allows to selectively ignore the atime/mtime value
    c) allows to selectively use the current time for either atime or mtime
    d) supports changing the atime/mtime of a symlink itself along the lines
    of the BSD lutimes(3) functions

    For this change the internally used do_utimes() functions was changed to
    accept a timespec time value and an additional flags parameter.

    Additionally the sys_utime function was changed to match compat_sys_utime
    which already use do_utimes instead of duplicating the work.

    Also, the completely missing futimensat() functionality is added. We have
    such a function in glibc but we have to resort to using /proc/self/fd/* which
    not everybody likes (chroot etc).

    Test application (the syscall number will need per-arch editing):

    #include
    #include
    #include
    #include
    #include
    #include

    #define __NR_utimensat 280

    #define UTIME_NOW ((1l << 30) - 1l)
    #define UTIME_OMIT ((1l << 30) - 2l)

    int
    main(void)
    {
    int status = 0;

    int fd = open("ttt", O_RDWR|O_CREAT|O_EXCL, 0666);
    if (fd == -1)
    error (1, errno, "failed to create test file \"ttt\"");

    struct stat64 st1;
    if (fstat64 (fd, &st1) != 0)
    error (1, errno, "fstat failed");

    struct timespec t[2];
    t[0].tv_sec = 0;
    t[0].tv_nsec = 0;
    t[1].tv_sec = 0;
    t[1].tv_nsec = 0;
    if (syscall(__NR_utimensat, AT_FDCWD, "ttt", t, 0) != 0)
    error (1, errno, "utimensat failed");

    struct stat64 st2;
    if (fstat64 (fd, &st2) != 0)
    error (1, errno, "fstat failed");

    if (st2.st_atim.tv_sec != 0 || st2.st_atim.tv_nsec != 0)
    {
    puts ("atim not reset to zero");
    status = 1;
    }
    if (st2.st_mtim.tv_sec != 0 || st2.st_mtim.tv_nsec != 0)
    {
    puts ("mtim not reset to zero");
    status = 1;
    }
    if (status != 0)
    goto out;

    t[0] = st1.st_atim;
    t[1].tv_sec = 0;
    t[1].tv_nsec = UTIME_OMIT;
    if (syscall(__NR_utimensat, AT_FDCWD, "ttt", t, 0) != 0)
    error (1, errno, "utimensat failed");

    if (fstat64 (fd, &st2) != 0)
    error (1, errno, "fstat failed");

    if (st2.st_atim.tv_sec != st1.st_atim.tv_sec
    || st2.st_atim.tv_nsec != st1.st_atim.tv_nsec)
    {
    puts ("atim not set");
    status = 1;
    }
    if (st2.st_mtim.tv_sec != 0 || st2.st_mtim.tv_nsec != 0)
    {
    puts ("mtim changed from zero");
    status = 1;
    }
    if (status != 0)
    goto out;

    t[0].tv_sec = 0;
    t[0].tv_nsec = UTIME_OMIT;
    t[1] = st1.st_mtim;
    if (syscall(__NR_utimensat, AT_FDCWD, "ttt", t, 0) != 0)
    error (1, errno, "utimensat failed");

    if (fstat64 (fd, &st2) != 0)
    error (1, errno, "fstat failed");

    if (st2.st_atim.tv_sec != st1.st_atim.tv_sec
    || st2.st_atim.tv_nsec != st1.st_atim.tv_nsec)
    {
    puts ("mtim changed from original time");
    status = 1;
    }
    if (st2.st_mtim.tv_sec != st1.st_mtim.tv_sec
    || st2.st_mtim.tv_nsec != st1.st_mtim.tv_nsec)
    {
    puts ("mtim not set");
    status = 1;
    }
    if (status != 0)
    goto out;

    sleep (2);

    t[0].tv_sec = 0;
    t[0].tv_nsec = UTIME_NOW;
    t[1].tv_sec = 0;
    t[1].tv_nsec = UTIME_NOW;
    if (syscall(__NR_utimensat, AT_FDCWD, "ttt", t, 0) != 0)
    error (1, errno, "utimensat failed");

    if (fstat64 (fd, &st2) != 0)
    error (1, errno, "fstat failed");

    struct timeval tv;
    gettimeofday(&tv,NULL);

    if (st2.st_atim.tv_sec tv.tv_sec)
    {
    puts ("atim not set to NOW");
    status = 1;
    }
    if (st2.st_mtim.tv_sec tv.tv_sec)
    {
    puts ("mtim not set to NOW");
    status = 1;
    }

    if (symlink ("ttt", "tttsym") != 0)
    error (1, errno, "cannot create symlink");

    t[0].tv_sec = 0;
    t[0].tv_nsec = 0;
    t[1].tv_sec = 0;
    t[1].tv_nsec = 0;
    if (syscall(__NR_utimensat, AT_FDCWD, "tttsym", t, AT_SYMLINK_NOFOLLOW) != 0)
    error (1, errno, "utimensat failed");

    if (lstat64 ("tttsym", &st2) != 0)
    error (1, errno, "lstat failed");

    if (st2.st_atim.tv_sec != 0 || st2.st_atim.tv_nsec != 0)
    {
    puts ("symlink atim not reset to zero");
    status = 1;
    }
    if (st2.st_mtim.tv_sec != 0 || st2.st_mtim.tv_nsec != 0)
    {
    puts ("symlink mtim not reset to zero");
    status = 1;
    }
    if (status != 0)
    goto out;

    t[0].tv_sec = 1;
    t[0].tv_nsec = 0;
    t[1].tv_sec = 1;
    t[1].tv_nsec = 0;
    if (syscall(__NR_utimensat, fd, NULL, t, 0) != 0)
    error (1, errno, "utimensat failed");

    if (fstat64 (fd, &st2) != 0)
    error (1, errno, "fstat failed");

    if (st2.st_atim.tv_sec != 1 || st2.st_atim.tv_nsec != 0)
    {
    puts ("atim not reset to one");
    status = 1;
    }
    if (st2.st_mtim.tv_sec != 1 || st2.st_mtim.tv_nsec != 0)
    {
    puts ("mtim not reset to one");
    status = 1;
    }

    if (status == 0)
    puts ("all OK");

    out:
    close (fd);
    unlink ("ttt");
    unlink ("tttsym");

    return status;
    }

    [akpm@linux-foundation.org: add missing i386 syscall table entry]
    Signed-off-by: Ulrich Drepper
    Cc: Alexey Dobriyan
    Cc: Michael Kerrisk
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ulrich Drepper
     
  • dma_declare_coherent_memory() allocates a bitmap 1 bit per page, it
    calculates the bitmap size based on size of long, but allocates bytes...
    Thanks to James Bottomley for clarifications and corrections.

    Signed-off-by: G. Liakhovetski
    Acked-by: James Bottomley
    Cc: Mikael Starvik
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Guennadi Liakhovetski
     
  • HZ has not always been 100Hz for some time.

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

    Alan Cox