Blame view

kernel/linux-rt-4.4.41/include/asm-generic/unaligned.h 1.01 KB
5113f6f70   김현기   kernel 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
31
32
33
34
35
  #ifndef __ASM_GENERIC_UNALIGNED_H
  #define __ASM_GENERIC_UNALIGNED_H
  
  /*
   * This is the most generic implementation of unaligned accesses
   * and should work almost anywhere.
   */
  #include <asm/byteorder.h>
  
  /* Set by the arch if it can handle unaligned accesses in hardware. */
  #ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
  # include <linux/unaligned/access_ok.h>
  #endif
  
  #if defined(__LITTLE_ENDIAN)
  # ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
  #  include <linux/unaligned/le_struct.h>
  #  include <linux/unaligned/be_byteshift.h>
  # endif
  # include <linux/unaligned/generic.h>
  # define get_unaligned	__get_unaligned_le
  # define put_unaligned	__put_unaligned_le
  #elif defined(__BIG_ENDIAN)
  # ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
  #  include <linux/unaligned/be_struct.h>
  #  include <linux/unaligned/le_byteshift.h>
  # endif
  # 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 */