Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.13.7.
 1#ifndef __ASM_GENERIC_UNALIGNED_H
 2#define __ASM_GENERIC_UNALIGNED_H
 3
 4/*
 5 * This is the most generic implementation of unaligned accesses
 6 * and should work almost anywhere.
 7 */
 8#include <asm/byteorder.h>
 9
10/* Set by the arch if it can handle unaligned accesses in hardware. */
11#ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
12# include <linux/unaligned/access_ok.h>
13#endif
14
15#if defined(__LITTLE_ENDIAN)
16# ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
17#  include <linux/unaligned/le_struct.h>
18#  include <linux/unaligned/be_byteshift.h>
19# endif
20# include <linux/unaligned/generic.h>
21# define get_unaligned	__get_unaligned_le
22# define put_unaligned	__put_unaligned_le
23#elif defined(__BIG_ENDIAN)
24# ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
25#  include <linux/unaligned/be_struct.h>
26#  include <linux/unaligned/le_byteshift.h>
27# endif
28# include <linux/unaligned/generic.h>
29# define get_unaligned	__get_unaligned_be
30# define put_unaligned	__put_unaligned_be
31#else
32# error need to define endianess
33#endif
34
35#endif /* __ASM_GENERIC_UNALIGNED_H */