Skip to content
  1. Dec 11, 2014
    • Joonsoo Kim's avatar
      mm/CMA: fix boot regression due to physical address of high_memory · 6b101e2a
      Joonsoo Kim authored
      
      
      high_memory isn't direct mapped memory so retrieving it's physical address
      isn't appropriate.  But, it would be useful to check physical address of
      highmem boundary so it's justfiable to get physical address from it.  In
      x86, there is a validation check if CONFIG_DEBUG_VIRTUAL and it triggers
      following boot failure reported by Ingo.
      
        ...
        BUG: Int 6: CR2 00f06f53
        ...
        Call Trace:
          dump_stack+0x41/0x52
          early_idt_handler+0x6b/0x6b
          cma_declare_contiguous+0x33/0x212
          dma_contiguous_reserve_area+0x31/0x4e
          dma_contiguous_reserve+0x11d/0x125
          setup_arch+0x7b5/0xb63
          start_kernel+0xb8/0x3e6
          i386_start_kernel+0x79/0x7d
      
      To fix boot regression, this patch implements workaround to avoid
      validation check in x86 when retrieving physical address of high_memory.
      __pa_nodebug() used by this patch is implemented only in x86 so there is
      no choice but to use dirty #ifdef.
      
      [akpm@linux-foundation.org: tweak comment]
      Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
      Reported-by: default avatarIngo Molnar <mingo@kernel.org>
      Tested-by: default avatarIngo Molnar <mingo@kernel.org>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6b101e2a
    • Linus Torvalds's avatar
      Merge branch 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d8201269
      Linus Torvalds authored
      Pull more 2038 timer work from Thomas Gleixner:
       "Two more patches for the ongoing 2038 work:
      
         - New accessors to clock MONOTONIC and REALTIME seconds
      
        This is a seperate branch as Arnd has follow up work depending on
        this"
      
      * 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Provide y2038 safe accessor to the seconds portion of CLOCK_REALTIME
        timekeeping: Provide fast accessor to the seconds part of CLOCK_MONOTONIC
      d8201269
    • Linus Torvalds's avatar
      Merge branch 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3eb5b893
      Linus Torvalds authored
      Pull x86 MPX support from Thomas Gleixner:
       "This enables support for x86 MPX.
      
        MPX is a new debug feature for bound checking in user space.  It
        requires kernel support to handle the bound tables and decode the
        bound violating instruction in the trap handler"
      
      * 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        asm-generic: Remove asm-generic arch_bprm_mm_init()
        mm: Make arch_unmap()/bprm_mm_init() available to all architectures
        x86: Cleanly separate use of asm-generic/mm_hooks.h
        x86 mpx: Change return type of get_reg_offset()
        fs: Do not include mpx.h in exec.c
        x86, mpx: Add documentation on Intel MPX
        x86, mpx: Cleanup unused bound tables
        x86, mpx: On-demand kernel allocation of bounds tables
        x86, mpx: Decode MPX instruction to get bound violation information
        x86, mpx: Add MPX-specific mmap interface
        x86, mpx: Introduce VM_MPX to indicate that a VMA is MPX specific
        x86, mpx: Add MPX to disabled features
        ia64: Sync struct siginfo with general version
        mips: Sync struct siginfo with general version
        mpx: Extend siginfo structure to include bound violation information
        x86, mpx: Rename cfg_reg_u and status_reg
        x86: mpx: Give bndX registers actual names
        x86: Remove arbitrary instruction size limit in instruction decoder
      3eb5b893
    • Linus Torvalds's avatar
      Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9e66645d
      Linus Torvalds authored
      Pull irq domain updates from Thomas Gleixner:
       "The real interesting irq updates:
      
         - Support for hierarchical irq domains:
      
           For complex interrupt routing scenarios where more than one
           interrupt related chip is involved we had no proper representation
           in the generic interrupt infrastructure so far.  That made people
           implement rather ugly constructs in their nested irq chip
           implementations.  The main offenders are x86 and arm/gic.
      
           To distangle that mess we have now hierarchical irqdomains which
           seperate the various interrupt chips and connect them via the
           hierarchical domains.  That keeps the domain specific details
           internal to the particular hierarchy level and removes the
           criss/cross referencing of chip internals.  The resulting hierarchy
           for a complex x86 system will look like this:
      
              vector          mapped: 74
                msi-0         mapped: 2
                dmar-ir-1     mapped: 69
                  ioapic-1    mapped: 4
                  ioapic-0    mapped: 20
                  pci-msi-2   mapped: 45
                dmar-ir-0     mapped: 3
                  ioapic-2    mapped: 1
                  pci-msi-1   mapped: 2
                htirq         mapped: 0
      
           Neither ioapic nor pci-msi know about the dmar interrupt remapping
           between themself and the vector domain.  If interrupt remapping is
           disabled ioapic and pci-msi become direct childs of the vector
           domain.
      
           In hindsight we should have done that years ago, but in hindsight
           we always know better :)
      
         - Support for generic MSI interrupt domain handling
      
           We have more and more non PCI related MSI interrupts, so providing
           a generic infrastructure for this is better than having all
           affected architectures implementing their own private hacks.
      
         - Support for PCI-MSI interrupt domain handling, based on the generic
           MSI support.
      
           This part carries the pci/msi branch from Bjorn Helgaas pci tree to
           avoid a massive conflict.  The PCI/MSI parts are acked by Bjorn.
      
        I have two more branches on top of this.  The full conversion of x86
        to hierarchical domains and a partial conversion of arm/gic"
      
      * 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
        genirq: Move irq_chip_write_msi_msg() helper to core
        PCI/MSI: Allow an msi_controller to be associated to an irq domain
        PCI/MSI: Provide mechanism to alloc/free MSI/MSIX interrupt from irqdomain
        PCI/MSI: Enhance core to support hierarchy irqdomain
        PCI/MSI: Move cached entry functions to irq core
        genirq: Provide default callbacks for msi_domain_ops
        genirq: Introduce msi_domain_alloc/free_irqs()
        asm-generic: Add msi.h
        genirq: Add generic msi irq domain support
        genirq: Introduce callback irq_chip.irq_write_msi_msg
        genirq: Work around __irq_set_handler vs stacked domains ordering issues
        irqdomain: Introduce helper function irq_domain_add_hierarchy()
        irqdomain: Implement a method to automatically call parent domains alloc/free
        genirq: Introduce helper irq_domain_set_info() to reduce duplicated code
        genirq: Split out flow handler typedefs into seperate header file
        genirq: Add IRQ_SET_MASK_OK_DONE to support stacked irqchip
        genirq: Introduce irq_chip.irq_compose_msi_msg() to support stacked irqchip
        genirq: Add more helper functions to support stacked irq_chip
        genirq: Introduce helper functions to support stacked irq_chip
        irqdomain: Do irq_find_mapping and set_type for hierarchy irqdomain in case OF
        ...
      9e66645d
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ecb50f0a
      Linus Torvalds authored
      Pull irq core updates from Thomas Gleixner:
       "This is the first (boring) part of irq updates:
      
         - support for big endian I/O accessors in the generic irq chip
      
         - cleanup of brcmstb/bcm7120 drivers so they can be reused for non
           ARM SoCs
      
         - the usual pile of fixes and updates for the various ARM irq chips"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        irqchip: dw-apb-ictl: Add PM support
        irqchip: dw-apb-ictl: Enable IRQ_GC_MASK_CACHE_PER_TYPE
        irqchip: dw-apb-ictl: Always use use {readl|writel}_relaxed
        ARM: orion: convert the irq_reg_{readl,writel} calls to the new API
        irqchip: atmel-aic: Add missing entry for rm9200 irq fixups
        irqchip: atmel-aic: Rename at91sam9_aic_irq_fixup for naming consistency
        irqchip: atmel-aic: Add specific irq fixup function for sam9g45 and sam9rl
        irqchip: atmel-aic: Add irq fixups for at91sam926x SoCs
        irqchip: atmel-aic: Add irq fixup for RTT block
        irqchip: brcmstb-l2: Convert driver to use irq_reg_{readl,writel}
        irqchip: bcm7120-l2: Convert driver to use irq_reg_{readl,writel}
        irqchip: bcm7120-l2: Decouple driver from brcmstb-l2
        irqchip: bcm7120-l2: Extend driver to support 64+ bit controllers
        irqchip: bcm7120-l2: Use gc->mask_cache to simplify suspend/resume functions
        irqchip: bcm7120-l2: Fix missing nibble in gc->unused mask
        irqchip: bcm7120-l2: Make sure all register accesses use base+offset
        irqchip: bcm7120-l2, brcmstb-l2: Remove ARM Kconfig dependency
        irqchip: bcm7120-l2: Eliminate bad IRQ check
        irqchip: brcmstb-l2: Eliminate dependency on ARM code
        genirq: Generic chip: Add big endian I/O accessors
        ...
      ecb50f0a
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a157508c
      Linus Torvalds authored
      Pull timer core updates from Thomas Gleixner:
       "The time(r) departement provides:
      
         - more infrastructure work on the year 2038 issue
      
         - a few fixes in the Armada SoC timers
      
         - the usual pile of fixlets and improvements"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource: armada-370-xp: Use the reference clock on A375 SoC
        watchdog: orion: Use the reference clock on Armada 375 SoC
        clocksource: armada-370-xp: Add missing clock enable
        time: Fix sign bug in NTP mult overflow warning
        time: Remove timekeeping_inject_sleeptime()
        rtc: Update suspend/resume timing to use 64bit time
        rtc/lib: Provide y2038 safe rtc_tm_to_time()/rtc_time_to_tm() replacement
        time: Fixup comments to reflect usage of timespec64
        time: Expose get_monotonic_coarse64() for in-kernel uses
        time: Expose getrawmonotonic64 for in-kernel uses
        time: Provide y2038 safe mktime() replacement
        time: Provide y2038 safe timekeeping_inject_sleeptime() replacement
        time: Provide y2038 safe do_settimeofday() replacement
        time: Complete NTP adjustment threshold judging conditions
        time: Avoid possible NTP adjustment mult overflow.
        time: Rename udelay_test.c to test_udelay.c
        clocksource: sirf: Remove hard-coded clock rate
      a157508c
  2. Dec 10, 2014
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 86c6a2fd
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - 'Nested Sleep Debugging', activated when CONFIG_DEBUG_ATOMIC_SLEEP=y.
      
           This instruments might_sleep() checks to catch places that nest
           blocking primitives - such as mutex usage in a wait loop.  Such
           bugs can result in hard to debug races/hangs.
      
           Another category of invalid nesting that this facility will detect
           is the calling of blocking functions from within schedule() ->
           sched_submit_work() -> blk_schedule_flush_plug().
      
           There's some potential for false positives (if secondary blocking
           primitives themselves are not ready yet for this facility), but the
           kernel will warn once about such bugs per bootup, so the warning
           isn't much of a nuisance.
      
           This feature comes with a number of fixes, for problems uncovered
           with it, so no messages are expected normally.
      
         - Another round of sched/numa optimizations and refinements, for
           CONFIG_NUMA_BALANCING=y.
      
         - Another round of sched/dl fixes and refinements.
      
        Plus various smaller fixes and cleanups"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (54 commits)
        sched: Add missing rcu protection to wake_up_all_idle_cpus
        sched/deadline: Introduce start_hrtick_dl() for !CONFIG_SCHED_HRTICK
        sched/numa: Init numa balancing fields of init_task
        sched/deadline: Remove unnecessary definitions in cpudeadline.h
        sched/cpupri: Remove unnecessary definitions in cpupri.h
        sched/deadline: Fix rq->dl.pushable_tasks bug in push_dl_task()
        sched/fair: Fix stale overloaded status in the busiest group finding logic
        sched: Move p->nr_cpus_allowed check to select_task_rq()
        sched/completion: Document when to use wait_for_completion_io_*()
        sched: Update comments about CLONE_NEWUTS and CLONE_NEWIPC
        sched/fair: Kill task_struct::numa_entry and numa_group::task_list
        sched: Refactor task_struct to use numa_faults instead of numa_* pointers
        sched/deadline: Don't check CONFIG_SMP in switched_from_dl()
        sched/deadline: Reschedule from switched_from_dl() after a successful pull
        sched/deadline: Push task away if the deadline is equal to curr during wakeup
        sched/deadline: Add deadline rq status print
        sched/deadline: Fix artificial overrun introduced by yield_task_dl()
        sched/rt: Clean up check_preempt_equal_prio()
        sched/core: Use dl_bw_of() under rcu_read_lock_sched()
        sched: Check if we got a shallowest_idle_cpu before searching for least_loaded_cpu
        ...
      86c6a2fd
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bee2782f
      Linus Torvalds authored
      Pull leftover perf fixes from Ingo Molnar:
       "Two perf fixes left over from the previous cycle"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf session: Do not fail on processing out of order event
        x86/asm/traps: Disable tracing and kprobes in fixup_bad_iret and sync_regs
      bee2782f
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5706ffd0
      Linus Torvalds authored
      Pull perf events update from Ingo Molnar:
       "On the kernel side there's few changes, the one that stands out is
        PEBS machine state sampling support on x86, by Stephane Eranian.
      
        On the tooling side:
      
        User visible tooling changes:
      
         - Don't open the DWARF info multiple times, keeping instead a dwfl
           handle in struct dso, greatly speeding up 'perf report' on powerpc.
           (Sukadev Bhattiprolu)
      
         - Introduce PARSE_OPT_DISABLED option flag and use it to avoid
           showing undersired options in tools that provides frontends to
           'perf record', like sched, kvm, etc (Namhyung Kim)
      
         - Fallback to kallsyms when using the minimal 'ELF' loader (Arnaldo
           Carvalho de Melo)
      
         - Fix annotation with kcore (Adrian Hunter)
      
         - Support source line numbers in annotate using a hotkey (Andi Kleen)
      
         - Callchain improvements including:
           * Enable printing the srcline in the history
           * Make get_srcline fall back to sym+offset (Andi Kleen)
      
         - TUI hist_entry browser fixes, including showing missing overhead
           value for first level callchain.  Detected comparing the output of
           --stdio/--gui (that matched) with --tui, that had this problem.
           (Namhyung Kim)
      
         - Support handling complete branch stacks as histograms (Andi Kleen)
      
        Tooling infrastructure changes:
      
         - Prep work for supporting per-pkg and snapshot counters in 'perf
           stat' (Jiri Olsa)
      
         - 'perf stat' refactorings, moving stuff from it to evsel.c to use in
           per-pkg/snapshot format changes (Jiri Olsa)
      
         - Add per-pkg format file parsing (Matt Fleming)
      
         - Clean up libelf feature support code (Namhyung Kim)
      
         - Add gzip decompression support for kernel modules (Namhyung Kim)
      
         - More prep patches for Intel PT, including a a thread stack and more
           stuff made available via the database export mechanism (Adrian
           Hunter)
      
         - More Intel PT work, including a facility to export sample data
           (comms, threads, symbol names, etc) in a database friendly way,
           with an script to use this to create a postgresql database.
           (Adrian Hunter)
      
         - Make sure that thread->mg->machine points to the machine where the
           thread exists (it was being set only for the kmaps kernel modules
           case, do it as well for the mmaps) and use it to shorten function
           signatures (Arnaldo Carvalho de Melo)
      
        ... and lots of other fixes and smaller improvements"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (91 commits)
        perf report: In branch stack mode use address history sorting
        perf report: Add --branch-history option
        perf callchain: Support handling complete branch stacks as histograms
        perf stat: Add support for snapshot counters
        perf stat: Add support for per-pkg counters
        perf tools: Remove perf_evsel__read interface
        perf stat: Use read_counter in read_counter_aggr
        perf stat: Make read_counter work over the thread dimension
        perf stat: Use perf_evsel__read_cb in read_counter
        perf tools: Add snapshot format file parsing
        perf tools: Add per-pkg format file parsing
        perf evsel: Introduce perf_evsel__read_cb function
        perf evsel: Introduce perf_counts_values__scale function
        perf evsel: Introduce perf_evsel__compute_deltas function
        perf tools: Allow to force redirect pr_debug to stderr.
        perf tools: Fix segfault due to invalid kernel dso access
        perf callchain: Make get_srcline fall back to sym+offset
        perf symbols: Move bfd_demangle stubbing to its only user
        perf callchain: Enable printing the srcline in the history
        perf tools: Collapse first level callchain entry if it has sibling
        ...
      5706ffd0
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c3011060
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "These are the main changes in this cycle:
      
          - Streamline RCU's use of per-CPU variables, shifting from "cpu"
            arguments to functions to "this_"-style per-CPU variable
            accessors.
      
          - signal-handling RCU updates.
      
          - real-time updates.
      
          - torture-test updates.
      
          - miscellaneous fixes.
      
          - documentation updates"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (34 commits)
        rcu: Fix FIXME in rcu_tasks_kthread()
        rcu: More info about potential deadlocks with rcu_read_unlock()
        rcu: Optimize cond_resched_rcu_qs()
        rcu: Add sparse check for RCU_INIT_POINTER()
        documentation: memory-barriers.txt: Correct example for reorderings
        documentation: Add atomic_long_t to atomic_ops.txt
        documentation: Additional restriction for control dependencies
        documentation: Document RCU self test boot params
        rcutorture: Fix rcu_torture_cbflood() memory leak
        rcutorture: Remove obsolete kversion param in kvm.sh
        rcutorture: Remove stale test configurations
        rcutorture: Enable RCU self test in configs
        rcutorture: Add early boot self tests
        torture: Run Linux-kernel binary out of results directory
        cpu: Avoid puts_pending overflow
        rcu: Remove "cpu" argument to rcu_cleanup_after_idle()
        rcu: Remove "cpu" argument to rcu_prepare_for_idle()
        rcu: Remove "cpu" argument to rcu_needs_cpu()
        rcu: Remove "cpu" argument to rcu_note_context_switch()
        rcu: Remove "cpu" argument to rcu_preempt_check_callbacks()
        ...
      c3011060
    • Linus Torvalds's avatar
      Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9c37f959
      Linus Torvalds authored
      Pull locking tree changes from Ingo Molnar:
       "Two changes: a documentation update and a ticket locks live lock fix"
      
      * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ticketlock: Fix spin_unlock_wait() livelock
        locking/lglocks: Add documentation of current lglocks implementation
      9c37f959
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · a0e44677
      Linus Torvalds authored
      Pull asm-generic asm/io.h rewrite from Arnd Bergmann:
       "While there normally is no reason to have a pull request for
        asm-generic but have all changes get merged through whichever tree
        needs them, I do have a series for 3.19.
      
        There are two sets of patches that change significant portions of
        asm/io.h, and this branch contains both in order to resolve the
        conflicts:
      
         - Will Deacon has done a set of patches to ensure that all
           architectures define {read,write}{b,w,l,q}_relaxed() functions or
           get them by including asm-generic/io.h.
      
           These functions are commonly used on ARM specific drivers to avoid
           expensive L2 cache synchronization implied by the normal
           {read,write}{b,w,l,q}, but we need to define them on all
           architectures in order to share the drivers across architectures
           and to enable CONFIG_COMPILE_TEST configurations for them
      
         - Thierry Reding has done an unrelated set of patches that extends
           the asm-generic/io.h file to the degree necessary to make it useful
           on ARM64 and potentially other architectures"
      
      * tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: (29 commits)
        ARM64: use GENERIC_PCI_IOMAP
        sparc: io: remove duplicate relaxed accessors on sparc32
        ARM: sa11x0: Use void __iomem * in MMIO accessors
        arm64: Use include/asm-generic/io.h
        ARM: Use include/asm-generic/io.h
        asm-generic/io.h: Implement generic {read,write}s*()
        asm-generic/io.h: Reconcile I/O accessor overrides
        /dev/mem: Use more consistent data types
        Change xlate_dev_{kmem,mem}_ptr() prototypes
        ARM: ixp4xx: Properly override I/O accessors
        ARM: ixp4xx: Fix build with IXP4XX_INDIRECT_PCI
        ARM: ebsa110: Properly override I/O accessors
        ARC: Remove redundant PCI_IOBASE declaration
        documentation: memory-barriers: clarify relaxed io accessor semantics
        x86: io: implement dummy relaxed accessor macros for writes
        tile: io: implement dummy relaxed accessor macros for writes
        sparc: io: implement dummy relaxed accessor macros for writes
        powerpc: io: implement dummy relaxed accessor macros for writes
        parisc: io: implement dummy relaxed accessor macros for writes
        mn10300: io: implement dummy relaxed accessor macros for writes
        ...
      a0e44677
    • Linus Torvalds's avatar
      Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · ed8efd2d
      Linus Torvalds authored
      Pull ARM64 SoC changes from Arnd Bergmann:
       "This adds support for two new ARM64 platforms:
      
         - ARM Juno
         - AMD Seattle
      
        We had submissions for a number of additional platforms from Samsung,
        Freescale and Spreadtrum but are still working out the best process
        for getting these merged"
      
      * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm64: amd-seattle: Fix PCI bus range due to SMMU limitation
        arm64: ARM: Fix the Generic Timers interrupt active level description
        arm64: amd-seattle: Adding device tree for AMD Seattle platform
        arm64: Add Juno board device tree.
        arm64: Create link to include/dt-bindings to enable C preprocessor use.
      ed8efd2d
    • Linus Torvalds's avatar
      Merge tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 151cd976
      Linus Torvalds authored
      Pull ARM SoC defconfig changes from Arnd Bergmann:
       "This is a collection of the various changes to defconfig files, most
        importantly enabling some additional platforms in the
        multi_v7_defconfig file.  These are split out into a separate branch
        to avoid most of the merge conflicts in the defconfig files.
      
        This also touches 12 other defconfig files for shmobile, at91,
        hisilicon, keystone, mvebu, omap, and tegra"
      
      * tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (36 commits)
        ARM: omap2plus_defconfig: enable ECAP and EHRPWM
        ARM: omap2plus_defconfig: enable XHCI
        ARM: omap2plus_defconfig: enable AM33XX SoC sound
        ARM: omap2plus_defconfig: enable EDT FT5X06 touchscreen
        ARM: omap2plus_defconfig: remove unwanted ethernet drivers
        ARM: multi_v7_defconfig: enable MAX77686 PMIC drivers for exynos4412-prime based SoCs
        ARM: at91/defconfig: add DM9000 to at91_dt
        ARM: at91/defconfig: add QT1070 to at91_dt
        ARM: at91/defconfig: add TCB PWM driver selection
        ARM: at91/defconfig: add the XDMA driver
        ARM: at91: sama5: update defconfig
        ARM: defconfig: imx_v6_v7_defconfig updates
        ARM: multi_v7_defconfig: add driver support for hix5hd2
        ARM: exynos_defconfig: Use 16 minors per MMC block device
        ARM: mvebu: add MTD_BLOCK to mvebu_v7_defconfig
        ARM: mvebu: enable i2c device in mvebu_v7_defconfig
        ARM: mvebu: re-enable SDHCI driver for Armada 38x SoC in v7 defconfig
        ARM: tegra: Regenerate default configuration
        ARM: multi_v7_defconfig: Enable cgroups
        ARM: multi_v7_defconfig: Enable Broadcom Cygnus
        ...
      151cd976
    • Linus Torvalds's avatar
      Merge tag 'omap-gpmc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · fe78c54b
      Linus Torvalds authored
      Pull ARM SoC/OMAP GPMC driver cleanup and move from Arnd Bergmann:
       "The GPMC driver has traditionally been considered a part of the OMAP
        platform code and tightly interweaved with some of the boards.
      
        With this cleanup, it has finally come to the point where it makes
        sense to move it out of arch/arm into drivers/memory, where we already
        have other drivers for similar hardware.  The cleanups are still
        ongoing, with the goal of eventually having a standalone driver that
        does not require an interface to architecture code.
      
        This is a separate branch because of dependencies on multiple other
        branches, and to keep the drivers changes separate from the normal
        cleanups"
      
      * tag 'omap-gpmc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        memory: gpmc: Move omap gpmc code to live under drivers
        ARM: OMAP2+: Move GPMC initcall to devices.c
        ARM: OMAP2+: Prepare to move GPMC to drivers by platform data header
        ARM: OMAP2+: Remove unnecesary include in GPMC driver
        ARM: OMAP2+: Drop board file for 3430sdp
        ARM: OMAP2+: Drop board file for ti8168evm
        ARM: OMAP2+: Drop legacy code for gpmc-smc91x.c
        ARM: OMAP2+: Require proper GPMC timings for devices
        ARM: OMAP2+: Show bootloader GPMC timings to allow configuring the .dts file
        ARM: OMAP2+: Fix support for multiple devices on a GPMC chip select
        ARM: OMAP2+: gpmc: Sanity check GPMC fck on probe
        ARM: OMAP2+: gpmc: Keep Chip Select disabled while configuring it
        ARM: OMAP2+: gpmc: Always enable A26-A11 for non NAND devices
        ARM: OMAP2+: gpmc: Error out if timings fail in gpmc_probe_generic_child()
        ARM: OMAP2+: gpmc: Print error message in set_gpmc_timing_reg()
      fe78c54b
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6da31412
      Linus Torvalds authored
      Pull ARM SoC DT updates from Arnd Bergmann:
       "The DT branch adds a lot of new stuff for additional SoC and board
        support.  The branch is the largest one and contains 513 out of the
        total 972 non-merge arm-soc changesets for 3.19.
      
        Most of the changes are about enabling additional on-chip devices for
        existing machines, but there are also an unusual number of new SoC
        types being added this time:
      
         - AMLogic Meson8
         - ARM Realview in DT mode
         - Allwinner A80
         - Broadcom BCM47081
         - Broadcom Cygnus
         - Freescale LS1021A
         - Freescale Vybrid 500 series
         - Mediatek MT6592, MT8127, MT8135
         - STMicroelectronics STiH410
         - Samsung Exynos4415
      
        The level of support for the above differs widely, some are just stubs
        with nothing more than CPU, memory and a UART, but others are fairly
        complete.  As usual, these get extended over time.
      
        There are also many new boards getting added, this is the list of
        model strings that are showing up in new dts files:
      
         - ARM RealView PB1176
         - Altera SOCFPGA Arria 10
         - Asus RT-N18U (BCM47081)
         - Buffalo WZR-1750DHP (BCM4708)
         - Buffalo WZR-600DHP2 (BCM47081)
         - Cygnus Enterprise Phone (BCM911360_ENTPHN)
         - D-Link DIR-665
         - Google Spring
         - IGEP COM MODULE Rev. G (TI OMAP AM/DM37x)
         - IGEPv2 Rev. F (TI OMAP AM/DM37x)
         - LS1021A QDS Board
         - LS1021A TWR Board
         - LeMaker Banana Pi
         - MarsBoard RK3066
         - MediaTek MT8127 Moose Board
         - MediaTek MT8135 evaluation board
         - Mele M3
         - Merrii A80 Optimus Board
         - Netgear R6300 V2 (BCM4708)
         - Nomadik STN8815NHK
         - NovaTech OrionLXm
         - Olimex A20-OLinuXino-LIME2
         - Raspberry Pi Model B+
         - STiH410 B2120
         - Samsung Monk board
         - Samsung Rinato board
         - Synology DS213j
         - Synology DS414
         - TBS2910 Matrix ARM mini PC
         - TI AM5728 BeagleBoard-X15
         - Toradex Colibri VF50 on Colibri Evaluation Board
         - Zynq ZYBO Development Board
      
        Other notable changes include:
      
         - exynos: cleanup of existing dts files
         - mvebu: improved pinctrl support for Armada 370/XP
         - nomadik: restructuring dts files
         - omap: added CAN bus support
         - shmobile: added clock support for some SoCs
         - shmobile: added sound support for some SoCs
         - sirf: reset controller support
         - sunxi: continuing the relicensing under dual GPL/MIT
         - sunxi: lots of new on-chip device support
         - sunxi: working simplefb support (long awaited)
         - various: provide stdout-path property for earlycon"
      
      * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (510 commits)
        ARM: dts: rk3288: add arm,cpu-registers-not-fw-configured
        Revert "ARM: dts: rockchip: temporarily disable smp on rk3288"
        ARM: BCM5301X: Add DT for Buffalo WZR-600DHP2
        ARM: BCM5301X: Add DT for Asus RT-N18U
        ARM: BCM5301X: Add DT for Buffalo WZR-1750DHP
        ARM: BCM5301X: Add DT for Netgear R6300 V2
        ARM: BCM5301X: Add buttons for Netgear R6250
        ARM: dts: rockchip: Add input voltage supply regulators in pmic for Marsboard
        ARM: BCM5301X: Add IRQs to Broadcom's bus-axi in DTS file
        arm: dts: zynq: Add Digilent ZYBO board
        arm: dts: zynq: Move crystal freq. to board level
        doc: dt: vendor-prefixes: Add Digilent Inc
        Documentation: devicetree: Fix Xilinx VDMA specification
        ARM: dts: rockchip: set FIFO size for SDMMC, SDIO and EMMC on rk3066 and rk3188
        ARM: dts: rockchip: add label property for leds on Radxa Rock
        ARM: BCM5301X: Add LEDs for Netgear R6250 V1
        ARM: BCM5301X: Add Broadcom's bus-axi to the DTS file
        ARM: dts: add sysreg phandle to i2c device nodes for exynos
        ARM: dts: Remove unused bootargs from exynos3250-rinato
        ARM: dts: add board dts file for Exynos3250-based Monk board
        ...
      6da31412
    • Linus Torvalds's avatar
      Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 3a647c1d
      Linus Torvalds authored
      Pull ARM SoC driver updates from Arnd Bergmann:
       "These are changes for drivers that are intimately tied to some SoC and
        for some reason could not get merged through the respective subsystem
        maintainer tree.
      
        The largest single change here this time around is the Tegra
        iommu/memory controller driver, which gets updated to the new iommu DT
        binding.  More drivers like this are likely to follow for the
        following merge window, but we should be able to do those through the
        iommu maintainer.
      
        Other notable changes are:
         - reset controller drivers from the reset maintainer (socfpga, sti,
           berlin)
         - fixes for the keystone navigator driver merged last time
         - at91 rtc driver changes related to the at91 cleanups
         - ARM perf driver changes from Will Deacon
         - updates for the brcmstb_gisb driver"
      
      * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (53 commits)
        clocksource: arch_timer: Allow the device tree to specify uninitialized timer registers
        clocksource: arch_timer: Fix code to use physical timers when requested
        memory: Add NVIDIA Tegra memory controller support
        bus: brcmstb_gisb: Add register offset tables for older chips
        bus: brcmstb_gisb: Look up register offsets in a table
        bus: brcmstb_gisb: Introduce wrapper functions for MMIO accesses
        bus: brcmstb_gisb: Make the driver buildable on MIPS
        of: Add NVIDIA Tegra memory controller binding
        ARM: tegra: Move AHB Kconfig to drivers/amba
        amba: Add Kconfig file
        clk: tegra: Implement memory-controller clock
        serial: samsung: Fix serial config dependencies for exynos7
        bus: brcmstb_gisb: resolve section mismatch
        ARM: common: edma: edma_pm_resume may be unused
        ARM: common: edma: add suspend resume hook
        powerpc/iommu: Rename iommu_[un]map_sg functions
        rtc: at91sam9: add DT bindings documentation
        rtc: at91sam9: use clk API instead of relying on AT91_SLOW_CLOCK
        ARM: at91: add clk_lookup entry for RTT devices
        rtc: at91sam9: rework the Kconfig description
        ...
      3a647c1d
    • Linus Torvalds's avatar
      Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6cd94d5e
      Linus Torvalds authored
      Pull ARM SoC platform changes from Arnd Bergmann:
       "New and updated SoC support, notable changes include:
      
         - bcm:
              brcmstb SMP support
              initial iproc/cygnus support
         - exynos:
              Exynos4415 SoC support
              PMU and suspend support for Exynos5420
              PMU support for Exynos3250
              pm related maintenance
         - imx:
              new LS1021A SoC support
              vybrid 610 global timer support
         - integrator:
              convert to using multiplatform configuration
         - mediatek:
              earlyprintk support for mt8127/mt8135
         - meson:
              meson8 soc and l2 cache controller support
         - mvebu:
              Armada 38x CPU hotplug support
              drop support for prerelease Armada 375 Z1 stepping
              extended suspend support, now works on Armada 370/XP
         - omap:
              hwmod related maintenance
              prcm cleanup
         - pxa:
              initial pxa27x DT handling
         - rockchip:
              SMP support for rk3288
              add cpu frequency scaling support
         - shmobile:
              r8a7740 power domain support
              various small restart, timer, pci apmu changes
         - sunxi:
              Allwinner A80 (sun9i) earlyprintk support
         - ux500:
              power domain support
      
        Overall, a significant chunk of changes, coming mostly from the usual
        suspects: omap, shmobile, samsung and mvebu, all of which already
        contain a lot of platform specific code in arch/arm"
      
      * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (187 commits)
        ARM: mvebu: use the cpufreq-dt platform_data for independent clocks
        soc: integrator: Add terminating entry for integrator_cm_match
        ARM: mvebu: add SDRAM controller description for Armada XP
        ARM: mvebu: adjust mbus controller description on Armada 370/XP
        ARM: mvebu: add suspend/resume DT information for Armada XP GP
        ARM: mvebu: synchronize secondary CPU clocks on resume
        ARM: mvebu: make sure MMU is disabled in armada_370_xp_cpu_resume
        ARM: mvebu: Armada XP GP specific suspend/resume code
        ARM: mvebu: reserve the first 10 KB of each memory bank for suspend/resume
        ARM: mvebu: implement suspend/resume support for Armada XP
        clk: mvebu: add suspend/resume for gatable clocks
        bus: mvebu-mbus: provide a mechanism to save SDRAM window configuration
        bus: mvebu-mbus: suspend/resume support
        clocksource: time-armada-370-xp: add suspend/resume support
        irqchip: armada-370-xp: Add suspend/resume support
        ARM: add lolevel debug support for asm9260
        ARM: add mach-asm9260
        ARM: EXYNOS: use u8 for val[] in struct exynos_pmu_conf
        power: reset: imx-snvs-poweroff: add power off driver for i.mx6
        ARM: imx: temporarily remove CONFIG_SOC_FSL from LS1021A
        ...
      6cd94d5e
    • Linus Torvalds's avatar
      Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6c9e9247
      Linus Torvalds authored
      Pull ARM SoC cleanups from Arnd Bergmann:
       "The remaining cleanups for 3.19 are to a large part result of
        devicetree conversion nearing completion on two other platforms
        besides AT91:
      
         - Like AT91, Renesas shmobile is in the process to migrate to DT and
           multiplatform, but using a different approach of doing it one SoC
           at a time.  For 3.19, the r8a7791 platform and associated "Koelsch"
           board are considered complete and we remove the non-DT
           non-multiplatform support for this.
      
         - The ARM Versatile Express has supported DT and multiplatform for a
           long time, but we have still kept the legacy board files around,
           because not all drivers were fully working before.  We have finally
           taken the last step to remove the board files.
      
        Other changes in this branch are preparation for the later branches or
        just unrelated to the more interesting changes:
      
         - The dts files for arm64 get moved into per-vendor directories for a
           clearer structure.
      
         - Some dead code removal (zynq, exynos, davinci, imx)
      
         - Using pr_*() macros more consistently instead of printk(KERN_*) in
           some platform code"
      
      * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (71 commits)
        ARM: zynq: Remove secondary_startup() declaration from header
        ARM: vexpress: Enable regulator framework when MMCI is in use
        ARM: vexpress: Remove non-DT code
        ARM: imx: Remove unneeded .map_io initialization
        ARM: dts: imx6qdl-sabresd: Fix the microphone route
        ARM: imx: refactor mxc_iomux_mode()
        ARM: imx: simplify clk_pllv3_prepare()
        ARM: imx6q: drop unnecessary semicolon
        ARM: imx: clean up machine mxc_arch_reset_init_dt reset init
        ARM: dts: imx6qdl-rex: Remove unneeded 'fsl,mode' property
        ARM: dts: imx6qdl-gw5x: Remove unneeded 'fsl,mode' property
        ARM: dts: imx6qdl-sabresd: Use IMX6QDL_CLK_CKO define
        ARM: at91: remove useless init_time for DT-only SoCs
        ARM: davinci: Remove redundant casts
        ARM: davinci: Use standard logging styles
        ARM: shmobile: r8a7779: Spelling/grammar s/entity/identity/, s/map/mapping/
        ARM: shmobile: sh7372: Spelling/grammar s/entity map/identity mapping/
        ARM: shmobile: sh73a0: Spelling/grammar s/entity map/identity mapping/
        ARM: EXYNOS: Remove unused static iomapping
        ARM: at91: fix build breakage due to legacy board removals
        ...
      6c9e9247
    • Linus Torvalds's avatar
      Merge tag 'at91-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 0563fdc0
      Linus Torvalds authored
      Pull ARM SoC cleanup on mach-at91 from Arnd Bergmann:
       "On Atmel AT91, the conversion to device tree is now considered
        complete, and all machines that were not already converted in 3.18 are
        assumed to be unused and dropped by the maintainer.
      
        All remaining board files that were written in C are dropped, and the
        ancient at91x40 sub-platform (based on an MMU-less ARM7) is removed
        altogether.  Cleaning up the last pieces was great fun, so I took the
        time to do some of the coding myself and removed several hundred code
        lines that ended up unused after the board files were done.
      
        There are still a couple of AT91 specific device drivers that are not
        converted to DT (CF, USB-OTG) and currently not working, and the
        platform itself is not "multiplatform"-enabled, but both issues are
        going to be taken care of in the 3.20 cycle.
      
        This is split out from the other cleanups purely based on the size of
        the branch"
      
      * tag 'at91-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (33 commits)
        ARM: at91: remove unused board.h file
        ARM: at91: remove unneeded header files
        ARM: at91/clocksource: remove !DT PIT initializations
        ARM: at91: at91rm9200 ST initialization is now DT only
        ARM: at91: remove old AT91-specific drivers
        ARM: at91: cleanup initilisation code by removing dead code
        ARM: at91/Kconfig: select board files automatically
        ARM: at91: remove unused IRQ function declarations
        ARM: at91: remove legacy IRQ driver and related code
        ARM: at91: remove old at91-specific clock driver
        ARM: at91: remove clock data in at91sam9n12.c and at91sam9x5.c files
        ARM: at91: remove all !DT related configuration options
        ARM: at91/trivial: update Kconfig comment to mention SAMA5
        ARM: at91: always USE_OF from now on
        ARM: at91/Kconfig: remove ARCH_AT91RM9200 option for drivers
        ARM: at91: switch configuration option to SOC_AT91RM9200
        ARM: at91: remove at91rm9200 legacy board support
        ARM: at91: remove at91rm9200 legacy boards files
        ARM: at91/Kconfig: remove useless fbdev Kconfig options
        ARM: at91: remove at91sam9261/at91sam9g10 legacy board support
        ...
      0563fdc0
    • Linus Torvalds's avatar
      Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 0a9e0acd
      Linus Torvalds authored
      Pull ARM SoC non-critical bug fixes from Arnd Bergmann:
       "These are bug fixes for harmless problems that were not important
        enough to get fixed in 3.19.  This contains updates to the MAINTAINERS
        file, in particular:
      
         - Ben Dooks stepped down as Samsung co-maintainer (thanks Ben for
           long years of maintaining this).  Kukjin Kim, who has been doing
           the work de-facto by himself recently is now the only maintainer.
      
         - Liviu, Sudeep and Lorenzo from ARM now officially maintain the
           Versatile Express platform, which was orphaned (thanks for
      
         - Gregory Fong and Florian Fainelli help out on the Broadcom BCM7XXX
           platform
      
         - Ray Jui and Scott Branden are the future maintainers for the newly
           merged Broadcom Cygnus platform.  Welcome!
      
        In terms of actual fixes, we have the usual set of OMAP bug fixes,
        which Tony Lindgren separates out well from the other OMAP changes,
        one really ep93xx regression fix against 3.11 that didn't make it for
        3.18, a few GIC changes from Marc Zyngier as a preparation for later
        rework (the current code is wrong in a harmless way), on Tegra
        regression and one samsung spelling fix"
      
      * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: imx6: fix bogus use of irq_get_irq_data
        ARM: imx: irq: fix buggy usage of irq_data irq field
        MAINTAINERS: ARM Versatile Express platform, add missing pattern
        MAINTAINERS: ARM Versatile Express platform
        arm: ep93xx: add dma_masks for the M2P and M2M DMA controllers
        MAINTAINERS: Add ahci_st.c to ARCH/STI architecture
        MAINTAINERS: add entry for the GISB arbiter driver
        MAINTAINERS: update brcmstb entries
        MAINTAINERS: update email address and cleanup for exynos entry
        ARM: tegra: Re-add removed SoC id macro to tegra_resume()
        MAINTAINERS: Entry for Cygnus/iproc arm architecture
        ARM: OMAP: serial: remove last vestige of DTR_gpio support.
        ARM: OMAP2+: gpmc: Get rid of "ti,elm-id not found" warning
        ARM: EXYNOS: fix typo in static struct name "exynos5_list_diable_wfi_wfe"
        ARM: OMAP2: Remove unnecessary KERN_* in omap_phy_internal.c
        ARM: OMAP4+: Remove unused omap_l3_noc platform init
        ARM: dts: Add twl keypad map for omap3 EVM
        ARM: dts: Add twl keypad map for LDP
        ARM: dts: Fix NAND last partition size on LDP
        ARM: OMAP3: Fix errors for omap_l3_smx when booted with device tree
      0a9e0acd
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · b64bb1d7
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
       "Here's the usual mixed bag of arm64 updates, also including some
        related EFI changes (Acked by Matt) and the MMU gather range cleanup
        (Acked by you).
      
        Changes include:
         - support for alternative instruction patching from Andre
         - seccomp from Akashi
         - some AArch32 instruction emulation, required by the Android folks
         - optimisations for exception entry/exit code, cmpxchg, pcpu atomics
         - mmu_gather range calculations moved into core code
         - EFI updates from Ard, including long-awaited SMBIOS support
         - /proc/cpuinfo fixes to align with the format used by arch/arm/
         - a few non-critical fixes across the architecture"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (70 commits)
        arm64: remove the unnecessary arm64_swiotlb_init()
        arm64: add module support for alternatives fixups
        arm64: perf: Prevent wraparound during overflow
        arm64/include/asm: Fixed a warning about 'struct pt_regs'
        arm64: Provide a namespace to NCAPS
        arm64: bpf: lift restriction on last instruction
        arm64: Implement support for read-mostly sections
        arm64: compat: align cacheflush syscall with arch/arm
        arm64: add seccomp support
        arm64: add SIGSYS siginfo for compat task
        arm64: add seccomp syscall for compat task
        asm-generic: add generic seccomp.h for secure computing mode 1
        arm64: ptrace: allow tracer to skip a system call
        arm64: ptrace: add NT_ARM_SYSTEM_CALL regset
        arm64: Move some head.text functions to executable section
        arm64: jump labels: NOP out NOP -> NOP replacement
        arm64: add support to dump the kernel page tables
        arm64: Add FIX_HOLE to permanent fixed addresses
        arm64: alternatives: fix pr_fmt string for consistency
        arm64: vmlinux.lds.S: don't discard .exit.* sections at link-time
        ...
      b64bb1d7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 50569687
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/mm: Eliminate memset after alloc_bootmem_pages
        nubus: Remove superfluous interrupt disable/restore
      50569687
    • Linus Torvalds's avatar
      Merge tag 'nios2-v3.19-rc1' of git://git.rocketboards.org/linux-socfpga-next · a4a26e8e
      Linus Torvalds authored
      
      
      Pull Altera Nios II processor support from Ley Foon Tan:
       "Here is the Linux port for Nios II processor (from Altera) arch/nios2/
        tree for v3.19.
      
        The patchset has been discussed on the kernel mailing lists since
        April and has gone through 6 revisions of review.  The additional
        changes since then have been mostly further cleanups and fixes when
        merged with other trees.
      
        The arch code is in arch/nios2 and one asm-generic change (acked by
        Arnd)"
      
      Arnd Bergmann says:
       "I've reviewed the architecture port in the past and it looks good in
        its latest version"
      
      Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
      
      * tag 'nios2-v3.19-rc1' of git://git.rocketboards.org/linux-socfpga-next: (40 commits)
        nios2: Make NIOS2_CMDLINE_IGNORE_DTB depend on CMDLINE_BOOL
        nios2: Add missing NR_CPUS to Kconfig
        nios2: asm-offsets: Remove unused definition TI_TASK
        nios2: Remove write-only struct member from nios2_timer
        nios2: Remove unused extern declaration of shm_align_mask
        nios2: include linux/type.h in io.h
        nios2: move include asm-generic/io.h to end of file
        nios2: remove include asm-generic/iomap.h from io.h
        nios2: remove unnecessary space before define
        nios2: fix error handling of irq_of_parse_and_map
        nios2: Use IS_ENABLED instead of #ifdefs to check config symbols
        nios2: Build infrastructure
        Documentation: Add documentation for Nios2 architecture
        MAINTAINERS: Add nios2 maintainer
        nios2: ptrace support
        nios2: Module support
        nios2: Nios2 registers
        nios2: Miscellaneous header files
        nios2: Cpuinfo handling
        nios2: Time keeping
        ...
      a4a26e8e
  3. Dec 09, 2014
    • Linus Torvalds's avatar
      Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · f3f62a38
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This patch is the usual mix of driver updates (srp, ipr, scsi_debug,
        NCR5380, fnic, 53c974, ses, wd719x, hpsa, megaraid_sas).
      
        Of those, wd7a9x is new and 53c974 is a rewrite of the old tmscsim
        driver and the extensive work by Finn Thain rewrites all the NCR5380
        based drivers.
      
        There's also extensive infrastructure updates: a new logging
        infrastructure for sense information and a rewrite of the tagged
        command queue API and an assortment of minor updates"
      
      * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (183 commits)
        scsi: set fmt to NULL scsi_extd_sense_format() by default
        libsas: remove task_collector mode
        wd719x: remove dma_cache_sync call
        scsi_debug: add Report supported opcodes+tmfs; Compare and write
        scsi_debug: change SCSI command parser to table driven
        scsi_debug: add Capacity Changed Unit Attention
        scsi_debug: append inject error flags onto scsi_cmnd object
        scsi_debug: pinpoint invalid field in sense data
        wd719x: Add firmware documentation
        wd719x: Introduce Western Digital WD7193/7197/7296 PCI SCSI card driver
        eeprom-93cx6: Add (read-only) support for 8-bit mode
        esas2r: fix an oversight in setting return value
        esas2r: fix an error path in esas2r_ioctl_handler
        esas2r: fir error handling in do_fm_api
        scsi: add SPC-3 command definitions
        scsi: rename SERVICE_ACTION_IN to SERVICE_ACTION_IN_16
        scsi: remove scsi_driver owner field
        scsi: move scsi_dispatch_cmd to scsi_lib.c
        scsi: stop passing a gfp_mask argument down the command setup path
        scsi: remove scsi_next_command
        ...
      f3f62a38
    • Linus Torvalds's avatar
      Merge tag 'dm-3.19-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 140dfc92
      Linus Torvalds authored
      Pull device mapper updates from Mike Snitzer:
      
       - Significant DM thin-provisioning performance improvements to meet
         performance requirements that were requested by the Gluster
         distributed filesystem.
      
         Specifically, dm-thinp now takes care to aggregate IO that will be
         issued to the same thinp block before issuing IO to the underlying
         devices.  This really helps improve performance on HW RAID6 devices
         that have a writeback cache because it avoids RMW in the HW RAID
         controller.
      
       - Some stable fixes: fix leak in DM bufio if integrity profiles were
         enabled, use memzero_explicit in DM crypt to avoid any potential for
         information leak, and a DM cache fix to properly mark a cache block
         dirty if it was promoted to the cache via the overwrite optimization.
      
       - A few simple DM persistent data library fixes
      
       - DM cache multiqueue policy block promotion improvements.
      
       - DM cache discard improvements that take advantage of range
         (multiblock) discard support in the DM bio-prison.  This allows for
         much more efficient bulk discard processing (e.g.  when mkfs.xfs
         discards the entire device).
      
       - Some small optimizations in DM core and RCU deference cleanups
      
       - DM core changes to suspend/resume code to introduce the new internal
         suspend/resume interface that the DM thin-pool target now uses to
         suspend/resume active thin devices when the thin-pool must
         suspend/resume.
      
         This avoids forcing userspace to track all active thin volumes in a
         thin-pool when the thin-pool is suspended for the purposes of
         metadata or data space resize.
      
      * tag 'dm-3.19-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (49 commits)
        dm crypt: use memzero_explicit for on-stack buffer
        dm space map metadata: fix sm_bootstrap_get_count()
        dm space map metadata: fix sm_bootstrap_get_nr_blocks()
        dm bufio: fix memleak when using a dm_buffer's inline bio
        dm cache: fix spurious cell_defer when dealing with partial block at end of device
        dm cache: dirty flag was mistakenly being cleared when promoting via overwrite
        dm cache: only use overwrite optimisation for promotion when in writeback mode
        dm cache: discard block size must be a multiple of cache block size
        dm cache: fix a harmless race when working out if a block is discarded
        dm cache: when reloading a discard bitset allow for a different discard block size
        dm cache: fix some issues with the new discard range support
        dm array: if resizing the array is a noop set the new root to the old one
        dm: use rcu_dereference_protected instead of rcu_dereference
        dm thin: fix pool_io_hints to avoid looking at max_hw_sectors
        dm thin: suspend/resume active thin devices when reloading thin-pool
        dm: enhance internal suspend and resume interface
        dm thin: do not allow thin device activation while pool is suspended
        dm: add presuspend_undo hook to target_type
        dm: return earlier from dm_blk_ioctl if target doesn't implement .ioctl
        dm thin: remove stale 'trim' message in block comment above pool_message
        ...
      140dfc92
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · f94784bd
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "The main thing this time around is support for suspend mode
        configuration from DT which will enable some very useful power savings
        on systems where we can't rely on the bootloader configuration.  We
        still don't really support dynamic configuration of this at runtime,
        that may come later if there is any demand.
      
        Summary:
         - Support for specifying the target regulation mode and voltage
           during system suspend via DT, enabling power savings in that mode.
         - Reduce the default verbosity of the logging on boot, improving boot
           times especially for systems with very large numbers of regulators.
         - Lots of cleanups and fixes for Maxim PMIC drivers.
         - New driver for Richtek RT5033"
      
      * tag 'regulator-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (62 commits)
        regulator: core: Fix regualtor_ena_gpio_free not to access pin after freeing
        regulator: sky81452: Modify Device Tree structure
        regulator: sky81452: Modify Device Tree structure
        dt-bindings: Update documentation for "system-power-controller" and fix misspellings
        of: Rename "poweroff-source" property to "system-power-controller"
        regulator: max77686: Remove support for board files
        regulator: max77802: Remove support for board files
        regulator: max77802: Fill regulator modes translation callback
        regulator: max77802: Document binding for regulator operating modes
        regulator: of: Add support for parsing initial and suspend modes
        regulator: of: Pass the regulator description in the match table
        regulator: of: Add regulator desc param to of_get_regulator_init_data()
        regulator: Add mode mapping function to struct regulator_desc
        regulator: Document binding for initial and suspend modes
        regulator: core: Add PRE_DISABLE notification
        regulator: gpio: fix parsing of gpio list
        regulator: rpm: add support for RPM-controller SMB208
        regulator: da9063: Do not transform local IRQ to virtual
        regulator: sky81452: Modify dependent Kconfig symbol
        regulator: rt5033: Add RT5033 Regulator device driver
        ...
      f94784bd
    • Linus Torvalds's avatar
      Merge tag 'regmap-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · de740386
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A couple of new features this time around, nothing that should have
        any impact on most users:
      
         - Cleanups and optimization of the path for reading back the register
           defaults from the hardware at startup, reducing boot times for
           devices that use this (most don't, either populating on demand or
           providing defaults).
         - A bus implementation for AC'97 devices"
      
      * tag 'regmap-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: ac97: Add generic AC'97 callbacks
        regmap: cache: Sort include headers alphabetically
        regmap: cache: Fix possible ZERO_SIZE_PTR pointer dereferencing error.
        regmap: cache: use kmalloc_array instead of kmalloc
        regmap: cache: speed regcache_hw_init() up.
        regmap: cache: fix errno in regcache_hw_init()
        regmap: cache: cleanup regcache_hw_init()
        regmap: cache: fix errno in regcache_hw_init()
      de740386
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-3.19' of... · 177808cd
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       "Notable changes:
         - new driver for NCT7802Y
         - support for TMP435, LM95233, LM95235, NCT6792D, and NXP LM75B
         - regulator support for PMBus chips, specifically LTX2978
         - support for humidity sensors to iio-hwmon bridge driver
      
      * tag 'hwmon-for-linus-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (21 commits)
        hwmon: (tmp401) Detect TMP435 on all addresses it supports
        hwmon: (lm75) Strengthen detect function
        hwmon: (gpio-fan) Add a shutdown handler to poweroff the fans
        hwmon: (gpio-fan) Allow usage of gpio operations that may sleep
        hwmon: (tmp401) Bail out from tmp401_probe() in case of write errors
        hwmon: (tmp401) Add support for TI TMP435
        hwmon: (lm95234) Add support for LM95233
        hwmon: (lm95245) Add support for LM95235
        hwmon: (ina2xx) bail-out from ina2xx_probe() in case of configuration errors
        hwmon: (nct6775) Add blank lines after declarations
        hwmon: (nct6775) Add support for NCT6792D
        hwmon: (nct6775) Documentation updates
        hwmon: (lm75) Add support for the NXP LM75B
        hwmon: Driver for Nuvoton NCT7802Y
        hwmon: (ibmpowernv) Convert to module_platform_driver
        hwmon: (ibmpowernv) Use platform 'id_table' to probe the device
        hwmon: (iio_hwmon) Add support for humidity sensors
        hwmon: (ltc2978) Add regulator support
        hwmon: (pmbus) Add regulator support
        hwmon: (pmbus) add helpers for byte write and read modify write
        ...
      177808cd
    • Linus Torvalds's avatar
      Merge tag 'edac_for_3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 0160928e
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
       "EDAC updates all over the place:
      
         - Enablement for AMD F15h models 0x60 CPUs.  Most notably DDR4 RAM
           support.  Out of tree stuff is adding the required PCI IDs.  From
           Aravind Gopalakrishnan.
      
         - Enable amd64_edac for 32-bit due to popular demand.  From Tomasz
           Pala.
      
         - Convert the AMD MCE injection module to debugfs, where it belongs.
      
         - Misc EDAC cleanups"
      
      * tag 'edac_for_3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, MCE, AMD: Correct formatting of decoded text
        EDAC, mce_amd_inj: Add an injector function
        EDAC, mce_amd_inj: Add hw-injection attributes
        EDAC, mce_amd_inj: Enable direct writes to MCE MSRs
        EDAC, mce_amd_inj: Convert mce_amd_inj module to debugfs
        EDAC: Delete unnecessary check before calling pci_dev_put()
        EDAC, pci_sysfs: remove unneccessary ifdef around entire file
        ghes_edac: Use snprintf() to silence a static checker warning
        amd64_edac: Build module on x86-32
        EDAC, MCE, AMD: Add decoding table for MC6 xec
        amd64_edac: Add F15h M60h support
        {mv64x60,ppc4xx}_edac,: Remove deprecated IRQF_DISABLED
        EDAC: Sync memory types and names
        EDAC: Add DDR3 LRDIMM entries to edac_mem_types
        x86, amd_nb: Add device IDs to NB tables for F15h M60h
        pci_ids: Add PCI device IDs for F15h M60h
      0160928e
    • Linus Torvalds's avatar
      Merge tag 'mfd-for-linus-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 3a7dbed7
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "Changes to the core:
         - Honour PLATFORM_DEVID_NONE and PLATFORM_DEVID_AUTO dev IDs
      
        Changes to existing drivers:
         - IRQ additions/fixes; axp20x, da9063-core
         - Code simplification; i2c-dln2
         - Regmap additions/fixes; max77693
         - Error checking/handling improvements; dln2, db8500-prcmu
         - Bug fixes; dln2, wm8350-core
         - DT support/documentation; max77693, max77686, tps65217, twl4030-power,
                                     gpio-tc3589x
         - Decouple syscon interface from platform devices
         - Use MFD hotplug registration; rtsx_usb, viperboard, hid-sensor-hub
         - Regulator fixups; sec-core
         - Power Management additions/fixes; rts5227, tc6393xb
         - Remove relic/redundant code; ab8500-sysctrl, lpc_sch, max77693-private
         - Clean-up/coding style changes; tps65090
         - Clk additions/fixes; tc6393xb, tc6387xb, t7l66xb
         - Add USB-SPI support; dln2
         - Trivial changes; max14577, arizona-spi, lpc_sch, wm8997-tables, wm5102-tables
                            wm5110-tables, axp20x, atmel-hlcdc, rtsx_pci
      
        New drivers/supported devices:
         - axp288 PMIC support added to axp20x
         - s2mps13 support added to sec-core
         - New support for Diolan DLN-2
         - New support for atmel-hlcdc"
      
      * tag 'mfd-for-linus-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (55 commits)
        mfd: rtsx: Add func to split u32 into register
        mfd: atmel-hlcdc: Add Kconfig option description and name
        mfd: da9063: Get irq base dynamically before registering device
        mfd: max14577: Fix obvious typo in company name in copyright
        mfd: axp20x: Constify axp20x_acpi_match and rid unused warning
        mfd: t7l66xb: prepare/unprepare clocks
        mfd: tc6387xb: prepare/unprepare clocks
        mfd: dln2: add support for USB-SPI module
        mfd: wm5110: Add missing registers for AIF2 channels 3-6
        mfd: tc3589x: get rid of static base
        mfd: arizona: Document HP_CTRL_1L and HP_CTRL_1R registers
        mfd: wm8997: Mark INTERRUPT_STATUS_2_MASK as readable
        mfd: tc6393xb: Prepare/unprepare clocks
        mfd: tps65090: Fix bonkers indenting strategy
        mfd: tc6393xb: Fail ohci suspend if full state restore is required
        mfd: lpc_sch: Don't call mfd_remove_devices()
        mfd: wm8350-core: Fix probable mask then right shift defect
        mfd: ab8500-sysctrl: Drop ab8500_restart
        mfd: db8500-prcmu: Provide sane error path values
        mfd: db8500-prcmu: Check return of devm_ioremap for error
        ...
      3a7dbed7
    • Linus Torvalds's avatar
      Merge tag 'mmc-v3.19-1' of git://git.linaro.org/people/ulf.hansson/mmc · f2fb3804
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Consolidation and cleanups.
         - Some improvements regarding error handling.
         - Increase maximum amount of block devices.
         - Use correct OCR mask for SDIO when restoring power.
         - Fix prepared requests while doing BKOPS.
         - Convert to modern PM ops.
         - Add mmc_send_tuning() API and convert some hosts to use it.
      
        MMC host:
         - toshsd: New Toshiba PCI SD controller driver.
         - sdhci: 64-bit ADMA support.
         - sdhci: Some regulator fixes.
         - sdhci: HS400 support.
         - sdhci: Various fixes cleanups.
         - atmel-mci: Modernization and cleanups.
         - atmel-mci: Runtime PM support.
         - omap_hsmmc: Modernization and cleanups.
         - omap_hsmmc: Fix UHS card with DDR50 support.
         - dw_mmc: Support for ARM64 and Exynos 7 variant.
         - dw_mmc: Add support for IMG Pistachio variant.
         - dw_mmc: Various fixes and cleanups.
         - mvsdio: DMA fixes.
         - mxs-mmc: Modernization and cleanups.
         - mxcmmc: Various fixes"
      
      * tag 'mmc-v3.19-1' of git://git.linaro.org/people/ulf.hansson/mmc: (126 commits)
        mmc: sdhci-msm: Convert to mmc_send_tuning()
        mmc: sdhci-esdhc-imx: Convert to mmc_send_tuning()
        mmc: core: Let mmc_send_tuning() to take struct mmc_host* as parameter
        mmc: queue: Improve error handling during allocation of bounce buffers
        mmc: sdhci-acpi: Add two host capabilities for Intel
        mmc: sdhci-pci: Add two host capabilities for BYT
        mmc: sdhci-acpi: Add SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC
        mmc: sdhci-pci: Add SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC to BYT
        mmc: atmel-mci: use probe deferring if dma controller is not ready yet
        mmc: atmel-mci: stop using specific initcall
        mmc: atmel-mci: remove __init/__exit attributes
        mmc: atmel-mci: remove useless DMA stuff for non-dt devices
        mmc: omap_hsmmc: Fix UHS card with DDR50 support
        mmc: core: add core-level function for sending tuning commands
        mmc: core: hold SD Clock before CMD11 during Signal
        mmc: mxs-mmc: Check for clk_prepare_enable() error
        mmc: mxs-mmc: Propagate the real error
        mmc: mxs-mmc: No need to do NULL check on 'iores'
        mmc: dw_mmc: Add support for IMG Pistachio
        mmc: mxs-mmc: Simplify PM hooks
        ...
      f2fb3804
    • Arnd Bergmann's avatar
      Merge branch 'at91/cleanup5' into next/drivers · 5db45002
      Arnd Bergmann authored
      
      
      The at91 cleanups changed a lot of files, this merges in the
      latest cleanups to resolve the conflicts
      
      Conflicts:
      	arch/arm/mach-at91/at91sam9260.c
      	arch/arm/mach-at91/at91sam9261.c
      	arch/arm/mach-at91/at91sam9263.c
      	arch/arm/mach-at91/clock.c
      	arch/arm/mach-at91/clock.h
      	drivers/rtc/Kconfig
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      5db45002
    • Arnd Bergmann's avatar
      Merge branch 'brcm/stb-smp-uart' into next/drivers · 71354661
      Arnd Bergmann authored
      
      
      This resolves a nonobvious merge conflict that I got wrong the
      first time.
      
      * brcm/stb-smp-uart:
        bus: brcmstb_gisb: save and restore GISB timeout
        bus: brcmstb_gisb: register the fault code hook
        ARM: brcmstb: Kconfig: drop unneeded symbol selections
        ARM: brcmstb: reintroduce SMP support
        ARM: brcmstb: add debug UART for earlyprintk support
      
      Conflicts:
      	drivers/bus/brcmstb_gisb.c
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Reported-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      71354661
  4. Dec 08, 2014