Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/driver...
[linux-2.6/verdex.git] / include / linux / patchkey.h
blobd974a6e923721c05c457cfd5ba5147db9746497a
1 /*
2 * <linux/patchkey.h> -- definition of _PATCHKEY macro
4 * Copyright (C) 2005 Stuart Brady
6 * This exists because awe_voice.h defined its own _PATCHKEY and it wasn't
7 * clear whether removing this would break anything in userspace.
9 * Do not include this file directly. Please use <sys/soundcard.h> instead.
10 * For kernel code, use <linux/soundcard.h>
13 #ifndef _LINUX_PATCHKEY_H_INDIRECT
14 #error "patchkey.h included directly"
15 #endif
17 #ifndef _LINUX_PATCHKEY_H
18 #define _LINUX_PATCHKEY_H
20 /* Endian macros. */
21 #ifdef __KERNEL__
22 # include <asm/byteorder.h>
23 #else
24 # include <endian.h>
25 #endif
27 #if defined(__KERNEL__)
28 # if defined(__BIG_ENDIAN)
29 # define _PATCHKEY(id) (0xfd00|id)
30 # elif defined(__LITTLE_ENDIAN)
31 # define _PATCHKEY(id) ((id<<8)|0x00fd)
32 # else
33 # error "could not determine byte order"
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
45 #endif /* _LINUX_PATCHKEY_H */