28 Apr, 2012

1 commit


27 Apr, 2012

3 commits

  • The current code puts the built-in WMAC device of the
    AR933X SoCs into reset instead of starting it. This
    causes a hard lock on AR933X based boards when the
    wireless driver tries to access the device.

    Signed-off-by: Gabor Juhos
    Cc: stable@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/3484/
    Signed-off-by: Ralf Baechle

    Gabor Juhos
     
  • Signed-off-by: Antony Pavlov
    Cc: Lars-Peter Clausen
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/3459/
    Signed-off-by: Ralf Baechle

    Antony Pavlov
     
  • As described in e6fa16ab ("signal: sigprocmask() should do
    retarget_shared_pending()") the modification of current->blocked is
    incorrect as we need to check whether the signal we're about to block
    is pending in the shared queue.

    Also, use the new helper function introduced in commit 5e6292c0f28f
    ("signal: add block_sigmask() for adding sigmask to current->blocked")
    which centralises the code for updating current->blocked after
    successfully delivering a signal and reduces the amount of duplicate
    code across architectures. In the past some architectures got this
    code wrong, so using this helper function should stop that from
    happening again.

    Cc: Oleg Nesterov
    Cc: Andrew Morton
    Cc: linux-kernel@vger.kernel.org
    Cc: Al Viro
    Cc: David Daney
    Cc: linux-mips@linux-mips.org
    Signed-off-by: Matt Fleming
    Patchwork: https://patchwork.linux-mips.org/patch/3363/
    Signed-off-by: Ralf Baechle

    Matt Fleming
     

05 Apr, 2012

1 commit

  • Pull DMA mapping branch from Marek Szyprowski:
    "Short summary for the whole series:

    A few limitations have been identified in the current dma-mapping
    design and its implementations for various architectures. There exist
    more than one function for allocating and freeing the buffers:
    currently these 3 are used dma_{alloc, free}_coherent,
    dma_{alloc,free}_writecombine, dma_{alloc,free}_noncoherent.

    For most of the systems these calls are almost equivalent and can be
    interchanged. For others, especially the truly non-coherent ones
    (like ARM), the difference can be easily noticed in overall driver
    performance. Sadly not all architectures provide implementations for
    all of them, so the drivers might need to be adapted and cannot be
    easily shared between different architectures. The provided patches
    unify all these functions and hide the differences under the already
    existing dma attributes concept. The thread with more references is
    available here:

    http://www.spinics.net/lists/linux-sh/msg09777.html

    These patches are also a prerequisite for unifying DMA-mapping
    implementation on ARM architecture with the common one provided by
    dma_map_ops structure and extending it with IOMMU support. More
    information is available in the following thread:

    http://thread.gmane.org/gmane.linux.kernel.cross-arch/12819

    More works on dma-mapping framework are planned, especially in the
    area of buffer sharing and managing the shared mappings (together with
    the recently introduced dma_buf interface: commit d15bd7ee445d
    "dma-buf: Introduce dma buffer sharing mechanism").

    The patches in the current set introduce a new alloc/free methods
    (with support for memory attributes) in dma_map_ops structure, which
    will later replace dma_alloc_coherent and dma_alloc_writecombine
    functions."

    People finally started piping up with support for merging this, so I'm
    merging it as the last of the pending stuff from the merge window.
    Looks like pohmelfs is going to wait for 3.5 and more external support
    for merging.

    * 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    common: DMA-mapping: add NON-CONSISTENT attribute
    common: DMA-mapping: add WRITE_COMBINE attribute
    common: dma-mapping: introduce mmap method
    common: dma-mapping: remove old alloc_coherent and free_coherent methods
    Hexagon: adapt for dma_map_ops changes
    Unicore32: adapt for dma_map_ops changes
    Microblaze: adapt for dma_map_ops changes
    SH: adapt for dma_map_ops changes
    Alpha: adapt for dma_map_ops changes
    SPARC: adapt for dma_map_ops changes
    PowerPC: adapt for dma_map_ops changes
    MIPS: adapt for dma_map_ops changes
    X86 & IA64: adapt for dma_map_ops changes
    common: dma-mapping: introduce generic alloc() and free() methods

    Linus Torvalds
     

02 Apr, 2012

1 commit

  • Pull cpumask cleanups from Rusty Russell:
    "(Somehow forgot to send this out; it's been sitting in linux-next, and
    if you don't want it, it can sit there another cycle)"

    I'm a sucker for things that actually delete lines of code.

    Fix up trivial conflict in arch/arm/kernel/kprobes.c, where Rusty fixed
    a user of &cpu_online_map to be cpu_online_mask, but that code got
    deleted by commit b21d55e98ac2 ("ARM: 7332/1: extract out code patch
    function from kprobes").

    * tag 'for-linus' of git://github.com/rustyrussell/linux:
    cpumask: remove old cpu_*_map.
    documentation: remove references to cpu_*_map.
    drivers/cpufreq/db8500-cpufreq: remove references to cpu_*_map.
    remove references to cpu_*_map in arch/

    Linus Torvalds
     

31 Mar, 2012

1 commit

  • Pull MTD changes from David Woodhouse:
    - Artem's cleanup of the MTD API continues apace.
    - Fixes and improvements for ST FSMC and SuperH FLCTL NAND, amongst
    others.
    - More work on DiskOnChip G3, new driver for DiskOnChip G4.
    - Clean up debug/warning printks in JFFS2 to use pr_.

    Fix up various trivial conflicts, largely due to changes in calling
    conventions for things like dmaengine_prep_slave_sg() (new inline
    wrapper to hide new parameter, clashing with rewrite of previously last
    parameter that used to be an 'append' flag, and is now a bitmap of
    'unsigned long flags').

    (Also some header file fallout - like so many merges this merge window -
    and silly conflicts with sparse fixes)

    * tag 'for-linus-3.4' of git://git.infradead.org/mtd-2.6: (120 commits)
    mtd: docg3 add protection against concurrency
    mtd: docg3 refactor cascade floors structure
    mtd: docg3 increase write/erase timeout
    mtd: docg3 fix inbound calculations
    mtd: nand: gpmi: fix function annotations
    mtd: phram: fix section mismatch for phram_setup
    mtd: unify initialization of erase_info->fail_addr
    mtd: support ONFI multi lun NAND
    mtd: sm_ftl: fix typo in major number.
    mtd: add device-tree support to spear_smi
    mtd: spear_smi: Remove default partition information from driver
    mtd: Add device-tree support to fsmc_nand
    mtd: fix section mismatch for doc_probe_device
    mtd: nand/fsmc: Remove sparse warnings and errors
    mtd: nand/fsmc: Add DMA support
    mtd: nand/fsmc: Access the NAND device word by word whenever possible
    mtd: nand/fsmc: Use dev_err to report error scenario
    mtd: nand/fsmc: Use devm routines
    mtd: nand/fsmc: Modify fsmc driver to accept nand timing parameters via platform
    mtd: fsmc_nand: add pm callbacks to support hibernation
    ...

    Linus Torvalds
     

30 Mar, 2012

3 commits

  • Pull x32 support for x86-64 from Ingo Molnar:
    "This tree introduces the X32 binary format and execution mode for x86:
    32-bit data space binaries using 64-bit instructions and 64-bit kernel
    syscalls.

    This allows applications whose working set fits into a 32 bits address
    space to make use of 64-bit instructions while using a 32-bit address
    space with shorter pointers, more compressed data structures, etc."

    Fix up trivial context conflicts in arch/x86/{Kconfig,vdso/vma.c}

    * 'x86-x32-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (71 commits)
    x32: Fix alignment fail in struct compat_siginfo
    x32: Fix stupid ia32/x32 inversion in the siginfo format
    x32: Add ptrace for x32
    x32: Switch to a 64-bit clock_t
    x32: Provide separate is_ia32_task() and is_x32_task() predicates
    x86, mtrr: Use explicit sizing and padding for the 64-bit ioctls
    x86/x32: Fix the binutils auto-detect
    x32: Warn and disable rather than error if binutils too old
    x32: Only clear TIF_X32 flag once
    x32: Make sure TS_COMPAT is cleared for x32 tasks
    fs: Remove missed ->fds_bits from cessation use of fd_set structs internally
    fs: Fix close_on_exec pointer in alloc_fdtable
    x32: Drop non-__vdso weak symbols from the x32 VDSO
    x32: Fix coding style violations in the x32 VDSO code
    x32: Add x32 VDSO support
    x32: Allow x32 to be configured
    x32: If configured, add x32 system calls to system call tables
    x32: Handle process creation
    x32: Signal-related system calls
    x86: Add #ifdef CONFIG_COMPAT to
    ...

    Linus Torvalds
     
  • Pull arch/tile (really asm-generic) update from Chris Metcalf:
    "These are a couple of asm-generic changes that apply to tile."

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    compat: use sys_sendfile64() implementation for sendfile syscall
    [PATCH v3] ipc: provide generic compat versions of IPC syscalls

    Linus Torvalds
     
  • Pull x86 updates from Ingo Molnar.

    This touches some non-x86 files due to the sanitized INLINE_SPIN_UNLOCK
    config usage.

    Fixed up trivial conflicts due to just header include changes (removing
    headers due to cpu_idle() merge clashing with the split).

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/apic/amd: Be more verbose about LVT offset assignments
    x86, tls: Off by one limit check
    x86/ioapic: Add io_apic_ops driver layer to allow interception
    x86/olpc: Add debugfs interface for EC commands
    x86: Merge the x86_32 and x86_64 cpu_idle() functions
    x86/kconfig: Remove CONFIG_TR=y from the defconfigs
    x86: Stop recursive fault in print_context_stack after stack overflow
    x86/io_apic: Move and reenable irq only when CONFIG_GENERIC_PENDING_IRQ=y
    x86/apic: Add separate apic_id_valid() functions for selected apic drivers
    locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage
    x86/kconfig: Update defconfigs
    x86: Fix excessive MSR print out when show_msr is not specified

    Linus Torvalds
     

29 Mar, 2012

5 commits

  • This has been obsolescent for a while, fix documentation and
    misc comments.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • This has been obsolescent for a while; time for the final push.

    In adjacent context, replaced old cpus_* with cpumask_*.

    Signed-off-by: Rusty Russell
    Acked-by: David S. Miller (arch/sparc)
    Acked-by: Chris Metcalf (arch/tile)
    Cc: user-mode-linux-devel@lists.sourceforge.net
    Cc: Russell King
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Richard Kuo
    Cc: linux-hexagon@vger.kernel.org
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: Kyle McMartin
    Cc: Helge Deller
    Cc: sparclinux@vger.kernel.org

    Rusty Russell
     
  • …m/linux/kernel/git/dhowells/linux-asm_system

    Pull "Disintegrate and delete asm/system.h" from David Howells:
    "Here are a bunch of patches to disintegrate asm/system.h into a set of
    separate bits to relieve the problem of circular inclusion
    dependencies.

    I've built all the working defconfigs from all the arches that I can
    and made sure that they don't break.

    The reason for these patches is that I recently encountered a circular
    dependency problem that came about when I produced some patches to
    optimise get_order() by rewriting it to use ilog2().

    This uses bitops - and on the SH arch asm/bitops.h drags in
    asm-generic/get_order.h by a circuituous route involving asm/system.h.

    The main difficulty seems to be asm/system.h. It holds a number of
    low level bits with no/few dependencies that are commonly used (eg.
    memory barriers) and a number of bits with more dependencies that
    aren't used in many places (eg. switch_to()).

    These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

    Move memory barriers here. This already done for MIPS and Alpha.

    (2) asm/switch_to.h

    Move switch_to() and related stuff here.

    (3) asm/exec.h

    Move arch_align_stack() here. Other process execution related bits
    could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

    Move xchg() and cmpxchg() here as they're full word atomic ops and
    frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

    Move die() and related bits.

    (6) asm/auxvec.h

    Move AT_VECTOR_SIZE_ARCH here.

    Other arch headers are created as needed on a per-arch basis."

    Fixed up some conflicts from other header file cleanups and moving code
    around that has happened in the meantime, so David's testing is somewhat
    weakened by that. We'll find out anything that got broken and fix it..

    * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
    Delete all instances of asm/system.h
    Remove all #inclusions of asm/system.h
    Add #includes needed to permit the removal of asm/system.h
    Move all declarations of free_initmem() to linux/mm.h
    Disintegrate asm/system.h for OpenRISC
    Split arch_align_stack() out from asm-generic/system.h
    Split the switch_to() wrapper out of asm-generic/system.h
    Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
    Create asm-generic/barrier.h
    Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
    Disintegrate asm/system.h for Xtensa
    Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
    Disintegrate asm/system.h for Tile
    Disintegrate asm/system.h for Sparc
    Disintegrate asm/system.h for SH
    Disintegrate asm/system.h for Score
    Disintegrate asm/system.h for S390
    Disintegrate asm/system.h for PowerPC
    Disintegrate asm/system.h for PA-RISC
    Disintegrate asm/system.h for MN10300
    ...

    Linus Torvalds
     
  • Delete all instances of asm/system.h as they should be redundant by this
    point.

    Signed-off-by: David Howells

    David Howells
     
  • Disintegrate asm/system.h for MIPS.

    Signed-off-by: David Howells
    Acked-by: Ralf Baechle
    cc: linux-mips@linux-mips.org

    David Howells
     

28 Mar, 2012

1 commit

  • Adapt core MIPS architecture code for dma_map_ops changes: replace
    alloc/free_coherent with generic alloc/free methods.

    Signed-off-by: Andrzej Pietrasiewicz
    Acked-by: Kyungmin Park
    [added missing changes to arch/mips/cavium-octeon/dma-octeon.c,
    fixed attrs argument in dma-mapping.h]
    Signed-off-by: Marek Szyprowski
    Reviewed-by: Arnd Bergmann

    Andrzej Pietrasiewicz
     

27 Mar, 2012

1 commit

  • The first 3 arguments of 'mtd_device_parse_register()' are pointers,
    but many callers pass '0' instead of 'NULL'. Fix this globally. Thanks
    to coccinelle for making it easy to do with the following semantic patch:

    @@
    expression mtd, types, parser_data, parts, nr_parts;
    @@
    (
    -mtd_device_parse_register(mtd, 0, parser_data, parts, nr_parts)
    +mtd_device_parse_register(mtd, NULL, parser_data, parts, nr_parts)
    |
    -mtd_device_parse_register(mtd, types, 0, parts, nr_parts)
    +mtd_device_parse_register(mtd, types, NULL, parts, nr_parts)
    |
    -mtd_device_parse_register(mtd, types, parser_data, 0, nr_parts)
    +mtd_device_parse_register(mtd, types, parser_data, NULL, nr_parts)
    )

    Signed-off-by: Artem Bityutskiy
    Signed-off-by: David Woodhouse

    Artem Bityutskiy
     

25 Mar, 2012

1 commit

  • Pull cleanup from Paul Gortmaker:
    "The changes shown here are to unify linux's BUG support under the one
    file. Due to historical reasons, we have some BUG code
    in bug.h and some in kernel.h -- i.e. the support for BUILD_BUG in
    linux/kernel.h predates the addition of linux/bug.h, but old code in
    kernel.h wasn't moved to bug.h at that time. As a band-aid, kernel.h
    was including to pseudo link them.

    This has caused confusion[1] and general yuck/WTF[2] reactions. Here
    is an example that violates the principle of least surprise:

    CC lib/string.o
    lib/string.c: In function 'strlcat':
    lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
    make[2]: *** [lib/string.o] Error 1
    $
    $ grep linux/bug.h lib/string.c
    #include
    $

    We've included for the BUG infrastructure and yet we
    still get a compile fail! [We've not kernel.h for BUILD_BUG_ON.] Ugh -
    very confusing for someone who is new to kernel development.

    With the above in mind, the goals of this changeset are:

    1) find and fix any include/*.h files that were relying on the
    implicit presence of BUG code.
    2) find and fix any C files that were consuming kernel.h and hence
    relying on implicitly getting some/all BUG code.
    3) Move the BUG related code living in kernel.h to
    4) remove the asm/bug.h from kernel.h to finally break the chain.

    During development, the order was more like 3-4, build-test, 1-2. But
    to ensure that git history for bisect doesn't get needless build
    failures introduced, the commits have been reorderd to fix the problem
    areas in advance.

    [1] https://lkml.org/lkml/2012/1/3/90
    [2] https://lkml.org/lkml/2012/1/17/414"

    Fix up conflicts (new radeon file, reiserfs header cleanups) as per Paul
    and linux-next.

    * tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
    kernel.h: doesn't explicitly use bug.h, so don't include it.
    bug: consolidate BUILD_BUG_ON with other bug code
    BUG: headers with BUG/BUG_ON etc. need linux/bug.h
    bug.h: add include of it to various implicit C users
    lib: fix implicit users of kernel.h for TAINT_WARN
    spinlock: macroize assert_spin_locked to avoid bug.h dependency
    x86: relocate get/set debugreg fcns to include/asm/debugreg.

    Linus Torvalds
     

24 Mar, 2012

4 commits

  • Merge second batch of patches from Andrew Morton:
    - various misc things
    - core kernel changes to prctl, exit, exec, init, etc.
    - kernel/watchdog.c updates
    - get_maintainer
    - MAINTAINERS
    - the backlight driver queue
    - core bitops code cleanups
    - the led driver queue
    - some core prio_tree work
    - checkpatch udpates
    - largeish crc32 update
    - a new poll() feature for the v4l guys
    - the rtc driver queue
    - fatfs
    - ptrace
    - signals
    - kmod/usermodehelper updates
    - coredump
    - procfs updates

    * emailed from Andrew Morton : (141 commits)
    seq_file: add seq_set_overflow(), seq_overflow()
    proc-ns: use d_set_d_op() API to set dentry ops in proc_ns_instantiate().
    procfs: speed up /proc/pid/stat, statm
    procfs: add num_to_str() to speed up /proc/stat
    proc: speed up /proc/stat handling
    fs/proc/kcore.c: make get_sparsemem_vmemmap_info() static
    coredump: add VM_NODUMP, MADV_NODUMP, MADV_CLEAR_NODUMP
    coredump: remove VM_ALWAYSDUMP flag
    kmod: make __request_module() killable
    kmod: introduce call_modprobe() helper
    usermodehelper: ____call_usermodehelper() doesn't need do_exit()
    usermodehelper: kill umh_wait, renumber UMH_* constants
    usermodehelper: implement UMH_KILLABLE
    usermodehelper: introduce umh_complete(sub_info)
    usermodehelper: use UMH_WAIT_PROC consistently
    signal: zap_pid_ns_processes: s/SEND_SIG_NOINFO/SEND_SIG_FORCED/
    signal: oom_kill_task: use SEND_SIG_FORCED instead of force_sig()
    signal: cosmetic, s/from_ancestor_ns/force/ in prepare_signal() paths
    signal: give SEND_SIG_FORCED more power to beat SIGNAL_UNKILLABLE
    Hexagon: use set_current_blocked() and block_sigmask()
    ...

    Linus Torvalds
     
  • Since we no longer need the VM_ALWAYSDUMP flag, let's use the freed bit
    for 'VM_NODUMP' flag. The idea is is to add a new madvise() flag:
    MADV_DONTDUMP, which can be set by applications to specifically request
    memory regions which should not dump core.

    The specific application I have in mind is qemu: we can add a flag there
    that wouldn't dump all of guest memory when qemu dumps core. This flag
    might also be useful for security sensitive apps that want to absolutely
    make sure that parts of memory are not dumped. To clear the flag use:
    MADV_DODUMP.

    [akpm@linux-foundation.org: s/MADV_NODUMP/MADV_DONTDUMP/, s/MADV_CLEAR_NODUMP/MADV_DODUMP/, per Roland]
    [akpm@linux-foundation.org: fix up the architectures which broke]
    Signed-off-by: Jason Baron
    Acked-by: Roland McGrath
    Cc: Chris Metcalf
    Cc: Avi Kivity
    Cc: Ralf Baechle
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: "James E.J. Bottomley"
    Cc: Helge Deller
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jason Baron
     
  • The motivation for this patchset was that I was looking at a way for a
    qemu-kvm process, to exclude the guest memory from its core dump, which
    can be quite large. There are already a number of filter flags in
    /proc//coredump_filter, however, these allow one to specify 'types'
    of kernel memory, not specific address ranges (which is needed in this
    case).

    Since there are no more vma flags available, the first patch eliminates
    the need for the 'VM_ALWAYSDUMP' flag. The flag is used internally by
    the kernel to mark vdso and vsyscall pages. However, it is simple
    enough to check if a vma covers a vdso or vsyscall page without the need
    for this flag.

    The second patch then replaces the 'VM_ALWAYSDUMP' flag with a new
    'VM_NODUMP' flag, which can be set by userspace using new madvise flags:
    'MADV_DONTDUMP', and unset via 'MADV_DODUMP'. The core dump filters
    continue to work the same as before unless 'MADV_DONTDUMP' is set on the
    region.

    The qemu code which implements this features is at:

    http://people.redhat.com/~jbaron/qemu-dump/qemu-dump.patch

    In my testing the qemu core dump shrunk from 383MB -> 13MB with this
    patch.

    I also believe that the 'MADV_DONTDUMP' flag might be useful for
    security sensitive apps, which might want to select which areas are
    dumped.

    This patch:

    The VM_ALWAYSDUMP flag is currently used by the coredump code to
    indicate that a vma is part of a vsyscall or vdso section. However, we
    can determine if a vma is in one these sections by checking it against
    the gate_vma and checking for a non-NULL return value from
    arch_vma_name(). Thus, freeing a valuable vma bit.

    Signed-off-by: Jason Baron
    Acked-by: Roland McGrath
    Cc: Chris Metcalf
    Cc: Avi Kivity
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jason Baron
     
  • Pull PCI changes (including maintainer change) from Jesse Barnes:
    "This pull has some good cleanups from Bjorn and Yinghai, as well as
    some more code from Yinghai to better handle resource re-allocation
    when enabled.

    There's also a new initcall_debug feature from Arjan which will print
    out quirk timing information to help identify slow quirks for fixing
    or refinement (Yinghai sent in a few patches to do just that once the
    new debug code landed).

    Beyond that, I'm handing off PCI maintainership to Bjorn Helgaas.
    He's been a core PCI and Linux contributor for some time now, and has
    kindly volunteered to take over. I just don't feel I have the time
    for PCI review and work that it deserves lately (I've taken on some
    other projects), and haven't been as responsive lately as I'd like, so
    I approached Bjorn asking if he'd like to manage things. He's going
    to give it a try, and I'm confident he'll do at least as well as I
    have in keeping the tree managed, patches flowing, and keeping things
    stable."

    Fix up some fairly trivial conflicts due to other cleanups (mips device
    resource fixup cleanups clashing with list handling cleanup, ppc iseries
    removal clashing with pci_probe_only cleanup etc)

    * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (112 commits)
    PCI: Bjorn gets PCI hotplug too
    PCI: hand PCI maintenance over to Bjorn Helgaas
    unicore32/PCI: move include to asm/pci.h
    sparc/PCI: convert devtree and arch-probed bus addresses to resource
    powerpc/PCI: allow reallocation on PA Semi
    powerpc/PCI: convert devtree bus addresses to resource
    powerpc/PCI: compute I/O space bus-to-resource offset consistently
    arm/PCI: don't export pci_flags
    PCI: fix bridge I/O window bus-to-resource conversion
    x86/PCI: add spinlock held check to 'pcibios_fwaddrmap_lookup()'
    PCI / PCIe: Introduce command line option to disable ARI
    PCI: make acpihp use __pci_remove_bus_device instead
    PCI: export __pci_remove_bus_device
    PCI: Rename pci_remove_behind_bridge to pci_stop_and_remove_behind_bridge
    PCI: Rename pci_remove_bus_device to pci_stop_and_remove_bus_device
    PCI: print out PCI device info along with duration
    PCI: Move "pci reassigndev resource alignment" out of quirks.c
    PCI: Use class for quirk for usb host controller fixup
    PCI: Use class for quirk for ti816x class fixup
    PCI: Use class for quirk for intel e100 interrupt fixup
    ...

    Linus Torvalds
     

23 Mar, 2012

2 commits

  • Get rid of INLINE_SPIN_UNLOCK entirely replacing it with
    UNINLINE_SPIN_UNLOCK instead of the reverse meaning.

    Whoever wants to change the default spinlock inlining
    behavior and uninline the spinlocks for some weird reason,
    such as spinlock debugging, paravirt etc. can now all just
    select UNINLINE_SPIN_UNLOCK

    Original discussion at: https://lkml.org/lkml/2012/3/21/357

    Suggested-by: Linus Torvalds
    Signed-off-by: Raghavendra K T
    Cc: Linus Torvalds
    Cc: Ralf Baechle
    Cc: Chris Metcalf
    Cc: Chris Zankel
    Cc: linux-mips@linux-mips.org
    Link: http://lkml.kernel.org/r/20120322095502.30866.75756.sendpatchset@codeblue
    [ tidied up the changelog a bit ]
    Signed-off-by: Ingo Molnar

    Raghavendra K T
     
  • Pull updates of sound stuff from Takashi Iwai:
    "Here is the first big update chunk of sound stuff for 3.4-rc1.

    In the common sound infrastructure, there are a few changes for
    dynamic PCM support (used in ASoC) and a few clean-ups. Majority of
    changes are found, as usual, in HD-audio and ASoC.

    Some highlights of HD-audio changes:

    - All the long-standing static quirk codes for Realtek codec were
    finally removed by fixing and extending the Realtek auto-parser.

    - The mute-LED control is standardized over all HD-audio codec
    drivers using the extended vmaster hook.

    - The vmaster slave mixer elements are initialized to 0dB as default
    so that the user won't be annoyed by the silent output after
    updates, e.g. due to the additions of new elements.

    - Other many fix-ups for the misc HD-audio devices.

    In the ASoC side, this is a very active release, including a quite a
    few framework enhancements. Some highlights:

    - Support for widgets not associated with a CODEC, an important part
    of the dynamic PCM framework.

    - A library factoring out the common code shared by dmaengine based
    DMA drivers contributed by Lars-Peter Clausen. This will save a
    lot of code and make it much easier to deploy enhancements to
    dmaengine.

    - Support for binary controls, used for providing runtime
    configuration of algorithm coefficients.

    - A new DAPM widget type for regulator supplies allowing drivers for
    devices that can power down unused supplies while active to do
    without any per-driver code.

    - DAPM widgets for DAIs, initially giving a speed boost for playback
    startup and shutdown and also the basis for CODECCODEC DAI link
    support.

    - Support for specifying the number of significant bits on audio
    interfaces, useful for allowing applications to know how much
    effort to put into generating data for a larger sample format.

    - Conversion of the FSI driver used on some SH processors to
    DMAEngine.

    - Conversion of EP93xx drivers to DMAEngine.

    - New CODEC drivers for Maxim MAX9768 and Wolfson Microelectronics
    WM2200.

    - Move audmux driver from arc/arm to sound/soc

    - McBSP move from arch/ to sound/ and updates

    Also, a few small updates and fixes for other drivers like au88x0,
    ymfpci, USB 6fire, USB usx2yaudio are included."

    * tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (446 commits)
    ASoC: wm8994: Provide VMID mode control and fix default sequence
    ASoC: wm8994: Add missing break in resume
    ASoC: wm_hubs: Don't actively manage LINEOUT_VMID_BUF
    ASoC: pxa-ssp: atomically set stream active masks
    ASoC: fsl: p1022ds: tell the WM8776 codec driver that it's the master
    ASoC: Samsung: Added to support mono recording
    ALSA: hda - Fix build with CONFIG_PM=n
    ALSA: au88x0 - Avoid possible Oops at unbinding
    ALSA: usb-audio - Fix build error by consitification of rate list
    ASoC: core: Fix obscure leak of runtime array
    ALSA: pcm - Avoid GFP_ATOMIC in snd_pcm_link()
    ALSA: pcm: Constify the list in snd_pcm_hw_constraint_list
    ASoC: wm8996: Add 44.1kHz support
    ALSA: hda - Fix build of patch_sigmatel.c without CONFIG_SND_HDA_POWER_SAVE
    ASoC: mx27vis-aic32x4: Convert it to platform driver
    ALSA: hda - fix printing of high HDMI sample rates
    ALSA: ymfpci - Fix legacy registers on S3/S4 resume
    ALSA: control - Fixe a trailing white space error
    ALSA: hda - Add expose_enum_ctl flag to snd_hda_add_vmaster_hook()
    ALSA: hda - Add "Mute-LED Mode" enum control
    ...

    Linus Torvalds
     

22 Mar, 2012

2 commits

  • Pull irq_domain support for all architectures from Grant Likely:
    "Generialize powerpc's irq_host as irq_domain

    This branch takes the PowerPC irq_host infrastructure (reverse mapping
    from Linux IRQ numbers to hardware irq numbering), generalizes it,
    renames it to irq_domain, and makes it available to all architectures.

    Originally the plan has been to create an all-new irq_domain
    implementation which addresses some of the powerpc shortcomings such
    as not handling 1:1 mappings well, but doing that proved to be far
    more difficult and invasive than generalizing the working code and
    refactoring it in-place. So, this branch rips out the 'new'
    irq_domain and replaces it with the modified powerpc version (in a
    fully bisectable way of course). It converts all users over to the
    new API and makes irq_domain selectable on any architecture.

    No architecture is forced to enable irq_domain, but the infrastructure
    is required for doing OpenFirmware style irq translations. It will
    even work on SPARC even though SPARC has it's own mechanism for
    translating irqs at boot time. MIPS, microblaze, embedded x86 and c6x
    are converted too.

    The resulting irq_domain code is probably still too verbose and can be
    optimized more, but that can be done incrementally and is a task for
    follow-on patches."

    * tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux-2.6: (31 commits)
    dt: fix twl4030 for non-dt compile on x86
    mfd: twl-core: Add IRQ_DOMAIN dependency
    devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)
    irq_domain: Centralize definition of irq_dispose_mapping()
    irq_domain/mips: Allow irq_domain on MIPS
    irq_domain/x86: Convert x86 (embedded) to use common irq_domain
    ppc-6xx: fix build failure in flipper-pic.c and hlwd-pic.c
    irq_domain/microblaze: Convert microblaze to use irq_domains
    irq_domain/powerpc: Replace custom xlate functions with library functions
    irq_domain/powerpc: constify irq_domain_ops
    irq_domain/c6x: Use library of xlate functions
    irq_domain/c6x: constify irq_domain structures
    irq_domain/c6x: Convert c6x to use generic irq_domain support.
    irq_domain: constify irq_domain_ops
    irq_domain: Create common xlate functions that device drivers can use
    irq_domain: Remove irq_domain_add_simple()
    irq_domain: Remove 'new' irq_domain in favour of the ppc one
    mfd: twl-core.c: Fix the number of interrupts managed by twl4030
    of/address: add empty static inlines for !CONFIG_OF
    irq_domain: Add support for base irq and hwirq in legacy mappings
    ...

    Linus Torvalds
     
  • Pull kmap_atomic cleanup from Cong Wang.

    It's been in -next for a long time, and it gets rid of the (no longer
    used) second argument to k[un]map_atomic().

    Fix up a few trivial conflicts in various drivers, and do an "evil
    merge" to catch some new uses that have come in since Cong's tree.

    * 'kmap_atomic' of git://github.com/congwang/linux: (59 commits)
    feature-removal-schedule.txt: schedule the deprecated form of kmap_atomic() for removal
    highmem: kill all __kmap_atomic() [swarren@nvidia.com: highmem: Fix ARM build break due to __kmap_atomic rename]
    drbd: remove the second argument of k[un]map_atomic()
    zcache: remove the second argument of k[un]map_atomic()
    gma500: remove the second argument of k[un]map_atomic()
    dm: remove the second argument of k[un]map_atomic()
    tomoyo: remove the second argument of k[un]map_atomic()
    sunrpc: remove the second argument of k[un]map_atomic()
    rds: remove the second argument of k[un]map_atomic()
    net: remove the second argument of k[un]map_atomic()
    mm: remove the second argument of k[un]map_atomic()
    lib: remove the second argument of k[un]map_atomic()
    power: remove the second argument of k[un]map_atomic()
    kdb: remove the second argument of k[un]map_atomic()
    udf: remove the second argument of k[un]map_atomic()
    ubifs: remove the second argument of k[un]map_atomic()
    squashfs: remove the second argument of k[un]map_atomic()
    reiserfs: remove the second argument of k[un]map_atomic()
    ocfs2: remove the second argument of k[un]map_atomic()
    ntfs: remove the second argument of k[un]map_atomic()
    ...

    Linus Torvalds
     

21 Mar, 2012

4 commits

  • Pull trivial tree from Jiri Kosina:
    "It's indeed trivial -- mostly documentation updates and a bunch of
    typo fixes from Masanari.

    There are also several linux/version.h include removals from Jesper."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (101 commits)
    kcore: fix spelling in read_kcore() comment
    constify struct pci_dev * in obvious cases
    Revert "char: Fix typo in viotape.c"
    init: fix wording error in mm_init comment
    usb: gadget: Kconfig: fix typo for 'different'
    Revert "power, max8998: Include linux/module.h just once in drivers/power/max8998_charger.c"
    writeback: fix fn name in writeback_inodes_sb_nr_if_idle() comment header
    writeback: fix typo in the writeback_control comment
    Documentation: Fix multiple typo in Documentation
    tpm_tis: fix tis_lock with respect to RCU
    Revert "media: Fix typo in mixer_drv.c and hdmi_drv.c"
    Doc: Update numastat.txt
    qla4xxx: Add missing spaces to error messages
    compiler.h: Fix typo
    security: struct security_operations kerneldoc fix
    Documentation: broken URL in libata.tmpl
    Documentation: broken URL in filesystems.tmpl
    mtd: simplify return logic in do_map_probe()
    mm: fix comment typo of truncate_inode_pages_range
    power: bq27x00: Fix typos in comment
    ...

    Linus Torvalds
     
  • Pull networking merge from David Miller:
    "1) Move ixgbe driver over to purely page based buffering on receive.
    From Alexander Duyck.

    2) Add receive packet steering support to e1000e, from Bruce Allan.

    3) Convert TCP MD5 support over to RCU, from Eric Dumazet.

    4) Reduce cpu usage in handling out-of-order TCP packets on modern
    systems, also from Eric Dumazet.

    5) Support the IP{,V6}_UNICAST_IF socket options, making the wine
    folks happy, from Erich Hoover.

    6) Support VLAN trunking from guests in hyperv driver, from Haiyang
    Zhang.

    7) Support byte-queue-limtis in r8169, from Igor Maravic.

    8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but
    was never properly implemented, Jiri Benc fixed that.

    9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.

    10) Support kernel side dump filtering by ctmark in netfilter
    ctnetlink, from Pablo Neira Ayuso.

    11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.

    12) Add new peek socket options to assist with socket migration, from
    Pavel Emelyanov.

    13) Add sch_plug packet scheduler whose queue is controlled by
    userland daemons using explicit freeze and release commands. From
    Shriram Rajagopalan.

    14) Fix FCOE checksum offload handling on transmit, from Yi Zou."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)
    Fix pppol2tp getsockname()
    Remove printk from rds_sendmsg
    ipv6: fix incorrent ipv6 ipsec packet fragment
    cpsw: Hook up default ndo_change_mtu.
    net: qmi_wwan: fix build error due to cdc-wdm dependecy
    netdev: driver: ethernet: Add TI CPSW driver
    netdev: driver: ethernet: add cpsw address lookup engine support
    phy: add am79c874 PHY support
    mlx4_core: fix race on comm channel
    bonding: send igmp report for its master
    fs_enet: Add MPC5125 FEC support and PHY interface selection
    net: bpf_jit: fix BPF_S_LDX_B_MSH compilation
    net: update the usage of CHECKSUM_UNNECESSARY
    fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx
    net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso
    ixgbe: Fix issues with SR-IOV loopback when flow control is disabled
    net/hyperv: Fix the code handling tx busy
    ixgbe: fix namespace issues when FCoE/DCB is not enabled
    rtlwifi: Remove unused ETH_ADDR_LEN defines
    igbvf: Use ETH_ALEN
    ...

    Fix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and
    drivers/net/usb/{Kconfig,qmi_wwan.c} as per David.

    Linus Torvalds
     
  • Pull USB merge for 3.4-rc1 from Greg KH:
    "Here's the big USB merge for the 3.4-rc1 merge window.

    Lots of gadget driver reworks here, driver updates, xhci changes, some
    new drivers added, usb-serial core reworking to fix some bugs, and
    other various minor things.

    There are some patches touching arch code, but they have all been
    acked by the various arch maintainers."

    * tag 'usb-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (302 commits)
    net: qmi_wwan: add support for ZTE MF820D
    USB: option: add ZTE MF820D
    usb: gadget: f_fs: Remove lock is held before freeing checks
    USB: option: make interface blacklist work again
    usb/ub: deprecate & schedule for removal the "Low Performance USB Block" driver
    USB: ohci-pxa27x: add clk_prepare/clk_unprepare calls
    USB: use generic platform driver on ath79
    USB: EHCI: Add a generic platform device driver
    USB: OHCI: Add a generic platform device driver
    USB: ftdi_sio: new PID: LUMEL PD12
    USB: ftdi_sio: add support for FT-X series devices
    USB: serial: mos7840: Fixed MCS7820 device attach problem
    usb: Don't make USB_ARCH_HAS_{XHCI,OHCI,EHCI} depend on USB_SUPPORT.
    usb gadget: fix a section mismatch when compiling g_ffs with CONFIG_USB_FUNCTIONFS_ETH
    USB: ohci-nxp: Remove i2c_write(), use smbus
    USB: ohci-nxp: Support for LPC32xx
    USB: ohci-nxp: Rename symbols from pnx4008 to nxp
    USB: OHCI-HCD: Rename ohci-pnx4008 to ohci-nxp
    usb: gadget: Kconfig: fix typo for 'different'
    usb: dwc3: pci: fix another failure path in dwc3_pci_probe()
    ...

    Linus Torvalds
     
  • Pull scheduler changes for v3.4 from Ingo Molnar

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
    printk: Make it compile with !CONFIG_PRINTK
    sched/x86: Fix overflow in cyc2ns_offset
    sched: Fix nohz load accounting -- again!
    sched: Update yield() docs
    printk/sched: Introduce special printk_sched() for those awkward moments
    sched/nohz: Correctly initialize 'next_balance' in 'nohz' idle balancer
    sched: Cleanup cpu_active madness
    sched: Fix load-balance wreckage
    sched: Clean up parameter passing of proc_sched_autogroup_set_nice()
    sched: Ditch per cgroup task lists for load-balancing
    sched: Rename load-balancing fields
    sched: Move load-balancing arguments into helper struct
    sched/rt: Do not submit new work when PI-blocked
    sched/rt: Prevent idle task boosting
    sched/wait: Add __wake_up_all_locked() API
    sched/rt: Document scheduler related skip-resched-check sites
    sched/rt: Use schedule_preempt_disabled()
    sched/rt: Add schedule_preempt_disabled()
    sched/rt: Do not throttle when PI boosting
    sched/rt: Keep period timer ticking when rt throttling is active
    ...

    Linus Torvalds
     

20 Mar, 2012

2 commits


16 Mar, 2012

2 commits

  • The ath79 usb driver doesn't do anything special and is now converted
    to the generic ehci and ohci driver.
    This was tested on a TP-Link TL-WR1043ND (AR9132)

    Acked-by: Gabor Juhos
    CC: Imre Kaloz
    CC: linux-mips@linux-mips.org
    CC: Ralf Baechle
    Signed-off-by: Hauke Mehrtens
    Signed-off-by: Greg Kroah-Hartman

    Hauke Mehrtens
     
  • When using the "compat" APIs, architectures will generally want to
    be able to make direct syscalls to msgsnd(), shmctl(), etc., and
    in the kernel we would want them to be handled directly by
    compat_sys_xxx() functions, as is true for other compat syscalls.

    However, for historical reasons, several of the existing compat IPC
    syscalls do not do this. semctl() expects a pointer to the fourth
    argument, instead of the fourth argument itself. msgsnd(), msgrcv()
    and shmat() expect arguments in different order.

    This change adds an ARCH_WANT_OLD_COMPAT_IPC config option that can be
    set to preserve this behavior for ports that use it (x86, sparc, powerpc,
    s390, and mips). No actual semantics are changed for those architectures,
    and there is only a minimal amount of code refactoring in ipc/compat.c.

    Newer architectures like tile (and perhaps future architectures such
    as arm64 and unicore64) should not select this option, and thus can
    avoid having any IPC-specific code at all in their architecture-specific
    compat layer. In the same vein, if this option is not selected, IPC_64
    mode is assumed, since that's what the headers expect.

    The workaround code in "tile" for msgsnd() and msgrcv() is removed
    with this change; it also fixes the bug that shmat() and semctl() were
    not being properly handled.

    Reviewed-by: Arnd Bergmann
    Signed-off-by: Chris Metcalf

    Chris Metcalf
     

13 Mar, 2012

3 commits


10 Mar, 2012

1 commit


06 Mar, 2012

2 commits