Commit 7ec46210 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'pull-work.unaligned' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

Pull generic unaligned.h cleanups from Al Viro:
 "Get rid of architecture-specific <asm/unaligned.h> includes, replacing
  them with a single generic <linux/unaligned.h> header file.

  It's the second largest (after asm/io.h) class of asm/* includes, and
  all but two architectures actually end up using exact same file.

  Massage the remaining two (arc and parisc) to do the same and just
  move the thing to from asm-generic/unaligned.h to linux/unaligned.h"

[ This is one of those things that we're better off doing outside the
  merge window, and would only cause extra conflict noise if it was in
  linux-next for the next release due to all the trivial #include line
  updates.  Rip off the band-aid.   - Linus ]

* tag 'pull-work.unaligned' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  move asm/unaligned.h to linux/unaligned.h
  arc: get rid of private asm/unaligned.h
  parisc: get rid of private asm/unaligned.h
parents f23aa4c0 5f60d5f6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ ones.

Of course this is a bad idea to rely on the alignment trap to perform
unaligned memory access in general.  If those access are predictable, you
are better to use the macros provided by include/asm/unaligned.h.  The
are better to use the macros provided by include/linux/unaligned.h.  The
alignment trap can fixup misaligned access for the exception cases, but at
a high performance cost.  It better be rare.

+1 −1
Original line number Diff line number Diff line
@@ -203,7 +203,7 @@ Avoiding unaligned accesses
===========================

The easiest way to avoid unaligned access is to use the get_unaligned() and
put_unaligned() macros provided by the <asm/unaligned.h> header file.
put_unaligned() macros provided by the <linux/unaligned.h> header file.

Going back to an earlier example of code that potentially causes unaligned
access::
+1 −1
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ field2会导致非对齐访问,这并不是不合理的。你会期望field2
避免非对齐访问
==============

避免非对齐访问的最简单方法是使用<asm/unaligned.h>头文件提供的get_unaligned()和
避免非对齐访问的最简单方法是使用<linux/unaligned.h>头文件提供的get_unaligned()和
put_unaligned()宏。

回到前面的一个可能导致非对齐访问的代码例子::
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@

#include <asm/gentrap.h>
#include <linux/uaccess.h>
#include <asm/unaligned.h>
#include <linux/unaligned.h>
#include <asm/sysinfo.h>
#include <asm/hwrpb.h>
#include <asm/mmu_context.h>
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@
#include <linux/types.h>
#include <asm/byteorder.h>
#include <asm/page.h>
#include <asm/unaligned.h>
#include <linux/unaligned.h>

#ifdef CONFIG_ISA_ARCV2
#include <asm/barrier.h>
Loading