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
     

04 Apr, 2012

1 commit

  • Pull arch/microblaze fixes from Michal Simek.

    * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Fix ret_from_fork declaration
    microblaze: Do not use tlb_skip in early_printk
    microblaze: Add missing headers caused by disintegration asm/system.h
    microblaze: Fix stack usage in PAGE_SIZE copy_tofrom_user
    microblaze: Fix tlb_skip variable on noMMU system
    microblaze: Fix __futex_atomic_op macro register usage

    Linus Torvalds
     

02 Apr, 2012

2 commits


31 Mar, 2012

1 commit

  • Pull kbuild changes from Michal Marek:
    - Unification of cmd_uimage among archs that use it
    - make headers_check tries harder before reporting a missing
    include
    - kbuild portability fix for shells that do not support echo -e
    - make clean descends into samples/
    - setlocalversion grep fix
    - modpost typo fix
    - dtc warnings fix

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    setlocalversion: Use "grep -q" instead of piping output to "read dummy"
    modpost: fix ALL_INIT_DATA_SECTIONS
    Kbuild: centralize MKIMAGE and cmd_uimage definitions
    headers_check: recursively search for linux/types.h inclusion
    scripts/Kbuild.include: Fix portability problem of "echo -e"
    scripts: dtc: fix compile warnings
    kbuild: clean up samples directory
    kbuild: disable -Wmissing-field-initializers for W=1

    Linus Torvalds
     

30 Mar, 2012

3 commits


29 Mar, 2012

4 commits

  • …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
     
  • Move all declarations of free_initmem() to linux/mm.h so that there's only one
    and it's used by everything.

    Signed-off-by: David Howells
    cc: linux-c6x-dev@linux-c6x.org
    cc: microblaze-uclinux@itee.uq.edu.au
    cc: linux-sh@vger.kernel.org
    cc: sparclinux@vger.kernel.org
    cc: x86@kernel.org
    cc: linux-mm@kvack.org

    David Howells
     
  • Disintegrate asm/system.h for Microblaze. Not compiled.

    Signed-off-by: David Howells
    cc: microblaze-uclinux@itee.uq.edu.au

    David Howells
     

28 Mar, 2012

4 commits

  • Adapt core Microblaze 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
    [fixed coding style issues]
    Signed-off-by: Marek Szyprowski
    Reviewed-by: Arnd Bergmann

    Andrzej Pietrasiewicz
     
  • TLBs are available only for MMU systems.

    Error log:
    arch/microblaze/kernel/setup.c: In function 'debugfs_tlb':
    arch/microblaze/kernel/setup.c:217: error: 'tlb_skip' undeclared (first use in this function)
    arch/microblaze/kernel/setup.c:217: error: (Each undeclared identifier is reported only once
    arch/microblaze/kernel/setup.c:217: error: for each function it appears in.)
    make[1]: *** [arch/microblaze/kernel/setup.o] Error 1

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Old Microblaze toolchain supported "b" contstrains for
    all register but it always points to general purpose reg.
    New Microblaze toolchain is more strict in this
    and general purpose register should be used there "r".

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Pull arch/microblaze fixes from Michal Simek

    * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Handle TLB skip size dynamically
    microblaze: Introduce TLB skip size
    microblaze: Improve TLB calculation for small systems
    microblaze: Extend space for compiled-in FDT to 32kB
    microblaze: Clear all MSR flags on the first kernel instruction
    microblaze: Use node name instead of compatible string
    microblaze: Fix mapin_ram function
    microblaze: Highmem support
    microblaze: Use active regions
    microblaze: Show more detailed information about memory
    microblaze: Introduce fixmap
    microblaze: mm: Fix lowmem max memory size limits
    microblaze: mm: Use ZONE_DMA instead of ZONE_NORMAL
    microblaze: trivial: Fix typo fault in timer.c
    microblaze: Use vsprintf extention %pf with builtin_return_address
    microblaze: Add PVR version string for MB 8.20.b and 8.30.a
    microblaze: Fix makefile to work with latest toolchain
    microblaze: Fix typo in early_printk.c

    Linus Torvalds
     

26 Mar, 2012

1 commit

  • All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
    to avoid duplication.

    All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
    parameterized version in Makefile.lib to avoid duplication.

    Signed-off-by: Stephen Warren
    Acked-by: Nicolas Pitre
    Tested-by: Mike Frysinger [Blackfin]
    Tested-by: Michal Simek [Microblaze]
    Tested-by: Guan Xuetao [unicore32]
    Signed-off-by: Michal Marek

    Stephen Warren
     

24 Mar, 2012

3 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
     
  • Commit 33bf56106d9b ("feature removal of io_remap_page_range()") removed
    io_remap_page_range(), but it is still included in some arch header
    files. It has no in-tree users.

    Signed-off-by: Javi Merino
    Cc: Russell King
    Cc: Aurelien Jacquiot
    Cc: Michal Simek
    Cc: Jonas Bonn
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Javi Merino
     
  • 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

13 commits


22 Mar, 2012

1 commit

  • 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
     

19 Mar, 2012

5 commits


01 Mar, 2012

1 commit