Linux Audio

Check our new training course

Loading...
v5.4
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef __ASM_GENERIC_UNALIGNED_H
 3#define __ASM_GENERIC_UNALIGNED_H
 4
 5/*
 6 * This is the most generic implementation of unaligned accesses
 7 * and should work almost anywhere.
 
 
 
 
 8 */
 9#include <asm/byteorder.h>
10
11/* Set by the arch if it can handle unaligned accesses in hardware. */
12#ifdef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
13# include <linux/unaligned/access_ok.h>
14#endif
15
16#if defined(__LITTLE_ENDIAN)
17# ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
18#  include <linux/unaligned/le_struct.h>
19#  include <linux/unaligned/be_byteshift.h>
20# endif
21# include <linux/unaligned/generic.h>
22# define get_unaligned	__get_unaligned_le
23# define put_unaligned	__put_unaligned_le
24#elif defined(__BIG_ENDIAN)
25# ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
26#  include <linux/unaligned/be_struct.h>
27#  include <linux/unaligned/le_byteshift.h>
28# endif
29# include <linux/unaligned/generic.h>
30# define get_unaligned	__get_unaligned_be
31# define put_unaligned	__put_unaligned_be
32#else
33# error need to define endianess
34#endif
35
36#endif /* __ASM_GENERIC_UNALIGNED_H */
v3.1
 
 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 * If an architecture can handle unaligned accesses in hardware,
 9 * it may want to use the linux/unaligned/access_ok.h implementation
10 * instead.
11 */
12#include <asm/byteorder.h>
13
 
 
 
 
 
14#if defined(__LITTLE_ENDIAN)
15# include <linux/unaligned/le_struct.h>
16# include <linux/unaligned/be_byteshift.h>
 
 
17# include <linux/unaligned/generic.h>
18# define get_unaligned	__get_unaligned_le
19# define put_unaligned	__put_unaligned_le
20#elif defined(__BIG_ENDIAN)
21# include <linux/unaligned/be_struct.h>
22# include <linux/unaligned/le_byteshift.h>
 
 
23# include <linux/unaligned/generic.h>
24# define get_unaligned	__get_unaligned_be
25# define put_unaligned	__put_unaligned_be
26#else
27# error need to define endianess
28#endif
29
30#endif /* __ASM_GENERIC_UNALIGNED_H */