aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/patchkey.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/patchkey.h')
-rw-r--r--include/linux/patchkey.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/include/linux/patchkey.h b/include/linux/patchkey.h
index 97a919fc992..d974a6e9237 100644
--- a/include/linux/patchkey.h
+++ b/include/linux/patchkey.h
@@ -9,12 +9,22 @@
9 * Do not include this file directly. Please use <sys/soundcard.h> instead. 9 * Do not include this file directly. Please use <sys/soundcard.h> instead.
10 * For kernel code, use <linux/soundcard.h> 10 * For kernel code, use <linux/soundcard.h>
11 */ 11 */
12
13#ifndef _LINUX_PATCHKEY_H_INDIRECT
14#error "patchkey.h included directly"
15#endif
16
12#ifndef _LINUX_PATCHKEY_H 17#ifndef _LINUX_PATCHKEY_H
13#define _LINUX_PATCHKEY_H 18#define _LINUX_PATCHKEY_H
14 19
20/* Endian macros. */
21#ifdef __KERNEL__
15# include <asm/byteorder.h> 22# include <asm/byteorder.h>
16#include <uapi/linux/patchkey.h> 23#else
24# include <endian.h>
25#endif
17 26
27#if defined(__KERNEL__)
18# if defined(__BIG_ENDIAN) 28# if defined(__BIG_ENDIAN)
19# define _PATCHKEY(id) (0xfd00|id) 29# define _PATCHKEY(id) (0xfd00|id)
20# elif defined(__LITTLE_ENDIAN) 30# elif defined(__LITTLE_ENDIAN)
@@ -22,4 +32,14 @@
22# else 32# else
23# error "could not determine byte order" 33# error "could not determine byte order"
24# endif 34# endif
35#elif defined(__BYTE_ORDER)
36# if __BYTE_ORDER == __BIG_ENDIAN
37# define _PATCHKEY(id) (0xfd00|id)
38# elif __BYTE_ORDER == __LITTLE_ENDIAN
39# define _PATCHKEY(id) ((id<<8)|0x00fd)
40# else
41# error "could not determine byte order"
42# endif
43#endif
44
25#endif /* _LINUX_PATCHKEY_H */ 45#endif /* _LINUX_PATCHKEY_H */