1. 08 5月, 2007 7 次提交
    • D
      MPSC serial driver tx locking · 1733310b
      Dave Jiang 提交于
      The MPSC serial driver assumes that interrupt is always on to pick up the
      DMA transmit ops that aren't submitted while the DMA engine is active.
      However when irqs are off for a period of time such as operations under
      kernel crash dump console messages do not show up due to additional DMA ops
      are being dropped.  This makes console writes to process through all the tx
      DMAs queued up before submitting a new request.
      
      Also, the current locking mechanism does not protect the hardware registers
      and ring buffer when a printk is done during the serial write operations.
      The additional per port transmit lock provides a finer granular locking and
      protects registers being clobbered while printks are nested within UART
      writes.
      Signed-off-by: NDave Jiang <djiang@mvista.com>
      Signed-off-by: NMark A. Greer <mgreer@mvista.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1733310b
    • D
      serial: define FIXED_PORT flag for serial_core · abb4a239
      David Gibson 提交于
      At present, the serial core always allows setserial in userspace to change the
      port address, irq and base clock of any serial port.  That makes sense for
      legacy ISA ports, but not for (say) embedded ns16550 compatible serial ports
      at peculiar addresses.  In these cases, the kernel code configuring the ports
      must know exactly where they are, and their clocking arrangements (which can
      be unusual on embedded boards).  It doesn't make sense for userspace to change
      these settings.
      
      Therefore, this patch defines a UPF_FIXED_PORT flag for the uart_port
      structure.  If this flag is set when the serial port is configured, any
      attempts to alter the port's type, io address, irq or base clock with
      setserial are ignored.
      
      In addition this patch uses the new flag for on-chip serial ports probed in
      arch/powerpc/kernel/legacy_serial.c, and for other hard-wired serial ports
      probed by drivers/serial/of_serial.c.
      Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      abb4a239
    • T
      RM9000 serial driver · bd71c182
      Thomas Koeller 提交于
      Add support for the integrated serial ports of the MIPS RM9122 processor
      and its relatives.
      
      The patch also does some whitespace cleanup.
      
      [akpm@linux-foundation.org: cleanups]
      Signed-off-by: NThomas Koeller <thomas.koeller@baslerweb.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bd71c182
    • M
      serial driver PMC MSP71xx · beab697a
      Marc St-Jean 提交于
      Serial driver patch for the PMC-Sierra MSP71xx devices.
      
      There are three different fixes:
      
      1 Fix for DesignWare APB THRE errata: In brief, this is a non-standard
        16550 in that the THRE interrupt will not re-assert itself simply by
        disabling and re-enabling the THRI bit in the IER, it is only re-enabled
        if a character is actually sent out.
      
        It appears that the "8250-uart-backup-timer.patch" in the "mm" tree
        also fixes it so we have dropped our initial workaround.  This patch now
        needs to be applied on top of that "mm" patch.
      
      2 Fix for Busy Detect on LCR write: The DesignWare APB UART has a feature
        which causes a new Busy Detect interrupt to be generated if it's busy
        when the LCR is written.  This fix saves the value of the LCR and
        rewrites it after clearing the interrupt.
      
      3 Workaround for interrupt/data concurrency issue: The SoC needs to
        ensure that writes that can cause interrupts to be cleared reach the UART
        before returning from the ISR.  This fix reads a non-destructive register
        on the UART so the read transaction completion ensures the previously
        queued write transaction has also completed.
      Signed-off-by: NMarc St-Jean <Marc_St-Jean@pmc-sierra.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      beab697a
    • B
      add new_id to PCMCIA drivers · 6179b556
      Bernhard Walle 提交于
      PCI drivers have the new_id file in sysfs which allows new IDs to be added
      at runtime.  The advantage is to avoid re-compilation of a driver that
      works for a new device, but it's ID table doesn't contain the new device.
      This mechanism is only meant for testing, after the driver has been tested
      successfully, the ID should be added in source code so that new revisions
      of the kernel automatically detect the device.
      
      The implementation follows the PCI implementation. The interface is documented
      in Documentation/pcmcia/driver.txt. Computations should be done in userspace,
      so the sysfs string contains the raw structure members for matching.
      Signed-off-by: NBernhard Walle <bwalle@suse.de>
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6179b556
    • D
      at91_cf, minor fix · 02c83595
      David Brownell 提交于
      This is a minor correctness fix: since the at91_cf driver probe() routine
      is in the init section, it should use platform_driver_probe() instead of
      leaving that pointer around in the driver struct after init section
      removal.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      02c83595
    • P
      slab: introduce krealloc · fd76bab2
      Pekka Enberg 提交于
      This introduce krealloc() that reallocates memory while keeping the contents
      unchanged.  The allocator avoids reallocation if the new size fits the
      currently used cache.  I also added a simple non-optimized version for
      mm/slob.c for compatibility.
      
      [akpm@linux-foundation.org: fix warnings]
      Acked-by: NJosef Sipek <jsipek@fsl.cs.sunysb.edu>
      Acked-by: NMatt Mackall <mpm@selenic.com>
      Acked-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NPekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fd76bab2
  2. 07 5月, 2007 6 次提交
    • L
      Revert "[PATCH] x86: __pa and __pa_symbol address space separation" · e3ebadd9
      Linus Torvalds 提交于
      This was broken.  It adds complexity, for no good reason.  Rather than
      separate __pa() and __pa_symbol(), we should deprecate __pa_symbol(),
      and preferably __pa() too - and just use "virt_to_phys()" instead, which
      is more readable and has nicer semantics.
      
      However, right now, just undo the separation, and make __pa_symbol() be
      the exact same as __pa().  That fixes the bugs this patch introduced,
      and we can do the fairly obvious cleanups later.
      
      Do the new __phys_addr() function (which is now the actual workhorse for
      the unified __pa()/__pa_symbol()) as a real external function, that way
      all the potential issues with compile/link-time optimizations of
      constant symbol addresses go away, and we can also, if we choose to, add
      more sanity-checking of the argument.
      
      Cc: Eric W. Biederman <ebiederm@xmission.com>
      Cc: Vivek Goyal <vgoyal@in.ibm.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e3ebadd9
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild · 15700770
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (38 commits)
        kconfig: fix mconf segmentation fault
        kbuild: enable use of code from a different dir
        kconfig: error out if recursive dependencies are found
        kbuild: scripts/basic/fixdep segfault on pathological string-o-death
        kconfig: correct minor typo in Kconfig warning message.
        kconfig: fix path to modules.txt in Kconfig help
        usr/Kconfig: fix typo
        kernel-doc: alphabetically-sorted entries in index.html of 'htmldocs'
        kbuild: be more explicit on missing .config file
        kbuild: clarify the creation of the LOCALVERSION_AUTO string.
        kbuild: propagate errors from find in scripts/gen_initramfs_list.sh
        kconfig: refer to qt3 if we cannot find qt libraries
        kbuild: handle compressed cpio initramfs-es
        kbuild: ignore section mismatch warning for references from .paravirtprobe to .init.text
        kbuild: remove stale comment in modpost.c
        kbuild/mkuboot.sh: allow spaces in CROSS_COMPILE
        kbuild: fix make mrproper for Documentation/DocBook/man
        kbuild: remove kconfig binaries during make mrproper
        kconfig/menuconfig: do not hardcode '.config'
        kbuild: override build timestamp & version
        ...
      15700770
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm · 6de410c2
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm: (66 commits)
        KVM: Remove unused 'instruction_length'
        KVM: Don't require explicit indication of completion of mmio or pio
        KVM: Remove extraneous guest entry on mmio read
        KVM: SVM: Only save/restore MSRs when needed
        KVM: fix an if() condition
        KVM: VMX: Add lazy FPU support for VT
        KVM: VMX: Properly shadow the CR0 register in the vcpu struct
        KVM: Don't complain about cpu erratum AA15
        KVM: Lazy FPU support for SVM
        KVM: Allow passing 64-bit values to the emulated read/write API
        KVM: Per-vcpu statistics
        KVM: VMX: Avoid unnecessary vcpu_load()/vcpu_put() cycles
        KVM: MMU: Avoid heavy ASSERT at non debug mode.
        KVM: VMX: Only save/restore MSR_K6_STAR if necessary
        KVM: Fold drivers/kvm/kvm_vmx.h into drivers/kvm/vmx.c
        KVM: VMX: Don't switch 64-bit msrs for 32-bit guests
        KVM: VMX: Reduce unnecessary saving of host msrs
        KVM: Handle guest page faults when emulating mmio
        KVM: SVM: Report hardware exit reason to userspace instead of dmesg
        KVM: Retry sleeping allocation if atomic allocation fails
        ...
      6de410c2
    • L
      Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm · c6799ade
      Linus Torvalds 提交于
      * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (82 commits)
        [ARM] Add comments marking in-use ptrace numbers
        [ARM] Move syscall saving out of the way of utrace
        [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro
        [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header
        [ARM] mm 10: allow memory type to be specified with ioremap
        [ARM] mm 9: add additional device memory types
        [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6
        [ARM] iop: add missing parens in macro
        [ARM] mm 7: remove duplicated __ioremap() prototypes
        ARM: OMAP: fix OMAP1 mpuio suspend/resume oops
        ARM: OMAP: MPUIO wake updates
        ARM: OMAP: speed up gpio irq handling
        ARM: OMAP: plat-omap changes for 2430 SDP
        ARM: OMAP: gpio object shrinkage, cleanup
        ARM: OMAP: /sys/kernel/debug/omap_gpio
        ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon
        ARM: OMAP: Enable 24xx GPIO autoidling
        [ARM] 4318/2: DSM-G600 Board Support
        [ARM] 4227/1: minor head.S fixups
        [ARM] 4328/1: Move i.MX UART regs to driver
        ...
      c6799ade
    • R
      Merge branch 'ixp4xx' into devel · 5cd47155
      Russell King 提交于
      Conflicts:
      
      	include/asm-arm/arch-ixp4xx/io.h
      5cd47155
    • R
      Merge branches 'arm-mm', 'at91', 'clkevts', 'imx', 'iop', 'misc', 'netx',... · 6f95416e
      Russell King 提交于
      Merge branches 'arm-mm', 'at91', 'clkevts', 'imx', 'iop', 'misc', 'netx', 'ns9xxx', 'omap', 'pxa', 'rpc', 's3c' and 'sa1100' into devel
      6f95416e
  3. 06 5月, 2007 27 次提交