1. 11 12月, 2014 23 次提交
    • X
      ocfs2: do not set OCFS2_LOCK_UPCONVERT_FINISHING if nonblocking lock can not be granted at once · d1e78238
      Xue jiufei 提交于
      ocfs2_readpages() use nonblocking flag to avoid page lock inversion.  It
      will trigger cluster hang because that flag OCFS2_LOCK_UPCONVERT_FINISHING
      is not cleared if nonblocking lock cannot be granted at once.  The flag
      would prevent dc thread from downconverting.  So other nodes cannot
      acheive this lockres for ever.
      
      So we should not set OCFS2_LOCK_UPCONVERT_FINISHING when receiving ast if
      nonblocking lock had already returned.
      Signed-off-by: Njoyce.xue <xuejiufei@huawei.com>
      Reviewed-by: NJunxiao Bi <junxiao.bi@oracle.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d1e78238
    • J
      ocfs2: fix error handling when creating debugfs root in ocfs2_init() · dc171580
      Jan Kara 提交于
      Error handling if creation of root of debugfs in ocfs2_init() fails is
      broken.  Although error code is set we fail to exit ocfs2_init() with
      error and thus initialization ends with success.  Later when mounting a
      filesystem, ocfs2 debugfs entries end up being created in the root of
      debugfs filesystem which is confusing.
      
      Fix the error handling to bail out.
      
      Coverity id: 1227009.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Reviewed-by: NJoseph Qi <joseph.qi@huawei.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      dc171580
    • G
      ocfs2: remove filesize checks for sync I/O journal commit · 86b9c6f3
      Goldwyn Rodrigues 提交于
      Filesize is not a good indication that the file needs to be synced.
      An example where this breaks is:
       1. Open the file in O_SYNC|O_RDWR
       2. Read a small portion of the file (say 64 bytes)
       3. Lseek to starting of the file
       4. Write 64 bytes
      
      If the node crashes, it is not written out to disk because this was not
      committed in the journal and the other node which reads the file after
      recovery reads stale data (even if the write on the other node was
      successful)
      Signed-off-by: NGoldwyn Rodrigues <rgoldwyn@suse.de>
      Reviewed-by: NMark Fasheh <mfasheh@suse.de>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      86b9c6f3
    • J
      ocfs2: o2net: fix connect expired · 196fe71d
      Junxiao Bi 提交于
      Set nn_persistent_error to -ENOTCONN will stop reconnect since the
      "stop" condition in o2net_start_connect() will be true.
      
          stop = (nn->nn_sc ||
                      (nn->nn_persistent_error &&
                      (nn->nn_persistent_error != -ENOTCONN || timeout == 0)));
      
      This will make connection never be established if the first connection
      request is lost.
      
      Set nn_persistent_error to 0 when connect expired to fix this.  With
      this changes, dlm will not be waken up when connect expired, this is OK
      since dlm depends on network, dlm can do nothing in this case if waken
      up.  Let it wait there for network recover and connect built again to
      continue.
      Signed-off-by: NJunxiao Bi <junxiao.bi@oracle.com>
      Reviewed-by: NSrinivas Eeda <srinivas.eeda@oracle.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      196fe71d
    • S
      ocfs2: o2dlm: fix a race between purge and master query · cb79662b
      Srinivas Eeda 提交于
      Node A sends master query request to node B which is the master.  At this
      time lockres happens to be on purgelist.  dlm_master_request_handler gets
      the dlm spinlock, finds the resource and releases the dlm spin lock.
      Right at this dlm_thread on this node could purge the lockres.
      dlm_master_request_handler can then acquire lockres spinlock and reply to
      Node A that node B is the master even though lockres on node B is purged.
      
      The above scenario will now make node A falsely think node B is the master
      which is inconsistent.  Further if another node C tries to master the same
      resource, every node will respond they are not the master.  Node C then
      masters the resource and sends assert master to all nodes.  This will now
      make node A crash with the following message.
      
      dlm_assert_master_handler:1831 ERROR: DIE! Mastery assert from 9, but current
      owner is 10!
      Signed-off-by: NSrinivas Eeda <srinivas.eeda@oracle.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Reviewed-by: NWengang Wang <wen.gang.wang@oracle.com>
      Tested-by: NJoseph Qi <joseph.qi@huawei.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cb79662b
    • J
      ocfs2: report error from o2hb_do_disk_heartbeat() to user · f5425fce
      Jan Kara 提交于
      Report return value of o2hb_do_disk_heartbeat() as a part of ML_HEARTBEAT
      message so that we know whether a heartbeat actually happened or not.
      This also makes assigned but otherwise unused 'ret' variable used.
      
      Coverity id: 1227053.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f5425fce
    • J
      ocfs2: remove bogus test from ocfs2_read_locked_inode() · 4a635a11
      Jan Kara 提交于
      'args' are always set for ocfs2_read_locked_inode() and brelse() checks
      whether bh is NULL.  So the test (args && bh) is unnecessary (plus the
      args part is really confusing anyway).  Remove it.
      
      Coverity id: 1128856.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4a635a11
    • J
      ocfs2: Fix xattr check in ocfs2_get_xattr_nolock() · 2b693005
      Jan Kara 提交于
      ocfs2_get_xattr_nolock() checks whether inode has any extended attributes
      (OCFS2_HAS_XATTR_FL).  If not, it just sets 'ret' to -ENODATA but
      continues with checking inline and external attributes anyway (which is
      pointless although it does not harm).  Just return immediately when we
      know there are no extended attributes in the inode.
      
      Coverity id: 1226906.
      Signed-off-by: NJan Kara <jack@suse.cz>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2b693005
    • D
      ocfs2: fix an off-by-one BUG_ON() statement · 519a2861
      Dan Carpenter 提交于
      The ->si_slots[] array is allocated in ocfs2_init_slot_info() it has
      "->max_slots" number of elements so this test should be >= instead of >.
      
      Static checker work.  Compile tested only.
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      519a2861
    • J
      ocfs2/dlm: let sender retry if dlm_dispatch_assert_master failed with -ENOMEM · f08736bd
      Joseph Qi 提交于
      Do not BUG() if GFP_ATOMIC allocation fails in dlm_dispatch_assert_master.
      Instead, return -ENOMEM to the sender and then retry.
      Signed-off-by: NJoseph Qi <joseph.qi@huawei.com>
      Reviewed-by: NAlex Chen <alex.chen@huawei.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f08736bd
    • D
      sh: off by one BUG_ON() in setup_bootmem_node() · ded00142
      Dan Carpenter 提交于
      This off by one bug is harmless but it upsets the static checkers and the
      code is obvious so it doesn't hurt to fix it.  The Smatch warning is:
      
          arch/sh/mm/numa.c:47 setup_bootmem_node()
          error: buffer overflow 'node_data' 1024 <= 1024
      Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ded00142
    • J
      scripts/kernel-doc: don't eat struct members with __aligned · 7b990789
      Johannes Berg 提交于
      The change from \d+ to .+ inside __aligned() means that the following
      structure:
      
        struct test {
              u8 a __aligned(2);
              u8 b __aligned(2);
        };
      
      essentially gets modified to
      
        struct test {
              u8 a;
        };
      
      for purposes of kernel-doc, thus dropping a struct member, which in
      turns causes warnings and invalid kernel-doc generation.
      
      Fix this by replacing the catch-all (".") with anything that's not a
      semicolon ("[^;]").
      
      Fixes: 9dc30918 ("scripts/kernel-doc: handle struct member __aligned without numbers")
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Cc: Nishanth Menon <nm@ti.com>
      Cc: Randy Dunlap <rdunlap@infradead.org>
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7b990789
    • F
      dma-debug: prevent early callers from crashing · 2ce8e7ed
      Florian Fainelli 提交于
      dma_debug_init() is called by architecture specific code at different
      levels, but typically as a fs_initcall due to the debugfs initialization.
      Some platforms may have early callers of the DMA-API, running prior to the
      fs_initcall() level, which is not much of an issue unless
      CONFIG_DMA_API_DEBUG is set.  When the DMA-API debugging facilities are
      turned on a caller will go through:
      
      debug_dma_map_{single,page}
        -> dma_mapping_error (inline function usually)
          -> debug_dma_mapping_error
            -> get_hash_bucket
      
      Calling get_hash_bucket() returns a valid hash value since we hash on high
      bits of the dma_addr cookie, but we will grab an unitialized spinlock,
      which typically won't crash but produce a warning, the real crash will
      however happen during the bucket list traversal because the list has not
      been initialized yet.
      
      An obvious solution is of course to move some of the offenders to run
      after the fs_initcall level, but since this might not always be an option,
      we add a flag "dma_debug_initialized" which is set to false by default,
      and set to true once dma_debug_init() has had a chance to run.
      
      The dma_debug_disabled() helper function previously introduced just needs
      to check for dma_debug_initialized to allow the caller to proceed or not.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Horia Geanta <horia.geanta@freescale.com>
      Cc: Brian Norris <computersforpeace@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2ce8e7ed
    • F
      dma-debug: introduce dma_debug_disabled · 01ce18b3
      Florian Fainelli 提交于
      Add a helper function which returns whether the DMA debugging API is
      disabled, right now we only check for global_disable, but in order to
      accommodate early callers of the DMA-API, we will check for more
      initialization flags in the next patch.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Horia Geanta <horia.geanta@freescale.com>
      Cc: Brian Norris <computersforpeace@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      01ce18b3
    • F
      fs/cifs/smb2file.c: replace count*size kzalloc by kcalloc · 662e9b2b
      Fabian Frederick 提交于
      kcalloc manages count*sizeof overflow.
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Cc: Steve French <sfrench@samba.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      662e9b2b
    • F
      fs/cifs/file.c: replace count*size kzalloc by kcalloc · 4b99d39b
      Fabian Frederick 提交于
      kcalloc manages count*sizeof overflow.
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Cc: Steve French <sfrench@samba.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4b99d39b
    • F
      fs/cifs: remove obsolete __constant · bc09d141
      Fabian Frederick 提交于
      Replace all __constant_foo to foo() except in smb2status.h (1700 lines to
      update).
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Cc: Steve French <sfrench@samba.org>
      Cc: Jeff Layton <jlayton@poochiereds.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bc09d141
    • J
      mm/CMA: fix boot regression due to physical address of high_memory · 6b101e2a
      Joonsoo Kim 提交于
      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: NJoonsoo Kim <iamjoonsoo.kim@lge.com>
      Reported-by: NIngo Molnar <mingo@kernel.org>
      Tested-by: NIngo 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6b101e2a
    • L
      Merge branch 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d8201269
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'x86-mpx-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3eb5b893
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9e66645d
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ecb50f0a
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a157508c
      Linus Torvalds 提交于
      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. 10 12月, 2014 17 次提交
    • L
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 86c6a2fd
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · bee2782f
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5706ffd0
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c3011060
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9c37f959
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · a0e44677
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · ed8efd2d
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 151cd976
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'omap-gpmc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · fe78c54b
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6da31412
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 3a647c1d
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6cd94d5e
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6c9e9247
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'at91-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 0563fdc0
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 0a9e0acd
      Linus Torvalds 提交于
      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
    • L
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · b64bb1d7
      Linus Torvalds 提交于
      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
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 50569687
      Linus Torvalds 提交于
      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