1 /* SPDX-License-Identifier: GPL-2.0 */ << 2 /* 1 /* 3 * <linux/patchkey.h> -- definition of _PATCHK 2 * <linux/patchkey.h> -- definition of _PATCHKEY macro 4 * 3 * 5 * Copyright (C) 2005 Stuart Brady 4 * Copyright (C) 2005 Stuart Brady 6 * 5 * 7 * This exists because awe_voice.h defined its 6 * This exists because awe_voice.h defined its own _PATCHKEY and it wasn't 8 * clear whether removing this would break any 7 * clear whether removing this would break anything in userspace. 9 * 8 * 10 * Do not include this file directly. Please 9 * Do not include this file directly. Please use <sys/soundcard.h> instead. 11 * For kernel code, use <linux/soundcard.h> 10 * For kernel code, use <linux/soundcard.h> 12 */ 11 */ >> 12 >> 13 #ifndef _LINUX_PATCHKEY_H_INDIRECT >> 14 #error "patchkey.h included directly" >> 15 #endif >> 16 13 #ifndef _LINUX_PATCHKEY_H 17 #ifndef _LINUX_PATCHKEY_H 14 #define _LINUX_PATCHKEY_H 18 #define _LINUX_PATCHKEY_H 15 19 >> 20 /* Endian macros. */ >> 21 #ifdef __KERNEL__ 16 # include <asm/byteorder.h> 22 # include <asm/byteorder.h> 17 #include <uapi/linux/patchkey.h> !! 23 #else >> 24 # include <endian.h> >> 25 #endif 18 26 >> 27 #if defined(__KERNEL__) 19 # if defined(__BIG_ENDIAN) 28 # if defined(__BIG_ENDIAN) 20 # define _PATCHKEY(id) (0xfd00|id) 29 # define _PATCHKEY(id) (0xfd00|id) 21 # elif defined(__LITTLE_ENDIAN) 30 # elif defined(__LITTLE_ENDIAN) 22 # define _PATCHKEY(id) ((id<<8)|0x00fd) 31 # define _PATCHKEY(id) ((id<<8)|0x00fd) 23 # else 32 # else 24 # error "could not determine byte order" 33 # error "could not determine byte order" 25 # 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 26 #endif /* _LINUX_PATCHKEY_H */ 45 #endif /* _LINUX_PATCHKEY_H */ 27 46
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.