Blame view

include/asm-generic/unaligned.h 907 Bytes
aafe4dbed   Arnd Bergmann   asm-generic: add ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  #ifndef __ASM_GENERIC_UNALIGNED_H
  #define __ASM_GENERIC_UNALIGNED_H
  
  /*
   * This is the most generic implementation of unaligned accesses
   * and should work almost anywhere.
   *
   * If an architecture can handle unaligned accesses in hardware,
   * it may want to use the linux/unaligned/access_ok.h implementation
   * instead.
   */
  #include <asm/byteorder.h>
  
  #if defined(__LITTLE_ENDIAN)
  # include <linux/unaligned/le_struct.h>
  # include <linux/unaligned/be_byteshift.h>
  # include <linux/unaligned/generic.h>
  # define get_unaligned	__get_unaligned_le
  # define put_unaligned	__put_unaligned_le
  #elif defined(__BIG_ENDIAN)
  # include <linux/unaligned/be_struct.h>
  # include <linux/unaligned/le_byteshift.h>
  # include <linux/unaligned/generic.h>
  # define get_unaligned	__get_unaligned_be
  # define put_unaligned	__put_unaligned_be
  #else
  # error need to define endianess
  #endif
  
  #endif /* __ASM_GENERIC_UNALIGNED_H */