-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[PATCH] include/linux/soundcard.h: endianness fix
Fixes for big-endian systems in soundcard.h and awe_voice.h This patch fixes the AFMT_S16_NE (include/linux/soundcard.h) and AWE_PATCH (awe_voice.h) macros on big-endian systems. It also moves _PATCHKEY into a new file, patchkey.h, in order to remove a duplicate definition of it from awe_voice.h. Signed-off-by: Stuart Brady <sdbrady@ntlworld.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
- Loading branch information
Stuart Brady
authored and
Linus Torvalds
committed
May 5, 2005
1 parent
42d77c7
commit 60d300c
Showing
3 changed files
with
75 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
/* | ||
* <linux/patchkey.h> -- definition of _PATCHKEY macro | ||
* | ||
* Copyright (C) 2005 Stuart Brady | ||
* | ||
* This exists because awe_voice.h defined its own _PATCHKEY and it wasn't | ||
* clear whether removing this would break anything in userspace. | ||
* | ||
* Do not include this file directly. Please use <sys/soundcard.h> instead. | ||
* For kernel code, use <linux/soundcard.h> | ||
*/ | ||
|
||
#ifndef _LINUX_PATCHKEY_H_INDIRECT | ||
#error "patchkey.h included directly" | ||
#endif | ||
|
||
#ifndef _LINUX_PATCHKEY_H | ||
#define _LINUX_PATCHKEY_H | ||
|
||
/* Endian macros. */ | ||
#ifdef __KERNEL__ | ||
# include <asm/byteorder.h> | ||
#else | ||
# include <endian.h> | ||
#endif | ||
|
||
#if defined(__KERNEL__) | ||
# if defined(__BIG_ENDIAN) | ||
# define _PATCHKEY(id) (0xfd00|id) | ||
# elif defined(__LITTLE_ENDIAN) | ||
# define _PATCHKEY(id) ((id<<8)|0x00fd) | ||
# else | ||
# error "could not determine byte order" | ||
# endif | ||
#elif defined(__BYTE_ORDER) | ||
# if __BYTE_ORDER == __BIG_ENDIAN | ||
# define _PATCHKEY(id) (0xfd00|id) | ||
# elif __BYTE_ORDER == __LITTLE_ENDIAN | ||
# define _PATCHKEY(id) ((id<<8)|0x00fd) | ||
# else | ||
# error "could not determine byte order" | ||
# endif | ||
#endif | ||
|
||
#endif /* _LINUX_PATCHKEY_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters