1. 07 4月, 2016 1 次提交
    • I
      mm/gup: Remove the macro overload API migration helpers from the get_user*() APIs · c12d2da5
      Ingo Molnar 提交于
      The pkeys changes brought about a truly hideous set of macros in:
      
        cde70140 ("mm/gup: Overload get_user_pages() functions")
      
      ... which macros are (ab-)using the fact that __VA_ARGS__ can be used
      to shift parameter positions in macro arguments without breaking the
      build and so can be used to call separate C functions depending on
      the number of arguments of the macro.
      
      This allowed easy migration of these 3 GUP APIs, as both these variants
      worked at the C level:
      
        old:
      	ret = get_user_pages(current, current->mm, address, 1, 1, 0, &page, NULL);
      
        new:
      	ret = get_user_pages(address, 1, 1, 0, &page, NULL);
      
      ... while we also generated a (functionally harmless but noticeable) build
      time warning if the old API was used. As there are over 300 uses of these
      APIs, this trick eased the migration of the API and avoided excessive
      migration pain in linux-next.
      
      Now, with its work done, get rid of all of that complication and ugliness:
      
          3 files changed, 16 insertions(+), 140 deletions(-)
      
      ... where the linecount of the migration hack was further inflated by the
      fact that there are NOMMU variants of these GUP APIs as well.
      
      Much of the conversion was done in linux-next over the past couple of months,
      and Linus recently removed all remaining old API uses from the upstream tree
      in the following upstrea commit:
      
        cb107161 ("Convert straggling drivers to new six-argument get_user_pages()")
      
      There was one more old-API usage in mm/gup.c, in the CONFIG_HAVE_GENERIC_RCU_GUP
      code path that ARM, ARM64 and PowerPC uses.
      
      After this commit any old API usage will break the build.
      
      [ Also fixed a PowerPC/HAVE_GENERIC_RCU_GUP warning reported by Stephen Rothwell. ]
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Dave Hansen <dave@sr71.net>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mm@kvack.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      c12d2da5
  2. 03 4月, 2016 9 次提交
  3. 02 4月, 2016 29 次提交
  4. 01 4月, 2016 1 次提交
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 6ddf37da
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Nothing too crazy in here: a bunch of AMD fixes/quirks, two msm fixes,
        some rockchip fixes, and a udl warning fix, along with one locking fix
        for displayport that seems to fix some dodgy monitors"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/udl: Use unlocked gem unreferencing
        drm/dp: move hw_mutex up the call stack
        drm/amdgpu: Don't move pinned BOs
        drm/radeon: Don't move pinned BOs
        drm/radeon: add a dpm quirk for all R7 370 parts
        drm/radeon: add another R7 370 quirk
        drm/rockchip: dw_hdmi: Don't call platform_set_drvdata()
        drm/rockchip: vop: Fix vop crtc cleanup
        drm/rockchip: dw_hdmi: Call drm_encoder_cleanup() in error path
        drm/rockchip: vop: Disable planes when disabling CRTC
        drm/rockchip: vop: Don't reject empty modesets
        drm/rockchip: cancel pending vblanks on close
        drm/rockchip: vop: fix crtc size in plane check
        drm/radeon: add a dpm quirk for sapphire Dual-X R7 370 2G D5
        drm/amd: Beef up ACP Kconfig menu text
        drm/msm: fix typo in the !COMMON_CLK case
        drm/msm: fix bug after preclose removal
      6ddf37da