1. 25 6月, 2015 31 次提交
    • D
      slab: correct size_index table before replacing the bootstrap kmem_cache_node · 34cc6990
      Daniel Sanders 提交于
      This patch moves the initialization of the size_index table slightly
      earlier so that the first few kmem_cache_node's can be safely allocated
      when KMALLOC_MIN_SIZE is large.
      
      There are currently two ways to generate indices into kmalloc_caches (via
      kmalloc_index() and via the size_index table in slab_common.c) and on some
      arches (possibly only MIPS) they potentially disagree with each other
      until create_kmalloc_caches() has been called.  It seems that the
      intention is that the size_index table is a fast equivalent to
      kmalloc_index() and that create_kmalloc_caches() patches the table to
      return the correct value for the cases where kmalloc_index()'s
      if-statements apply.
      
      The failing sequence was:
      * kmalloc_caches contains NULL elements
      * kmem_cache_init initialises the element that 'struct
        kmem_cache_node' will be allocated to. For 32-bit Mips, this is a
        56-byte struct and kmalloc_index returns KMALLOC_SHIFT_LOW (7).
      * init_list is called which calls kmalloc_node to allocate a 'struct
        kmem_cache_node'.
      * kmalloc_slab selects the kmem_caches element using
        size_index[size_index_elem(size)]. For MIPS, size is 56, and the
        expression returns 6.
      * This element of kmalloc_caches is NULL and allocation fails.
      * If it had not already failed, it would have called
        create_kmalloc_caches() at this point which would have changed
        size_index[size_index_elem(size)] to 7.
      
      I don't believe the bug to be LLVM specific but GCC doesn't normally
      encounter the problem.  I haven't been able to identify exactly what GCC
      is doing better (probably inlining) but it seems that GCC is managing to
      optimize to the point that it eliminates the problematic allocations.
      This theory is supported by the fact that GCC can be made to fail in the
      same way by changing inline, __inline, __inline__, and __always_inline in
      include/linux/compiler-gcc.h such that they don't actually inline things.
      Signed-off-by: NDaniel Sanders <daniel.sanders@imgtec.com>
      Acked-by: NPekka Enberg <penberg@kernel.org>
      Acked-by: NChristoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      34cc6990
    • G
      mm/slab_common: support the slub_debug boot option on specific object size · 4066c33d
      Gavin Guo 提交于
      The slub_debug=PU,kmalloc-xx cannot work because in the
      create_kmalloc_caches() the s->name is created after the
      create_kmalloc_cache() is called.  The name is NULL in the
      create_kmalloc_cache() so the kmem_cache_flags() would not set the
      slub_debug flags to the s->flags.  The fix here set up a kmalloc_names
      string array for the initialization purpose and delete the dynamic name
      creation of kmalloc_caches.
      
      [akpm@linux-foundation.org: s/kmalloc_names/kmalloc_info/, tweak comment text]
      Signed-off-by: NGavin Guo <gavin.guo@canonical.com>
      Acked-by: NChristoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4066c33d
    • A
      xtensa: use for_each_sg() · 3693a84d
      Akinobu Mita 提交于
      This replaces the plain loop over the sglist array with for_each_sg()
      macro which consists of sg_next() function calls.  Since xtensa doesn't
      select ARCH_HAS_SG_CHAIN, it is not necessary to use for_each_sg() in
      order to loop over each sg element.  But this can help find problems
      with drivers that do not properly initialize their sg tables when
      CONFIG_DEBUG_SG is enabled.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: Max Filippov <jcmvbkbc@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3693a84d
    • C
      procfs: treat parked tasks as sleeping for task state · f51c0eae
      Chris Metcalf 提交于
      Allowing watchdog threads to be parked means that we now have the
      opportunity of actually seeing persistent parked threads in the output
      of /proc/<pid>/stat and /proc/<pid>/status.  The existing code reported
      such threads as "Running", which is kind-of true if you think of the
      case where we park them as part of taking cpus offline.  But if we allow
      parking them indefinitely, "Running" is pretty misleading, so we report
      them as "Sleeping" instead.
      
      We could simply report them with a new string, "Parked", but it feels
      like it's a bit risky for userspace to see unexpected new values; the
      output is already documented in Documentation/filesystems/proc.txt, and
      it seems like a mistake to change that lightly.
      
      The scheduler does report parked tasks with a "P" in debugging output
      from sched_show_task() or dump_cpu_task(), but that's a different API.
      Similarly, the trace_ctxwake_* routines report a "P" for parked tasks,
      but again, different API.
      
      This change seemed slightly cleaner than updating the task_state_array
      to have additional rows.  TASK_DEAD should be subsumed by the exit_state
      bits; TASK_WAKEKILL is just a modifier; and TASK_WAKING can very
      reasonably be reported as "Running" (as it is now).  Only TASK_PARKED
      shows up with unreasonable output here.
      Signed-off-by: NChris Metcalf <cmetcalf@ezchip.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ulrich Obergfell <uobergfe@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f51c0eae
    • C
      watchdog: add watchdog_cpumask sysctl to assist nohz · fe4ba3c3
      Chris Metcalf 提交于
      Change the default behavior of watchdog so it only runs on the
      housekeeping cores when nohz_full is enabled at build and boot time.
      Allow modifying the set of cores the watchdog is currently running on
      with a new kernel.watchdog_cpumask sysctl.
      
      In the current system, the watchdog subsystem runs a periodic timer that
      schedules the watchdog kthread to run.  However, nohz_full cores are
      designed to allow userspace application code running on those cores to
      have 100% access to the CPU.  So the watchdog system prevents the
      nohz_full application code from being able to run the way it wants to,
      thus the motivation to suppress the watchdog on nohz_full cores, which
      this patchset provides by default.
      
      However, if we disable the watchdog globally, then the housekeeping
      cores can't benefit from the watchdog functionality.  So we allow
      disabling it only on some cores.  See Documentation/lockup-watchdogs.txt
      for more information.
      
      [jhubbard@nvidia.com: fix a watchdog crash in some configurations]
      Signed-off-by: NChris Metcalf <cmetcalf@ezchip.com>
      Acked-by: NDon Zickus <dzickus@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ulrich Obergfell <uobergfe@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Signed-off-by: NJohn Hubbard <jhubbard@nvidia.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fe4ba3c3
    • C
      smpboot: allow excluding cpus from the smpboot threads · b5242e98
      Chris Metcalf 提交于
      This patch series allows the watchdog to run by default only on the
      housekeeping cores when nohz_full is in effect; this seems to be a good
      compromise short of turning it off completely (since the nohz_full cores
      can't tolerate a watchdog).
      
      To provide customizability, we add /proc/sys/kernel/watchdog_cpumask so
      that the set of cores running the watchdog can be tuned to different
      values after bootup.
      
      To implement this customizability, we add a new
      smpboot_update_cpumask_percpu_thread() API to the smpboot_thread
      subsystem that lets us park or unpark "unwanted" threads.
      
      And now that threads can be parked for long periods of time, we tweak the
      /proc/<pid>/stat and /proc/<pid>/status code so parked threads aren't
      reported as running, which is otherwise confusing.
      
      This patch (of 3):
      
      This change allows some cores to be excluded from running the
      smp_hotplug_thread tasks.  The following commit to update
      kernel/watchdog.c to use this functionality is the motivating example, and
      more information on the motivation is provided there.
      
      A new smp_hotplug_thread field is introduced, "cpumask", which is cpumask
      field managed by the smpboot subsystem that indicates whether or not the
      given smp_hotplug_thread should run on that core; the cpumask is checked
      when deciding whether to unpark the thread.
      
      To limit the cpumask to less than cpu_possible, you must call
      smpboot_update_cpumask_percpu_thread() after registering.
      Signed-off-by: NChris Metcalf <cmetcalf@ezchip.com>
      Cc: Don Zickus <dzickus@redhat.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Ulrich Obergfell <uobergfe@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b5242e98
    • A
      sparc: use for_each_sg() · 8c07a308
      Akinobu Mita 提交于
      This replaces the plain loop over the sglist array with for_each_sg()
      macro which consists of sg_next() function calls.  Since sparc does select
      ARCH_HAS_SG_CHAIN, it is necessary to use for_each_sg() in order to loop
      over each sg element.  This also help find problems with drivers that do
      not properly initialize their sg tables when CONFIG_DEBUG_SG is enabled.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8c07a308
    • A
      parisc: use for_each_sg() · 210bff6d
      Akinobu Mita 提交于
      This replaces the plain loop over the sglist array with for_each_sg()
      macro which consists of sg_next() function calls.  Since parisc doesn't
      select ARCH_HAS_SG_CHAIN, it is not necessary to use for_each_sg() in
      order to loop over each sg element.  But this can help find problems with
      drivers that do not properly initialize their sg tables when
      CONFIG_DEBUG_SG is enabled.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Helge Deller <deller@gmx.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      210bff6d
    • J
      ocfs2: mark local functions as static · b519ea6d
      Joseph Qi 提交于
      Some functions are only used locally, so mark them as static.
      Signed-off-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>
      b519ea6d
    • F
      ocfs2: use swap() in ocfs2_double_lock() · ab1ba021
      Fabian Frederick 提交于
      Use kernel.h macro definition.
      
      Thanks to Julia Lawall for Coccinelle scripting support.
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Cc: Julia Lawall <julia.lawall@lip6.fr>
      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>
      ab1ba021
    • F
      ocfs2: use swap() in swap_refcount_rec() · a612543f
      Fabian Frederick 提交于
      Use kernel.h macro definition.
      
      Thanks to Julia Lawall for Coccinelle scripting support.
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Cc: Julia Lawall <julia.lawall@lip6.fr>
      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>
      a612543f
    • F
      ocfs2: use swap() in dx_leaf_sort_swap() · 2a28f98c
      Fabian Frederick 提交于
      Use kernel.h macro definition.
      
      Thanks to Julia Lawall for Coccinelle scripting support.
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Cc: Julia Lawall <julia.lawall@lip6.fr>
      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>
      2a28f98c
    • J
      ocfs2: fix wrong check in ocfs2_direct_IO_get_blocks · ae1f0814
      Joseph Qi 提交于
      contig_blocks gotten from ocfs2_extent_map_get_blocks cannot be compared
      with clusters_to_alloc. So convert it to clusters first.
      Signed-off-by: NJoseph Qi <joseph.qi@huawei.com>
      Reviewed-by: NWeiwei Wang <wangww631@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>
      ae1f0814
    • X
      ocfs2: fix NULL pointer dereference in function ocfs2_abort_trigger() · 74e364ad
      Xue jiufei 提交于
      ocfs2_abort_trigger() use bh->b_assoc_map to get sb.  But there's no
      function to set bh->b_assoc_map in ocfs2, it will trigger NULL pointer
      dereference while calling this function.  We can get sb from
      bh->b_bdev->bd_super instead of b_assoc_map.
      
      [akpm@linux-foundation.org: update comment, per Joseph]
      Signed-off-by: Njoyce.xue <xuejiufei@huawei.com>
      Cc: Joseph 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>
      74e364ad
    • A
      ocfs2: o2net: should remove debugfs in o2net_init() out branch · fce56d84
      alex chen 提交于
      Signed-off-by: NAlex Chen <alex.chen@huawei.com>
      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>
      fce56d84
    • W
      ocfs2: remove OCFS2_IOCB_SEM lock type in direct io · fa5a0eb3
      WeiWei Wang 提交于
      In ocfs2 direct read/write, OCFS2_IOCB_SEM lock type is used to protect
      inode->i_alloc_sem rw semaphore lock in the earlier kernel version.
      However, in the latest kernel, inode->i_alloc_sem rw semaphore lock is not
      used at all, so OCFS2_IOCB_SEM lock type needs to be removed.
      Signed-off-by: NWeiwei Wang <wangww631@huawei.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Reviewed-by: NJunxiao Bi <junxiao.bi@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fa5a0eb3
    • J
      ocfs2: do not BUG if jbd2_journal_dirty_metadata fails · e272e7f0
      Joseph Qi 提交于
      jbd2_journal_dirty_metadata may fail.  Currently it cannot take care of
      non zero return value and just BUG in ocfs2_journal_dirty.  This patch is
      aborting the handle and journal instead of BUG.
      Signed-off-by: NJoseph Qi <joseph.qi@huawei.com>
      Cc: joyce.xue <xuejiufei@huawei.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e272e7f0
    • X
      ocfs2: remove BUG_ON(!empty_extent) in __ocfs2_rotate_tree_left() · 099768b0
      Xue jiufei 提交于
      ocfs2_rotate_tree_left() calls __ocfs2_rotate_tree_left() for left
      rotation while non-rightmost path containing an empty extent in the leaf
      block.  __ocfs2_rotate_tree_left() returns -EAGAIN if right subtree having an
      empty extent and pass the empty_extent_path to caller.  The caller
      ocfs2_rotate_tree_left() will restart rotation from the returned path.
      
      It will trigger the BUG_ON(!ocfs2_is_empty_extent) when the et on disk
      is as follows:
      
      eb0 is the leaf block of path(say path_a) passed to
      ocfs2_rotate_tree_left, which has an empty rec[0].
      
      eb1 is the leaf block of path(say path_b) that just right to path_a, which
      has no empty record.
      
      eb2 is the leaf block of path(say path_c) that just right to path_b, which
      has an empty rec[0].  And path_c is also the rightmost path.
      
      Now we want to remove the empty rec[0] in eb0:
      
      ocfs2_rotate_tree_left:
        -> call __ocfs2_rotate_tree_left with path_a as its input *path*
          -> call ocfs2_rotate_subtree_left with path_a as its input
             *left_path* and path_b as its input *right_path*. it will move
             rec[0] in eb1 to eb0, and rec[0] in eb0 is not empty now.
          -> continue to call ocfs2_rotate_subtree_left with path_b as its
             input *left_path* and path_c as its input *right_path*, and
             return -EAGAIN because eb2 has an empty rec[0]
        -> call __ocfs2_rotate_tree_left with path_c as it input, rotate all
           records in eb2 to left and return 0.
        -> call __ocfs2_rotate_tree_left with path_a as its input, and triggers
           the BUG_ON(!ocfs2_is_empty_extent) as the rec[0] in eb0 is not empty.
      
      So the BUG_ON() should be removed and return 0 if rec[0] is no longer an
      empty extent.
      Signed-off-by: Njoyce.xue <xuejiufei@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>
      099768b0
    • X
      ocfs2: return error when ocfs2_figure_merge_contig_type() fails · 9f99ad08
      Xue jiufei 提交于
      ocfs2_figure_merge_contig_type() still returns CONTIG_NONE when some error
      occurs which will cause an unpredictable error.  So return a proper errno
      when ocfs2_figure_merge_contig_type() fails.
      Signed-off-by: Njoyce.xue <xuejiufei@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>
      9f99ad08
    • J
      ocfs2/dlm: cleanup unused function __dlm_wait_on_lockres_flags_set · 345dc681
      Joseph Qi 提交于
      __dlm_wait_on_lockres_flags_set() is declared but not implemented and
      used.  So remove it.
      Signed-off-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>
      345dc681
    • D
      ocfs2: use retval instead of status for checking error · 2e173152
      Daeseok Youn 提交于
      The use of 'status' in __ocfs2_add_entry() can return wrong value.
      
      Some functions' return value in __ocfs2_add_entry(), i.e
      ocfs2_journal_access_di() is saved to 'status'.  But 'status' is not
      used in 'bail' label for returning result of __ocfs2_add_entry().
      
      So use retval instead of status.
      Signed-off-by: NDaeseok Youn <daeseok.youn@gmail.com>
      Reviewed-by: NJoseph Qi <joseph.qi@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>
      2e173152
    • J
      ocfs2: fix a tiny race when truncate dio orohaned entry · cf1776a9
      Joseph Qi 提交于
      Once dio crashed it will leave an entry in orphan dir.  And orphan scan
      will take care of the clean up.  There is a tiny race case that the same
      entry will be truncated twice and then trigger the BUG in
      ocfs2_del_inode_from_orphan.
      Signed-off-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>
      cf1776a9
    • A
      ocfs2: remove __mlog_cpu_guess · e327284a
      Andrew Morton 提交于
      raw_smp_processor_id() is the means of avoiding the runtime preemptibility
      check.
      
      [akpm@linux-foundation.org: fix printk warning]
      Cc: Joe Perches <joe@perches.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>
      e327284a
    • J
      ocfs2: reduce object size of mlog uses · 7c2bd2f9
      Joe Perches 提交于
      Using a function for __mlog_printk instead of a macro reduces the object
      size of built-in.o by about 190KB, or ~18% overall (x86-64 defconfig
      with all ocfs2 options)
      
        $ size fs/ocfs2/built-in.o*
           text    data     bss     dec     hex filename
         870954  118471  134408 1123833  1125f9 fs/ocfs2/built-in.o,new
        1064081  118071  134408 1316560  1416d0 fs/ocfs2/built-in.o.old
      
      Miscellanea:
      
       - Move the used-once __mlog_cpu_guess statement expression macro to the
         masklog.c file above the use in __mlog_printk function
      
       - Simplify the mlog macro moving the and/or logic and level code into
         __mlog_printk
      
      [akpm@linux-foundation.org: export __mlog_printk() to other ocfs2 modules]
      Signed-off-by: NJoe Perches <joe@perches.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>
      7c2bd2f9
    • F
      configfs: unexport/make static config_item_init() · 5286d20c
      Fabian Frederick 提交于
      config_item_init() is only used in item.c
      Signed-off-by: NFabian Frederick <fabf@skynet.be>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5286d20c
    • P
      NTFS: use kvfree() in ntfs_free() · b0cbeee7
      Pekka Enberg 提交于
      Use kvfree() instead of open-coding it.
      Signed-off-by: NPekka Enberg <penberg@kernel.org>
      Cc: Anton Altaparmakov <anton@tuxera.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b0cbeee7
    • N
      fsnotify: remove obsolete documentation · c3cddc4c
      Nikolay Borisov 提交于
      should_send_event is no longer part of struct fsnotify_ops, so remove it.
      Signed-off-by: NNikolay Borisov <kernel@kyup.com>
      Reviewed-by: NJan Kara <jack@suse.cz>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c3cddc4c
    • A
      powerpc: use for_each_sg() · 5935877a
      Akinobu Mita 提交于
      This replaces the plain loop over the sglist array with for_each_sg()
      macro which consists of sg_next() function calls.  Since powerpc does
      select ARCH_HAS_SG_CHAIN, it is necessary to use for_each_sg() in order
      to loop over each sg element.  This also help find problems with drivers
      that do not properly initialize their sg tables when CONFIG_DEBUG_SG is
      enabled.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Michael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5935877a
    • A
      metag: use for_each_sg() · ae70a7bb
      Akinobu Mita 提交于
      This replaces the plain loop over the sglist array with for_each_sg()
      macro which consists of sg_next() function calls.  Since metag doesn't
      select ARCH_HAS_SG_CHAIN, it is not necessary to use for_each_sg() in
      order to loop over each sg element.  But this can help find problems
      with drivers that do not properly initialize their sg tables when
      CONFIG_DEBUG_SG is enabled.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: James Hogan <james.hogan@imgtec.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ae70a7bb
    • L
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · e3d8238d
      Linus Torvalds 提交于
      Pull arm64 updates from Catalin Marinas:
       "Mostly refactoring/clean-up:
      
         - CPU ops and PSCI (Power State Coordination Interface) refactoring
           following the merging of the arm64 ACPI support, together with
           handling of Trusted (secure) OS instances
      
         - Using fixmap for permanent FDT mapping, removing the initial dtb
           placement requirements (within 512MB from the start of the kernel
           image).  This required moving the FDT self reservation out of the
           memreserve processing
      
         - Idmap (1:1 mapping used for MMU on/off) handling clean-up
      
         - Removing flush_cache_all() - not safe on ARM unless the MMU is off.
           Last stages of CPU power down/up are handled by firmware already
      
         - "Alternatives" (run-time code patching) refactoring and support for
           immediate branch patching, GICv3 CPU interface access
      
         - User faults handling clean-up
      
        And some fixes:
      
         - Fix for VDSO building with broken ELF toolchains
      
         - Fix another case of init_mm.pgd usage for user mappings (during
           ASID roll-over broadcasting)
      
         - Fix for FPSIMD reloading after CPU hotplug
      
         - Fix for missing syscall trace exit
      
         - Workaround for .inst asm bug
      
         - Compat fix for switching the user tls tpidr_el0 register"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (42 commits)
        arm64: use private ratelimit state along with show_unhandled_signals
        arm64: show unhandled SP/PC alignment faults
        arm64: vdso: work-around broken ELF toolchains in Makefile
        arm64: kernel: rename __cpu_suspend to keep it aligned with arm
        arm64: compat: print compat_sp instead of sp
        arm64: mm: Fix freeing of the wrong memmap entries with !SPARSEMEM_VMEMMAP
        arm64: entry: fix context tracking for el0_sp_pc
        arm64: defconfig: enable memtest
        arm64: mm: remove reference to tlb.S from comment block
        arm64: Do not attempt to use init_mm in reset_context()
        arm64: KVM: Switch vgic save/restore to alternative_insn
        arm64: alternative: Introduce feature for GICv3 CPU interface
        arm64: psci: fix !CONFIG_HOTPLUG_CPU build warning
        arm64: fix bug for reloading FPSIMD state after CPU hotplug.
        arm64: kernel thread don't need to save fpsimd context.
        arm64: fix missing syscall trace exit
        arm64: alternative: Work around .inst assembler bugs
        arm64: alternative: Merge alternative-asm.h into alternative.h
        arm64: alternative: Allow immediate branch as alternative instruction
        arm64: Rework alternate sequence for ARM erratum 845719
        ...
      e3d8238d
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 4e241557
      Linus Torvalds 提交于
      Pull first batch of KVM updates from Paolo Bonzini:
       "The bulk of the changes here is for x86.  And for once it's not for
        silicon that no one owns: these are really new features for everyone.
      
        Details:
      
         - ARM:
              several features are in progress but missed the 4.2 deadline.
              So here is just a smattering of bug fixes, plus enabling the
              VFIO integration.
      
         - s390:
              Some fixes/refactorings/optimizations, plus support for 2GB
              pages.
      
         - x86:
              * host and guest support for marking kvmclock as a stable
                scheduler clock.
              * support for write combining.
              * support for system management mode, needed for secure boot in
                guests.
              * a bunch of cleanups required for the above
              * support for virtualized performance counters on AMD
              * legacy PCI device assignment is deprecated and defaults to "n"
                in Kconfig; VFIO replaces it
      
              On top of this there are also bug fixes and eager FPU context
              loading for FPU-heavy guests.
      
         - Common code:
              Support for multiple address spaces; for now it is used only for
              x86 SMM but the s390 folks also have plans"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (124 commits)
        KVM: s390: clear floating interrupt bitmap and parameters
        KVM: x86/vPMU: Enable PMU handling for AMD PERFCTRn and EVNTSELn MSRs
        KVM: x86/vPMU: Implement AMD vPMU code for KVM
        KVM: x86/vPMU: Define kvm_pmu_ops to support vPMU function dispatch
        KVM: x86/vPMU: introduce kvm_pmu_msr_idx_to_pmc
        KVM: x86/vPMU: reorder PMU functions
        KVM: x86/vPMU: whitespace and stylistic adjustments in PMU code
        KVM: x86/vPMU: use the new macros to go between PMC, PMU and VCPU
        KVM: x86/vPMU: introduce pmu.h header
        KVM: x86/vPMU: rename a few PMU functions
        KVM: MTRR: do not map huge page for non-consistent range
        KVM: MTRR: simplify kvm_mtrr_get_guest_memory_type
        KVM: MTRR: introduce mtrr_for_each_mem_type
        KVM: MTRR: introduce fixed_mtrr_addr_* functions
        KVM: MTRR: sort variable MTRRs
        KVM: MTRR: introduce var_mtrr_range
        KVM: MTRR: introduce fixed_mtrr_segment table
        KVM: MTRR: improve kvm_mtrr_get_guest_memory_type
        KVM: MTRR: do not split 64 bits MSR content
        KVM: MTRR: clean up mtrr default type
        ...
      4e241557
  2. 24 6月, 2015 9 次提交
    • L
      Merge tag 'powerpc-4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux · 08d183e3
      Linus Torvalds 提交于
      Pull powerpc updates from Michael Ellerman:
      
       - disable the 32-bit vdso when building LE, so we can build with a
         64-bit only toolchain.
      
       - EEH fixes from Gavin & Richard.
      
       - enable the sys_kcmp syscall from Laurent.
      
       - sysfs control for fastsleep workaround from Shreyas.
      
       - expose OPAL events as an irq chip by Alistair.
      
       - MSI ops moved to pci_controller_ops by Daniel.
      
       - fix for kernel to userspace backtraces for perf from Anton.
      
       - merge pseries and pseries_le defconfigs from Cyril.
      
       - CXL in-kernel API from Mikey.
      
       - OPAL prd driver from Jeremy.
      
       - fix for DSCR handling & tests from Anshuman.
      
       - Powernv flash mtd driver from Cyril.
      
       - dynamic DMA Window support on powernv from Alexey.
      
       - LLVM clang fixes & workarounds from Anton.
      
       - reworked version of the patch to abort syscalls when transactional.
      
       - fix the swap encoding to support 4TB, from Aneesh.
      
       - various fixes as usual.
      
       - Freescale updates from Scott: Highlights include more 8xx
         optimizations, an e6500 hugetlb optimization, QMan device tree nodes,
         t1024/t1023 support, and various fixes and cleanup.
      
      * tag 'powerpc-4.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (180 commits)
        cxl: Fix typo in debug print
        cxl: Add CXL_KERNEL_API config option
        powerpc/powernv: Fix wrong IOMMU table in pnv_ioda_setup_bus_dma()
        powerpc/mm: Change the swap encoding in pte.
        powerpc/mm: PTE_RPN_MAX is not used, remove the same
        powerpc/tm: Abort syscalls in active transactions
        powerpc/iommu/ioda2: Enable compile with IOV=on and IOMMU_API=off
        powerpc/include: Add opal-prd to installed uapi headers
        powerpc/powernv: fix construction of opal PRD messages
        powerpc/powernv: Increase opal-irqchip initcall priority
        powerpc: Make doorbell check preemption safe
        powerpc/powernv: pnv_init_idle_states() should only run on powernv
        macintosh/nvram: Remove as unused
        powerpc: Don't use gcc specific options on clang
        powerpc: Don't use -mno-strict-align on clang
        powerpc: Only use -mtraceback=no, -mno-string and -msoft-float if toolchain supports it
        powerpc: Only use -mabi=altivec if toolchain supports it
        powerpc: Fix duplicate const clang warning in user access code
        vfio: powerpc/spapr: Support Dynamic DMA windows
        vfio: powerpc/spapr: Register memory and define IOMMU v2
        ...
      08d183e3
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 4b1f2af6
      Linus Torvalds 提交于
      Pull s390 updates from Martin Schwidefsky:
       "Pretty boring for a merge window pull.
      
        One change in behaviour is the patch for dasd driver, the module which
        provides the diagnose discipline is now loaded automatically.
      
        The SCLP code got a nice cleanup, a new global structure replaces a
        bunch of accessor functions.
      
        And a couple of random, small improvements"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/pci: improve handling of hotplug event 0x301
        s390/setup: fix DMA_API_DEBUG warnings
        s390/zcrypt: remove obsolete __constant
        s390/keyboard: avoid off-by-one when using strnlen_user()
        s390/sclp: pass timeout as HZ independent value
        s390/mm: s/specifiation/specification/, s/an specification/a specification/
        s390/sclp: Use DECLARE_BITMAP
        s390/dasd: Enable automatic loading of dasd_diag_mod
        s390/sclp: move sclp_facilities into "struct sclp"
        s390/sclp: get rid of sclp_get_mtid() and sclp_get_mtid_max()
        s390/sclp: unify basic sclp access by exposing "struct sclp"
        s390/sclp: prepare smp_fill_possible_mask for global "struct sclp"
      4b1f2af6
    • L
      Merge tag 'microblaze-4.2-rc1' of git://git.monstr.eu/linux-2.6-microblaze · aaa64485
      Linus Torvalds 提交于
      Pull Microblaze updates from Michal Simek:
      
       - some PCI fixups
      
       - add new MB versions
      
       - sparse fixups
      
      * tag 'microblaze-4.2-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze/PCI: Remove unnecessary struct pci_dev declaration
        microblaze/PCI: Remove unnecessary pci_bus_find_capability() declaration
        microblaze/PCI: Remove unused declarations
        microblaze: Label local function static
        microblaze: Add missing release version code
      aaa64485
    • L
      Merge tag 'iommu-updates-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 6eae81a5
      Linus Torvalds 提交于
      Pull IOMMU updates from Joerg Roedel:
       "This time with bigger changes than usual:
      
         - A new IOMMU driver for the ARM SMMUv3.
      
           This IOMMU is pretty different from SMMUv1 and v2 in that it is
           configured through in-memory structures and not through the MMIO
           register region.  The ARM SMMUv3 also supports IO demand paging for
           PCI devices with PRI/PASID capabilities, but this is not
           implemented in the driver yet.
      
         - Lots of cleanups and device-tree support for the Exynos IOMMU
           driver.  This is part of the effort to bring Exynos DRM support
           upstream.
      
         - Introduction of default domains into the IOMMU core code.
      
           The rationale behind this is to move functionalily out of the IOMMU
           drivers to common code to get to a unified behavior between
           different drivers.  The patches here introduce a default domain for
           iommu-groups (isolation groups).
      
           A device will now always be attached to a domain, either the
           default domain or another domain handled by the device driver.  The
           IOMMU drivers have to be modified to make use of that feature.  So
           long the AMD IOMMU driver is converted, with others to follow.
      
         - Patches for the Intel VT-d drvier to fix DMAR faults that happen
           when a kdump kernel boots.
      
           When the kdump kernel boots it re-initializes the IOMMU hardware,
           which destroys all mappings from the crashed kernel.  As this
           happens before the endpoint devices are re-initialized, any
           in-flight DMA causes a DMAR fault.  These faults cause PCI master
           aborts, which some devices can't handle properly and go into an
           undefined state, so that the device driver in the kdump kernel
           fails to initialize them and the dump fails.
      
           This is now fixed by copying over the mapping structures (only
           context tables and interrupt remapping tables) from the old kernel
           and keep the old mappings in place until the device driver of the
           new kernel takes over.  This emulates the the behavior without an
           IOMMU to the best degree possible.
      
         - A couple of other small fixes and cleanups"
      
      * tag 'iommu-updates-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (69 commits)
        iommu/amd: Handle large pages correctly in free_pagetable
        iommu/vt-d: Don't disable IR when it was previously enabled
        iommu/vt-d: Make sure copied over IR entries are not reused
        iommu/vt-d: Copy IR table from old kernel when in kdump mode
        iommu/vt-d: Set IRTA in intel_setup_irq_remapping
        iommu/vt-d: Disable IRQ remapping in intel_prepare_irq_remapping
        iommu/vt-d: Move QI initializationt to intel_setup_irq_remapping
        iommu/vt-d: Move EIM detection to intel_prepare_irq_remapping
        iommu/vt-d: Enable Translation only if it was previously disabled
        iommu/vt-d: Don't disable translation prior to OS handover
        iommu/vt-d: Don't copy translation tables if RTT bit needs to be changed
        iommu/vt-d: Don't do early domain assignment if kdump kernel
        iommu/vt-d: Allocate si_domain in init_dmars()
        iommu/vt-d: Mark copied context entries
        iommu/vt-d: Do not re-use domain-ids from the old kernel
        iommu/vt-d: Copy translation tables from old kernel
        iommu/vt-d: Detect pre enabled translation
        iommu/vt-d: Make root entry visible for hardware right after allocation
        iommu/vt-d: Init QI before root entry is allocated
        iommu/vt-d: Cleanup log messages
        ...
      6eae81a5
    • L
      Merge tag 'for-linus-20150623' of git://git.infradead.org/linux-mtd · 54245ed8
      Linus Torvalds 提交于
      Pull MTD updates from Brian Norris:
       "JFFS2:
         - fix a theoretical unbalanced locking issue; the lock handling was a
           bit unclean, but AFAICT, it didn't actually lead to real deadlocks
      
        NAND:
         - brcmnand driver: new driver supporting NAND controller found
           originally on Broadcom STB SoCs (BCM7xxx), but now also found on
           BCM63xxx, iProc (e.g., Cygnus, BCM5301x), BCM3xxx, and more
      
         - begin factoring out BBT code so it can be shared between
           traditional (parallel) NAND drivers and upcoming SPI NAND drivers
           (WIP)
      
         - add common DT-based init support, so nand_base can pick up some
           flash properties automatically, using established common NAND DT
           properties
      
         - mxc_nand: support 8-bit ECC
      
         - pxa3xx_nand:
           * fix build for ARM64
           * use a jiffies-based timeout
      
        SPI NOR:
         - add a few new IDs
      
         - clear out some unnecessary entries
      
         - make sure SECT_4K flags are correct for all (?) entries
      
        Core:
         - fix mtd->usecount race conditions (BUG_ON())
      
         - switch to modern PM ops
      
        Other:
         - CFI: save code space by de-inlining large functions
      
         - clean up some partition parser selection code across several
           drivers
      
         - various miscellaneous changes, mostly minor"
      
      * tag 'for-linus-20150623' of git://git.infradead.org/linux-mtd: (57 commits)
        mtd: docg3: Fix kasprintf() usage
        mtd: docg3: Don't leak docg3->bbt in error path
        mtd: nandsim: Fix kasprintf() usage
        mtd: cs553x_nand: Fix kasprintf() usage
        mtd: r852: Fix device_create_file() usage
        mtd: brcmnand: drop unnecessary initialization
        mtd: propagate error codes from add_mtd_device()
        mtd: diskonchip: remove two-phase partitioning / registration
        mtd: dc21285: use raw spinlock functions for nw_gpio_lock
        mtd: chips: fixup dependencies, to prevent build error
        mtd: cfi_cmdset_0002: Initialize datum before calling map_word_load_partial
        mtd: cfi: deinline large functions
        mtd: lantiq-flash: use default partition parsers
        mtd: plat_nand: use default partition probe
        mtd: nand: correct indentation within conditional
        mtd: remove incorrect file name
        mtd: blktrans: use better error code for unimplemented ioctl()
        mtd: maps: Spelling s/reseved/reserved/
        mtd: blktrans: change blktrans_getgeo return value
        mtd: mxc_nand: generate nand_ecclayout for 8 bit ECC
        ...
      54245ed8
    • L
      Merge tag 'mfd-for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 84e9c87e
      Linus Torvalds 提交于
      Pull MFD updates from Lee Jones:
       "Changes to existing drivers:
         - Constify structures; throughout the subsystem
         - Move support to DT in; cros_ec
         - DT changes and documentation; cros-ec, max77693, max77686, arizona, da9063
         - ACPI changes and documentation; mfd-core
         - Use different platform specific API in; cros_ec_*, arizona-core
         - Remove unused parent field from; cros_ec_i2c
         - Add wake-up/reset delay in; cross_ec_spi, arizona-core
         - Staticise structures/functions in; cros_ec
         - Remove redundant code; arizona-core, max77686
         - Bugfix; twl4030-power
         - Allow compile test; aat2870, tps65910
         - MAINTAINERS adaptions; samsung, syscon
         - Resource Management (devm_*); arizona-core
         - Refactor Reset code; arizona-core
         - Insist on at least one full boot; arizona-core
         - Trivial formatting; arizona-core
         - Add low-power-sleep; arizona-core
         - IRQ ONESHOT changes; twl4030-irq, mc13xxx-core, wm831x-auxadc, htc-i2cpld,
                                wm8350-core, ab8500-debugfs, ab8500-gpadc, si476x-i2c
      
        (Re-)moved drivers:
         - Move protocol helpers out to drivers/platform; cros_ec
      
        New drivers/supported devices:
         - Add support for AXP22x into axp20x
         - Add support for OnKey into da9063-core
         - Add support for Pinctrl into mt6397-core
         - New STMicroelectronics LPC Watchdog driver
         - New STMicroelectronics LPC Real-Time Clock driver"
      
      * tag 'mfd-for-linus-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (59 commits)
        mfd: lpc_ich: Assign subdevice ids automatically
        mfd: si476x-i2c: Pass the IRQF_ONESHOT flag
        mfd: ab8500-gpadc: Pass the IRQF_ONESHOT flag
        mfd: ab8500-debugfs: Pass the IRQF_ONESHOT flag
        mfd: wm8350-core: Pass the IRQF_ONESHOT flag
        mfd: htc-i2cpld: Pass the IRQF_ONESHOT flag
        mfd: wm831x-auxadc: Pass the IRQF_ONESHOT flag
        mfd: mc13xxx-core: Pass the IRQF_ONESHOT flag
        mfd: twl4030-irq: Pass the IRQF_ONESHOT flag
        mfd: mt6397-core: Add GPIO sub-module support
        mfd: arizona: Add convience defines for micd_rate/micd_bias_starttime
        mfd: dt: Add bindings for DA9063 OnKey
        mfd: da9063: Add support for OnKey driver
        mfd: arizona: Fix incorrect Makefile conditionals
        mfd: arizona: Add stub for wm5102_patch()
        mfd: Check ACPI device companion before checking resources
        Documentation: Add WM8998/WM1814 device tree bindings
        mfd: arizona: Split INx_MODE into two fields
        mfd: wm5110: Add delay before releasing reset line
        mfd: arizona: Add better support for system suspend
        ...
      84e9c87e
    • L
      Merge tag 'regulator-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 7fe0bf90
      Linus Torvalds 提交于
      Pull regulator updates from Mark Brown:
       "Another fairly quiet release, some new drivers with generic handling
        for minor features but nothing that makes a substantial difference
        outside of the subsystem or for most boards:
      
         - support for a bunch of new parameters which are present on enough
           regulators to be worth having generic handling for in the
           framework.
      
         - fixes for some issues with printing constraints during boot which
           should probably have gone in for v4.1 but didn't.
      
         - new drivers for Dialog DA9062, Maxim MAX77621 and Qualcomm SPMI
           regulators"
      
      * tag 'regulator-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (45 commits)
        regulator: qcom_spmi: Fix calculating number of voltages
        regulator: qcom_spmi: Add missing braces for aligned code
        regulator: fix simple_return.cocci warnings
        regulator: Add QCOM SPMI regulator driver
        regulator: Add docbook for soft start
        regulator: Add input current limit support
        regulator: Add soft start support
        regulator: Add pull down support
        regulator: Add system_load constraint
        regulator: max8973: Fix up ramp_delay for MAX8973_RAMP_25mV_PER_US case
        regulator: core: replace sprintf with scnprintf
        regulator: core: fix constraints output buffer
        regulator: core: Don't corrupt display when printing uV offsets
        regulator: max8973: add support for MAX77621
        regulator: max8973: configure ramp delay through callback
        regulator: pwm-regulator: Diffientiate between dev (device) and rdev (regulator_dev)
        regulator: pwm-regulator: Remove superfluous is_enabled check
        regulator: pwm-regulator: Remove unnecessary descriptor attribute from ddata
        regulator: core: Don't spew backtraces on duplicate sysfs
        regulator: da9063: Fix up irq leak
        ...
      7fe0bf90
    • L
      Merge tag 'spi-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 5a602e15
      Linus Torvalds 提交于
      Pull spi updates from Mark Brown:
       "No framework updates for the SPI API this time around aside from one
        small fix, just driver improvments.  Some highlights include:
      
         - New driver support for CSR USP, Mikrotik RB4xx and Zynq GQSPI
           controllers.
      
         - Modernisation of the OMAP McSPI controller driver, moving it to
           current APIs to enable support for a wider range of client drivers.
      
         - DMA support for the bcm2835 controller"
      
      * tag 'spi-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (60 commits)
        spi: zynq: Remove execute bit
        spi: atmel: add support to FIFOs
        spi: atmel: update DT bindings documentation
        spi: spi-fsl-dspi: Update DT binding documentation
        spi: pxa2xx: Constify ACPI device ids
        spi: Add support for Zynq Ultrascale+ MPSoC GQSPI controller
        spi: zynq: Add DT bindings documentation for Zynq Ultrascale+ MPSoC GQSPI controller
        spi: fsl-dspi: Use pinctrl PM helpers
        spi: davinci: change the lower limit of pre-scale divider to 1
        spi: spi-fsl-dspi: Change the way of increasing spi_message->actual_length
        spi: spi-fsl-dspi: Enable TCF interrupt mode support
        spi: atmel: add support for the internal chip-select of the spi controller
        spi: spi-pxa2xx: remove legacy PXA DMA bits
        spi: pxa2xx: Make LPSS SPI general register optional
        spi: pxa2xx: Prepare for new Intel LPSS SPI type
        spi: pxa2xx: Differentiate Intel LPSS types
        spi: restore rx/tx_buf in case of unset CONFIG_HAS_DMA
        spi: rspi: Re-do the returning value of qspi_transfer_out_in
        spi: rspi: modify the name of "qspi_trigger_transfer_out_int" function
        spi: orion: Fix extended baud rates for each Armada SoCs
        ...
      5a602e15
    • L
      Merge tag 'regmap-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · e12bdf0d
      Linus Torvalds 提交于
      Pull regmap updates from Mark Brown:
       "As well as a few fixes and updates for API changes there's two new
        features for the API:
      
         - Better support for handling a reset of the underlying hardware,
           marking the register map as needing a resync to the device when we
           need to do that automatically
      
         - Support for querying the size and stride of the register map,
           allowing higher level frameworks to configure themselves more
           readily"
      
      * tag 'regmap-v4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Fix possible shift overflow in regmap_field_init()
        regmap: Fix regmap_bulk_read in BE mode
        regmap: kill off set_irq_flags usage
        regmap: irq: Fixed a typo error
        regmap: drop unneeded goto
        regmap: Introduce regmap_get_reg_stride
        regmap: Introduce regmap_get_max_register
        regmap: Use regcache_mark_dirty() to indicate power loss or reset
        regmap: Add a helper function for regcache sync test
        regmap: Constify irq_domain_ops
      e12bdf0d