Linux Audio

Check our new training course

Linux kernel drivers training

May 6-19, 2025
Register
Loading...
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 */
v4.6
 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 */