| Stuart Brady | 60d300c | 2005-05-05 16:15:07 -0700 | [diff] [blame] | 1 | /* | 
 | 2 |  * <linux/patchkey.h> -- definition of _PATCHKEY macro | 
 | 3 |  * | 
 | 4 |  * Copyright (C) 2005 Stuart Brady | 
 | 5 |  * | 
 | 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. | 
 | 8 |  * | 
 | 9 |  * Do not include this file directly.  Please use <sys/soundcard.h> instead. | 
 | 10 |  * For kernel code, use <linux/soundcard.h> | 
 | 11 |  */ | 
 | 12 |  | 
 | 13 | #ifndef _LINUX_PATCHKEY_H_INDIRECT | 
 | 14 | #error "patchkey.h included directly" | 
 | 15 | #endif | 
 | 16 |  | 
 | 17 | #ifndef _LINUX_PATCHKEY_H | 
 | 18 | #define _LINUX_PATCHKEY_H | 
 | 19 |  | 
 | 20 | /* Endian macros. */ | 
 | 21 | #ifdef __KERNEL__ | 
 | 22 | #  include <asm/byteorder.h> | 
 | 23 | #else | 
 | 24 | #  include <endian.h> | 
 | 25 | #endif | 
 | 26 |  | 
 | 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 | 
| David Howells | a648bd0 | 2011-12-13 15:07:49 +0000 | [diff] [blame] | 35 | #else | 
 | 36 | #if defined(__BYTE_ORDER) | 
| Stuart Brady | 60d300c | 2005-05-05 16:15:07 -0700 | [diff] [blame] | 37 | #  if __BYTE_ORDER == __BIG_ENDIAN | 
 | 38 | #    define _PATCHKEY(id) (0xfd00|id) | 
 | 39 | #  elif __BYTE_ORDER == __LITTLE_ENDIAN | 
 | 40 | #    define _PATCHKEY(id) ((id<<8)|0x00fd) | 
 | 41 | #  else | 
 | 42 | #    error "could not determine byte order" | 
 | 43 | #  endif | 
 | 44 | #endif | 
| David Howells | a648bd0 | 2011-12-13 15:07:49 +0000 | [diff] [blame] | 45 | #endif | 
| Stuart Brady | 60d300c | 2005-05-05 16:15:07 -0700 | [diff] [blame] | 46 |  | 
 | 47 | #endif /* _LINUX_PATCHKEY_H */ |