- Backport upstream fixes: ucm-parser fixes and enhancements, configure script cleanup, fixes of 5.6 kernel ABI, O_CLOEXEC flag fix: 0064-ucm-parser-cosmetic-fixes-in-the-comments.patch 0065-configure.ac-remove-an-unnecessary-libtool-fix.patch 0066-ucm-parser-use-correct-filename-in-parser_master_fil.patch 0067-ucm-the-ucm2-subdirectory-is-driver-name-based.patch 0068-ucm-implement-RenameDevice-and-RemoveDevice-verb-man.patch 0069-ucm-fill-missing-device-entries-conflicting-supporte.patch 0070-control-Remove-access-to-the-deprecated-dimen-fields.patch 0071-topology-Drop-SNDRV_CTL_ELEM_ACCESS_TIMESTAMP-access.patch 0072-uapi-Sync-with-5.6-kernel-ABI.patch 0073-ucm-parser-add-error-message-to-verb_dev_list_add.patch 0074-do-not-set-close-on-exec-flag-on-descriptor-if-it-wa.patch OBS-URL: https://build.opensuse.org/request/show/774837 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=267
722 lines
32 KiB
Diff
722 lines
32 KiB
Diff
From 5bbe8b2fb90e78d6ff35eeddbc2b579b8e05cd8f Mon Sep 17 00:00:00 2001
|
|
From: Takashi Iwai <tiwai@suse.de>
|
|
Date: Mon, 10 Feb 2020 12:50:50 +0100
|
|
Subject: [PATCH 72/74] uapi: Sync with 5.6 kernel ABI
|
|
|
|
This is a sync with 5.6-rc1 kernel headers. The copy is performed
|
|
from the sanitized headers installed via make headers_install.
|
|
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
---
|
|
include/sound/uapi/asequencer.h | 12 +-
|
|
include/sound/uapi/asoc.h | 9 +-
|
|
include/sound/uapi/asound.h | 319 ++++++++++++++++++++++++++--------------
|
|
include/sound/uapi/emu10k1.h | 12 +-
|
|
include/sound/uapi/hdsp.h | 4 +
|
|
include/sound/uapi/hdspm.h | 4 +
|
|
include/sound/uapi/sb16_csp.h | 6 +-
|
|
7 files changed, 235 insertions(+), 131 deletions(-)
|
|
|
|
diff --git a/include/sound/uapi/asequencer.h b/include/sound/uapi/asequencer.h
|
|
index a75e14edc957..2d600320e2ae 100644
|
|
--- a/include/sound/uapi/asequencer.h
|
|
+++ b/include/sound/uapi/asequencer.h
|
|
@@ -20,8 +20,8 @@
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*
|
|
*/
|
|
-#ifndef _UAPI__SOUND_ASEQUENCER_H
|
|
-#define _UAPI__SOUND_ASEQUENCER_H
|
|
+#ifndef __SOUND_ASEQUENCER_H
|
|
+#define __SOUND_ASEQUENCER_H
|
|
|
|
#include <sound/asound.h>
|
|
|
|
@@ -339,9 +339,9 @@ struct snd_seq_running_info {
|
|
|
|
/* client types */
|
|
typedef int __bitwise snd_seq_client_type_t;
|
|
-#define NO_CLIENT ((__force snd_seq_client_type_t) 0)
|
|
-#define USER_CLIENT ((__force snd_seq_client_type_t) 1)
|
|
-#define KERNEL_CLIENT ((__force snd_seq_client_type_t) 2)
|
|
+#define NO_CLIENT ((snd_seq_client_type_t) 0)
|
|
+#define USER_CLIENT ((snd_seq_client_type_t) 1)
|
|
+#define KERNEL_CLIENT ((snd_seq_client_type_t) 2)
|
|
|
|
/* event filter flags */
|
|
#define SNDRV_SEQ_FILTER_BROADCAST (1<<0) /* accept broadcast messages */
|
|
@@ -609,4 +609,4 @@ struct snd_seq_query_subs {
|
|
#define SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT _IOWR('S', 0x51, struct snd_seq_client_info)
|
|
#define SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT _IOWR('S', 0x52, struct snd_seq_port_info)
|
|
|
|
-#endif /* _UAPI__SOUND_ASEQUENCER_H */
|
|
+#endif /* __SOUND_ASEQUENCER_H */
|
|
diff --git a/include/sound/uapi/asoc.h b/include/sound/uapi/asoc.h
|
|
index a74ca232f1fc..4efb4ec42500 100644
|
|
--- a/include/sound/uapi/asoc.h
|
|
+++ b/include/sound/uapi/asoc.h
|
|
@@ -17,7 +17,6 @@
|
|
#define __LINUX_UAPI_SND_ASOC_H
|
|
|
|
#include <linux/types.h>
|
|
-#include <sound/asound.h>
|
|
|
|
/*
|
|
* Maximum number of channels topology kcontrol can represent.
|
|
@@ -587,7 +586,7 @@ struct snd_soc_tplg_manifest_v4 {
|
|
__le32 pcm_elems; /* number of PCM elements */
|
|
__le32 dai_link_elems; /* number of DAI link elements */
|
|
struct snd_soc_tplg_private priv;
|
|
-} __packed;
|
|
+} __attribute__((packed));
|
|
|
|
/* Stream Capabilities v4 */
|
|
struct snd_soc_tplg_stream_caps_v4 {
|
|
@@ -605,7 +604,7 @@ struct snd_soc_tplg_stream_caps_v4 {
|
|
__le32 period_size_max; /* max period size bytes */
|
|
__le32 buffer_size_min; /* min buffer size bytes */
|
|
__le32 buffer_size_max; /* max buffer size bytes */
|
|
-} __packed;
|
|
+} __attribute__((packed));
|
|
|
|
/* PCM v4 */
|
|
struct snd_soc_tplg_pcm_v4 {
|
|
@@ -620,7 +619,7 @@ struct snd_soc_tplg_pcm_v4 {
|
|
struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */
|
|
__le32 num_streams; /* number of streams */
|
|
struct snd_soc_tplg_stream_caps_v4 caps[2]; /* playback and capture for DAI */
|
|
-} __packed;
|
|
+} __attribute__((packed));
|
|
|
|
/* Physical link config v4 */
|
|
struct snd_soc_tplg_link_config_v4 {
|
|
@@ -628,6 +627,6 @@ struct snd_soc_tplg_link_config_v4 {
|
|
__le32 id; /* unique ID - used to match */
|
|
struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */
|
|
__le32 num_streams; /* number of streams */
|
|
-} __packed;
|
|
+} __attribute__((packed));
|
|
|
|
#endif
|
|
diff --git a/include/sound/uapi/asound.h b/include/sound/uapi/asound.h
|
|
index df1153cea0b7..ec610c270411 100644
|
|
--- a/include/sound/uapi/asound.h
|
|
+++ b/include/sound/uapi/asound.h
|
|
@@ -21,19 +21,19 @@
|
|
*
|
|
*/
|
|
|
|
-#ifndef _UAPI__SOUND_ASOUND_H
|
|
-#define _UAPI__SOUND_ASOUND_H
|
|
+#ifndef __SOUND_ASOUND_H
|
|
+#define __SOUND_ASOUND_H
|
|
|
|
#if defined(__KERNEL__) || defined(__linux__)
|
|
#include <linux/types.h>
|
|
+#include <asm/byteorder.h>
|
|
#else
|
|
+#include <endian.h>
|
|
#include <sys/ioctl.h>
|
|
#endif
|
|
|
|
-#ifndef __KERNEL__
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
-#endif
|
|
|
|
/*
|
|
* protocol version
|
|
@@ -138,7 +138,7 @@ struct snd_hwdep_dsp_status {
|
|
struct snd_hwdep_dsp_image {
|
|
unsigned int index; /* W: DSP index */
|
|
unsigned char name[64]; /* W: ID (e.g. file name) */
|
|
- unsigned char __user *image; /* W: binary image */
|
|
+ unsigned char *image; /* W: binary image */
|
|
size_t length; /* W: size of image in bytes */
|
|
unsigned long driver_data; /* W: driver-specific data */
|
|
};
|
|
@@ -154,7 +154,7 @@ struct snd_hwdep_dsp_image {
|
|
* *
|
|
*****************************************************************************/
|
|
|
|
-#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 14)
|
|
+#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 15)
|
|
|
|
typedef unsigned long snd_pcm_uframes_t;
|
|
typedef signed long snd_pcm_sframes_t;
|
|
@@ -182,66 +182,66 @@ enum {
|
|
};
|
|
|
|
typedef int __bitwise snd_pcm_access_t;
|
|
-#define SNDRV_PCM_ACCESS_MMAP_INTERLEAVED ((__force snd_pcm_access_t) 0) /* interleaved mmap */
|
|
-#define SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED ((__force snd_pcm_access_t) 1) /* noninterleaved mmap */
|
|
-#define SNDRV_PCM_ACCESS_MMAP_COMPLEX ((__force snd_pcm_access_t) 2) /* complex mmap */
|
|
-#define SNDRV_PCM_ACCESS_RW_INTERLEAVED ((__force snd_pcm_access_t) 3) /* readi/writei */
|
|
-#define SNDRV_PCM_ACCESS_RW_NONINTERLEAVED ((__force snd_pcm_access_t) 4) /* readn/writen */
|
|
+#define SNDRV_PCM_ACCESS_MMAP_INTERLEAVED ((snd_pcm_access_t) 0) /* interleaved mmap */
|
|
+#define SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED ((snd_pcm_access_t) 1) /* noninterleaved mmap */
|
|
+#define SNDRV_PCM_ACCESS_MMAP_COMPLEX ((snd_pcm_access_t) 2) /* complex mmap */
|
|
+#define SNDRV_PCM_ACCESS_RW_INTERLEAVED ((snd_pcm_access_t) 3) /* readi/writei */
|
|
+#define SNDRV_PCM_ACCESS_RW_NONINTERLEAVED ((snd_pcm_access_t) 4) /* readn/writen */
|
|
#define SNDRV_PCM_ACCESS_LAST SNDRV_PCM_ACCESS_RW_NONINTERLEAVED
|
|
|
|
typedef int __bitwise snd_pcm_format_t;
|
|
-#define SNDRV_PCM_FORMAT_S8 ((__force snd_pcm_format_t) 0)
|
|
-#define SNDRV_PCM_FORMAT_U8 ((__force snd_pcm_format_t) 1)
|
|
-#define SNDRV_PCM_FORMAT_S16_LE ((__force snd_pcm_format_t) 2)
|
|
-#define SNDRV_PCM_FORMAT_S16_BE ((__force snd_pcm_format_t) 3)
|
|
-#define SNDRV_PCM_FORMAT_U16_LE ((__force snd_pcm_format_t) 4)
|
|
-#define SNDRV_PCM_FORMAT_U16_BE ((__force snd_pcm_format_t) 5)
|
|
-#define SNDRV_PCM_FORMAT_S24_LE ((__force snd_pcm_format_t) 6) /* low three bytes */
|
|
-#define SNDRV_PCM_FORMAT_S24_BE ((__force snd_pcm_format_t) 7) /* low three bytes */
|
|
-#define SNDRV_PCM_FORMAT_U24_LE ((__force snd_pcm_format_t) 8) /* low three bytes */
|
|
-#define SNDRV_PCM_FORMAT_U24_BE ((__force snd_pcm_format_t) 9) /* low three bytes */
|
|
-#define SNDRV_PCM_FORMAT_S32_LE ((__force snd_pcm_format_t) 10)
|
|
-#define SNDRV_PCM_FORMAT_S32_BE ((__force snd_pcm_format_t) 11)
|
|
-#define SNDRV_PCM_FORMAT_U32_LE ((__force snd_pcm_format_t) 12)
|
|
-#define SNDRV_PCM_FORMAT_U32_BE ((__force snd_pcm_format_t) 13)
|
|
-#define SNDRV_PCM_FORMAT_FLOAT_LE ((__force snd_pcm_format_t) 14) /* 4-byte float, IEEE-754 32-bit, range -1.0 to 1.0 */
|
|
-#define SNDRV_PCM_FORMAT_FLOAT_BE ((__force snd_pcm_format_t) 15) /* 4-byte float, IEEE-754 32-bit, range -1.0 to 1.0 */
|
|
-#define SNDRV_PCM_FORMAT_FLOAT64_LE ((__force snd_pcm_format_t) 16) /* 8-byte float, IEEE-754 64-bit, range -1.0 to 1.0 */
|
|
-#define SNDRV_PCM_FORMAT_FLOAT64_BE ((__force snd_pcm_format_t) 17) /* 8-byte float, IEEE-754 64-bit, range -1.0 to 1.0 */
|
|
-#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE ((__force snd_pcm_format_t) 18) /* IEC-958 subframe, Little Endian */
|
|
-#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE ((__force snd_pcm_format_t) 19) /* IEC-958 subframe, Big Endian */
|
|
-#define SNDRV_PCM_FORMAT_MU_LAW ((__force snd_pcm_format_t) 20)
|
|
-#define SNDRV_PCM_FORMAT_A_LAW ((__force snd_pcm_format_t) 21)
|
|
-#define SNDRV_PCM_FORMAT_IMA_ADPCM ((__force snd_pcm_format_t) 22)
|
|
-#define SNDRV_PCM_FORMAT_MPEG ((__force snd_pcm_format_t) 23)
|
|
-#define SNDRV_PCM_FORMAT_GSM ((__force snd_pcm_format_t) 24)
|
|
-#define SNDRV_PCM_FORMAT_S20_LE ((__force snd_pcm_format_t) 25) /* in four bytes, LSB justified */
|
|
-#define SNDRV_PCM_FORMAT_S20_BE ((__force snd_pcm_format_t) 26) /* in four bytes, LSB justified */
|
|
-#define SNDRV_PCM_FORMAT_U20_LE ((__force snd_pcm_format_t) 27) /* in four bytes, LSB justified */
|
|
-#define SNDRV_PCM_FORMAT_U20_BE ((__force snd_pcm_format_t) 28) /* in four bytes, LSB justified */
|
|
+#define SNDRV_PCM_FORMAT_S8 ((snd_pcm_format_t) 0)
|
|
+#define SNDRV_PCM_FORMAT_U8 ((snd_pcm_format_t) 1)
|
|
+#define SNDRV_PCM_FORMAT_S16_LE ((snd_pcm_format_t) 2)
|
|
+#define SNDRV_PCM_FORMAT_S16_BE ((snd_pcm_format_t) 3)
|
|
+#define SNDRV_PCM_FORMAT_U16_LE ((snd_pcm_format_t) 4)
|
|
+#define SNDRV_PCM_FORMAT_U16_BE ((snd_pcm_format_t) 5)
|
|
+#define SNDRV_PCM_FORMAT_S24_LE ((snd_pcm_format_t) 6) /* low three bytes */
|
|
+#define SNDRV_PCM_FORMAT_S24_BE ((snd_pcm_format_t) 7) /* low three bytes */
|
|
+#define SNDRV_PCM_FORMAT_U24_LE ((snd_pcm_format_t) 8) /* low three bytes */
|
|
+#define SNDRV_PCM_FORMAT_U24_BE ((snd_pcm_format_t) 9) /* low three bytes */
|
|
+#define SNDRV_PCM_FORMAT_S32_LE ((snd_pcm_format_t) 10)
|
|
+#define SNDRV_PCM_FORMAT_S32_BE ((snd_pcm_format_t) 11)
|
|
+#define SNDRV_PCM_FORMAT_U32_LE ((snd_pcm_format_t) 12)
|
|
+#define SNDRV_PCM_FORMAT_U32_BE ((snd_pcm_format_t) 13)
|
|
+#define SNDRV_PCM_FORMAT_FLOAT_LE ((snd_pcm_format_t) 14) /* 4-byte float, IEEE-754 32-bit, range -1.0 to 1.0 */
|
|
+#define SNDRV_PCM_FORMAT_FLOAT_BE ((snd_pcm_format_t) 15) /* 4-byte float, IEEE-754 32-bit, range -1.0 to 1.0 */
|
|
+#define SNDRV_PCM_FORMAT_FLOAT64_LE ((snd_pcm_format_t) 16) /* 8-byte float, IEEE-754 64-bit, range -1.0 to 1.0 */
|
|
+#define SNDRV_PCM_FORMAT_FLOAT64_BE ((snd_pcm_format_t) 17) /* 8-byte float, IEEE-754 64-bit, range -1.0 to 1.0 */
|
|
+#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE ((snd_pcm_format_t) 18) /* IEC-958 subframe, Little Endian */
|
|
+#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE ((snd_pcm_format_t) 19) /* IEC-958 subframe, Big Endian */
|
|
+#define SNDRV_PCM_FORMAT_MU_LAW ((snd_pcm_format_t) 20)
|
|
+#define SNDRV_PCM_FORMAT_A_LAW ((snd_pcm_format_t) 21)
|
|
+#define SNDRV_PCM_FORMAT_IMA_ADPCM ((snd_pcm_format_t) 22)
|
|
+#define SNDRV_PCM_FORMAT_MPEG ((snd_pcm_format_t) 23)
|
|
+#define SNDRV_PCM_FORMAT_GSM ((snd_pcm_format_t) 24)
|
|
+#define SNDRV_PCM_FORMAT_S20_LE ((snd_pcm_format_t) 25) /* in four bytes, LSB justified */
|
|
+#define SNDRV_PCM_FORMAT_S20_BE ((snd_pcm_format_t) 26) /* in four bytes, LSB justified */
|
|
+#define SNDRV_PCM_FORMAT_U20_LE ((snd_pcm_format_t) 27) /* in four bytes, LSB justified */
|
|
+#define SNDRV_PCM_FORMAT_U20_BE ((snd_pcm_format_t) 28) /* in four bytes, LSB justified */
|
|
/* gap in the numbering for a future standard linear format */
|
|
-#define SNDRV_PCM_FORMAT_SPECIAL ((__force snd_pcm_format_t) 31)
|
|
-#define SNDRV_PCM_FORMAT_S24_3LE ((__force snd_pcm_format_t) 32) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_S24_3BE ((__force snd_pcm_format_t) 33) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_U24_3LE ((__force snd_pcm_format_t) 34) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_U24_3BE ((__force snd_pcm_format_t) 35) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_S20_3LE ((__force snd_pcm_format_t) 36) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_S20_3BE ((__force snd_pcm_format_t) 37) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_U20_3LE ((__force snd_pcm_format_t) 38) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_U20_3BE ((__force snd_pcm_format_t) 39) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_S18_3LE ((__force snd_pcm_format_t) 40) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_S18_3BE ((__force snd_pcm_format_t) 41) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_U18_3LE ((__force snd_pcm_format_t) 42) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_U18_3BE ((__force snd_pcm_format_t) 43) /* in three bytes */
|
|
-#define SNDRV_PCM_FORMAT_G723_24 ((__force snd_pcm_format_t) 44) /* 8 samples in 3 bytes */
|
|
-#define SNDRV_PCM_FORMAT_G723_24_1B ((__force snd_pcm_format_t) 45) /* 1 sample in 1 byte */
|
|
-#define SNDRV_PCM_FORMAT_G723_40 ((__force snd_pcm_format_t) 46) /* 8 Samples in 5 bytes */
|
|
-#define SNDRV_PCM_FORMAT_G723_40_1B ((__force snd_pcm_format_t) 47) /* 1 sample in 1 byte */
|
|
-#define SNDRV_PCM_FORMAT_DSD_U8 ((__force snd_pcm_format_t) 48) /* DSD, 1-byte samples DSD (x8) */
|
|
-#define SNDRV_PCM_FORMAT_DSD_U16_LE ((__force snd_pcm_format_t) 49) /* DSD, 2-byte samples DSD (x16), little endian */
|
|
-#define SNDRV_PCM_FORMAT_DSD_U32_LE ((__force snd_pcm_format_t) 50) /* DSD, 4-byte samples DSD (x32), little endian */
|
|
-#define SNDRV_PCM_FORMAT_DSD_U16_BE ((__force snd_pcm_format_t) 51) /* DSD, 2-byte samples DSD (x16), big endian */
|
|
-#define SNDRV_PCM_FORMAT_DSD_U32_BE ((__force snd_pcm_format_t) 52) /* DSD, 4-byte samples DSD (x32), big endian */
|
|
+#define SNDRV_PCM_FORMAT_SPECIAL ((snd_pcm_format_t) 31)
|
|
+#define SNDRV_PCM_FORMAT_S24_3LE ((snd_pcm_format_t) 32) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_S24_3BE ((snd_pcm_format_t) 33) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_U24_3LE ((snd_pcm_format_t) 34) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_U24_3BE ((snd_pcm_format_t) 35) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_S20_3LE ((snd_pcm_format_t) 36) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_S20_3BE ((snd_pcm_format_t) 37) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_U20_3LE ((snd_pcm_format_t) 38) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_U20_3BE ((snd_pcm_format_t) 39) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_S18_3LE ((snd_pcm_format_t) 40) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_S18_3BE ((snd_pcm_format_t) 41) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_U18_3LE ((snd_pcm_format_t) 42) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_U18_3BE ((snd_pcm_format_t) 43) /* in three bytes */
|
|
+#define SNDRV_PCM_FORMAT_G723_24 ((snd_pcm_format_t) 44) /* 8 samples in 3 bytes */
|
|
+#define SNDRV_PCM_FORMAT_G723_24_1B ((snd_pcm_format_t) 45) /* 1 sample in 1 byte */
|
|
+#define SNDRV_PCM_FORMAT_G723_40 ((snd_pcm_format_t) 46) /* 8 Samples in 5 bytes */
|
|
+#define SNDRV_PCM_FORMAT_G723_40_1B ((snd_pcm_format_t) 47) /* 1 sample in 1 byte */
|
|
+#define SNDRV_PCM_FORMAT_DSD_U8 ((snd_pcm_format_t) 48) /* DSD, 1-byte samples DSD (x8) */
|
|
+#define SNDRV_PCM_FORMAT_DSD_U16_LE ((snd_pcm_format_t) 49) /* DSD, 2-byte samples DSD (x16), little endian */
|
|
+#define SNDRV_PCM_FORMAT_DSD_U32_LE ((snd_pcm_format_t) 50) /* DSD, 4-byte samples DSD (x32), little endian */
|
|
+#define SNDRV_PCM_FORMAT_DSD_U16_BE ((snd_pcm_format_t) 51) /* DSD, 2-byte samples DSD (x16), big endian */
|
|
+#define SNDRV_PCM_FORMAT_DSD_U32_BE ((snd_pcm_format_t) 52) /* DSD, 4-byte samples DSD (x32), big endian */
|
|
#define SNDRV_PCM_FORMAT_LAST SNDRV_PCM_FORMAT_DSD_U32_BE
|
|
#define SNDRV_PCM_FORMAT_FIRST SNDRV_PCM_FORMAT_S8
|
|
|
|
@@ -273,7 +273,7 @@ typedef int __bitwise snd_pcm_format_t;
|
|
#endif
|
|
|
|
typedef int __bitwise snd_pcm_subformat_t;
|
|
-#define SNDRV_PCM_SUBFORMAT_STD ((__force snd_pcm_subformat_t) 0)
|
|
+#define SNDRV_PCM_SUBFORMAT_STD ((snd_pcm_subformat_t) 0)
|
|
#define SNDRV_PCM_SUBFORMAT_LAST SNDRV_PCM_SUBFORMAT_STD
|
|
|
|
#define SNDRV_PCM_INFO_MMAP 0x00000001 /* hardware supports mmap */
|
|
@@ -301,24 +301,35 @@ typedef int __bitwise snd_pcm_subformat_t;
|
|
#define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000 /* internal kernel flag - trigger in drain */
|
|
#define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 /* internal kernel flag - FIFO size is in frames */
|
|
|
|
-
|
|
+#if (__BITS_PER_LONG == 32 && defined(__USE_TIME_BITS64)) || defined __KERNEL__
|
|
+#define __SND_STRUCT_TIME64
|
|
+#endif
|
|
|
|
typedef int __bitwise snd_pcm_state_t;
|
|
-#define SNDRV_PCM_STATE_OPEN ((__force snd_pcm_state_t) 0) /* stream is open */
|
|
-#define SNDRV_PCM_STATE_SETUP ((__force snd_pcm_state_t) 1) /* stream has a setup */
|
|
-#define SNDRV_PCM_STATE_PREPARED ((__force snd_pcm_state_t) 2) /* stream is ready to start */
|
|
-#define SNDRV_PCM_STATE_RUNNING ((__force snd_pcm_state_t) 3) /* stream is running */
|
|
-#define SNDRV_PCM_STATE_XRUN ((__force snd_pcm_state_t) 4) /* stream reached an xrun */
|
|
-#define SNDRV_PCM_STATE_DRAINING ((__force snd_pcm_state_t) 5) /* stream is draining */
|
|
-#define SNDRV_PCM_STATE_PAUSED ((__force snd_pcm_state_t) 6) /* stream is paused */
|
|
-#define SNDRV_PCM_STATE_SUSPENDED ((__force snd_pcm_state_t) 7) /* hardware is suspended */
|
|
-#define SNDRV_PCM_STATE_DISCONNECTED ((__force snd_pcm_state_t) 8) /* hardware is disconnected */
|
|
+#define SNDRV_PCM_STATE_OPEN ((snd_pcm_state_t) 0) /* stream is open */
|
|
+#define SNDRV_PCM_STATE_SETUP ((snd_pcm_state_t) 1) /* stream has a setup */
|
|
+#define SNDRV_PCM_STATE_PREPARED ((snd_pcm_state_t) 2) /* stream is ready to start */
|
|
+#define SNDRV_PCM_STATE_RUNNING ((snd_pcm_state_t) 3) /* stream is running */
|
|
+#define SNDRV_PCM_STATE_XRUN ((snd_pcm_state_t) 4) /* stream reached an xrun */
|
|
+#define SNDRV_PCM_STATE_DRAINING ((snd_pcm_state_t) 5) /* stream is draining */
|
|
+#define SNDRV_PCM_STATE_PAUSED ((snd_pcm_state_t) 6) /* stream is paused */
|
|
+#define SNDRV_PCM_STATE_SUSPENDED ((snd_pcm_state_t) 7) /* hardware is suspended */
|
|
+#define SNDRV_PCM_STATE_DISCONNECTED ((snd_pcm_state_t) 8) /* hardware is disconnected */
|
|
#define SNDRV_PCM_STATE_LAST SNDRV_PCM_STATE_DISCONNECTED
|
|
|
|
enum {
|
|
SNDRV_PCM_MMAP_OFFSET_DATA = 0x00000000,
|
|
- SNDRV_PCM_MMAP_OFFSET_STATUS = 0x80000000,
|
|
- SNDRV_PCM_MMAP_OFFSET_CONTROL = 0x81000000,
|
|
+ SNDRV_PCM_MMAP_OFFSET_STATUS_OLD = 0x80000000,
|
|
+ SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD = 0x81000000,
|
|
+ SNDRV_PCM_MMAP_OFFSET_STATUS_NEW = 0x82000000,
|
|
+ SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW = 0x83000000,
|
|
+#ifdef __SND_STRUCT_TIME64
|
|
+ SNDRV_PCM_MMAP_OFFSET_STATUS = SNDRV_PCM_MMAP_OFFSET_STATUS_NEW,
|
|
+ SNDRV_PCM_MMAP_OFFSET_CONTROL = SNDRV_PCM_MMAP_OFFSET_CONTROL_NEW,
|
|
+#else
|
|
+ SNDRV_PCM_MMAP_OFFSET_STATUS = SNDRV_PCM_MMAP_OFFSET_STATUS_OLD,
|
|
+ SNDRV_PCM_MMAP_OFFSET_CONTROL = SNDRV_PCM_MMAP_OFFSET_CONTROL_OLD,
|
|
+#endif
|
|
};
|
|
|
|
union snd_pcm_sync_id {
|
|
@@ -456,8 +467,12 @@ enum {
|
|
SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST = SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED
|
|
};
|
|
|
|
+/* explicit padding avoids incompatibility between i386 and x86-64 */
|
|
+typedef struct { unsigned char pad[sizeof(time_t) - sizeof(int)]; } __time_pad;
|
|
+
|
|
struct snd_pcm_status {
|
|
snd_pcm_state_t state; /* stream state */
|
|
+ __time_pad pad1; /* align to timespec */
|
|
struct timespec trigger_tstamp; /* time when stream was started/stopped/paused */
|
|
struct timespec tstamp; /* reference timestamp */
|
|
snd_pcm_uframes_t appl_ptr; /* appl ptr */
|
|
@@ -474,16 +489,42 @@ struct snd_pcm_status {
|
|
unsigned char reserved[52-2*sizeof(struct timespec)]; /* must be filled with zero */
|
|
};
|
|
|
|
-struct snd_pcm_mmap_status {
|
|
+/*
|
|
+ * For mmap operations, we need the 64-bit layout, both for compat mode,
|
|
+ * and for y2038 compatibility. For 64-bit applications, the two definitions
|
|
+ * are identical, so we keep the traditional version.
|
|
+ */
|
|
+#ifdef __SND_STRUCT_TIME64
|
|
+#define __snd_pcm_mmap_status64 snd_pcm_mmap_status
|
|
+#define __snd_pcm_mmap_control64 snd_pcm_mmap_control
|
|
+#define __snd_pcm_sync_ptr64 snd_pcm_sync_ptr
|
|
+#define __snd_timespec64 timespec
|
|
+struct __snd_timespec {
|
|
+ __s32 tv_sec;
|
|
+ __s32 tv_nsec;
|
|
+};
|
|
+#else
|
|
+#define __snd_pcm_mmap_status snd_pcm_mmap_status
|
|
+#define __snd_pcm_mmap_control snd_pcm_mmap_control
|
|
+#define __snd_pcm_sync_ptr snd_pcm_sync_ptr
|
|
+#define __snd_timespec timespec
|
|
+struct __snd_timespec64 {
|
|
+ __s64 tv_sec;
|
|
+ __s64 tv_nsec;
|
|
+};
|
|
+
|
|
+#endif
|
|
+
|
|
+struct __snd_pcm_mmap_status {
|
|
snd_pcm_state_t state; /* RO: state - SNDRV_PCM_STATE_XXXX */
|
|
int pad1; /* Needed for 64 bit alignment */
|
|
snd_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
|
|
- struct timespec tstamp; /* Timestamp */
|
|
+ struct __snd_timespec tstamp; /* Timestamp */
|
|
snd_pcm_state_t suspended_state; /* RO: suspended stream state */
|
|
- struct timespec audio_tstamp; /* from sample counter or wall clock */
|
|
+ struct __snd_timespec audio_tstamp; /* from sample counter or wall clock */
|
|
};
|
|
|
|
-struct snd_pcm_mmap_control {
|
|
+struct __snd_pcm_mmap_control {
|
|
snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
|
|
snd_pcm_uframes_t avail_min; /* RW: min available frames for wakeup */
|
|
};
|
|
@@ -492,27 +533,72 @@ struct snd_pcm_mmap_control {
|
|
#define SNDRV_PCM_SYNC_PTR_APPL (1<<1) /* get appl_ptr from driver (r/w op) */
|
|
#define SNDRV_PCM_SYNC_PTR_AVAIL_MIN (1<<2) /* get avail_min from driver */
|
|
|
|
-struct snd_pcm_sync_ptr {
|
|
+struct __snd_pcm_sync_ptr {
|
|
unsigned int flags;
|
|
union {
|
|
- struct snd_pcm_mmap_status status;
|
|
+ struct __snd_pcm_mmap_status status;
|
|
unsigned char reserved[64];
|
|
} s;
|
|
union {
|
|
- struct snd_pcm_mmap_control control;
|
|
+ struct __snd_pcm_mmap_control control;
|
|
+ unsigned char reserved[64];
|
|
+ } c;
|
|
+};
|
|
+
|
|
+#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
|
|
+typedef char __pad_before_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
|
|
+typedef char __pad_after_uframe[0];
|
|
+#endif
|
|
+
|
|
+#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
|
|
+typedef char __pad_before_uframe[0];
|
|
+typedef char __pad_after_uframe[sizeof(__u64) - sizeof(snd_pcm_uframes_t)];
|
|
+#endif
|
|
+
|
|
+struct __snd_pcm_mmap_status64 {
|
|
+ snd_pcm_state_t state; /* RO: state - SNDRV_PCM_STATE_XXXX */
|
|
+ __u32 pad1; /* Needed for 64 bit alignment */
|
|
+ __pad_before_uframe __pad1;
|
|
+ snd_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
|
|
+ __pad_after_uframe __pad2;
|
|
+ struct __snd_timespec64 tstamp; /* Timestamp */
|
|
+ snd_pcm_state_t suspended_state;/* RO: suspended stream state */
|
|
+ __u32 pad3; /* Needed for 64 bit alignment */
|
|
+ struct __snd_timespec64 audio_tstamp; /* sample counter or wall clock */
|
|
+};
|
|
+
|
|
+struct __snd_pcm_mmap_control64 {
|
|
+ __pad_before_uframe __pad1;
|
|
+ snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
|
|
+ __pad_before_uframe __pad2;
|
|
+
|
|
+ __pad_before_uframe __pad3;
|
|
+ snd_pcm_uframes_t avail_min; /* RW: min available frames for wakeup */
|
|
+ __pad_after_uframe __pad4;
|
|
+};
|
|
+
|
|
+struct __snd_pcm_sync_ptr64 {
|
|
+ __u32 flags;
|
|
+ __u32 pad1;
|
|
+ union {
|
|
+ struct __snd_pcm_mmap_status64 status;
|
|
+ unsigned char reserved[64];
|
|
+ } s;
|
|
+ union {
|
|
+ struct __snd_pcm_mmap_control64 control;
|
|
unsigned char reserved[64];
|
|
} c;
|
|
};
|
|
|
|
struct snd_xferi {
|
|
snd_pcm_sframes_t result;
|
|
- void __user *buf;
|
|
+ void *buf;
|
|
snd_pcm_uframes_t frames;
|
|
};
|
|
|
|
struct snd_xfern {
|
|
snd_pcm_sframes_t result;
|
|
- void __user * __user *bufs;
|
|
+ void * *bufs;
|
|
snd_pcm_uframes_t frames;
|
|
};
|
|
|
|
@@ -584,6 +670,8 @@ enum {
|
|
#define SNDRV_PCM_IOCTL_STATUS _IOR('A', 0x20, struct snd_pcm_status)
|
|
#define SNDRV_PCM_IOCTL_DELAY _IOR('A', 0x21, snd_pcm_sframes_t)
|
|
#define SNDRV_PCM_IOCTL_HWSYNC _IO('A', 0x22)
|
|
+#define __SNDRV_PCM_IOCTL_SYNC_PTR _IOWR('A', 0x23, struct __snd_pcm_sync_ptr)
|
|
+#define __SNDRV_PCM_IOCTL_SYNC_PTR64 _IOWR('A', 0x23, struct __snd_pcm_sync_ptr64)
|
|
#define SNDRV_PCM_IOCTL_SYNC_PTR _IOWR('A', 0x23, struct snd_pcm_sync_ptr)
|
|
#define SNDRV_PCM_IOCTL_STATUS_EXT _IOWR('A', 0x24, struct snd_pcm_status)
|
|
#define SNDRV_PCM_IOCTL_CHANNEL_INFO _IOR('A', 0x32, struct snd_pcm_channel_info)
|
|
@@ -614,7 +702,7 @@ enum {
|
|
* Raw MIDI section - /dev/snd/midi??
|
|
*/
|
|
|
|
-#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 0)
|
|
+#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 1)
|
|
|
|
enum {
|
|
SNDRV_RAWMIDI_STREAM_OUTPUT = 0,
|
|
@@ -650,6 +738,7 @@ struct snd_rawmidi_params {
|
|
|
|
struct snd_rawmidi_status {
|
|
int stream;
|
|
+ __time_pad pad1;
|
|
struct timespec tstamp; /* Timestamp */
|
|
size_t avail; /* available bytes */
|
|
size_t xruns; /* count of overruns since last status (in bytes) */
|
|
@@ -667,7 +756,7 @@ struct snd_rawmidi_status {
|
|
* Timer section - /dev/snd/timer
|
|
*/
|
|
|
|
-#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 6)
|
|
+#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 7)
|
|
|
|
enum {
|
|
SNDRV_TIMER_CLASS_NONE = -1,
|
|
@@ -772,7 +861,7 @@ struct snd_timer_status {
|
|
|
|
#define SNDRV_TIMER_IOCTL_PVERSION _IOR('T', 0x00, int)
|
|
#define SNDRV_TIMER_IOCTL_NEXT_DEVICE _IOWR('T', 0x01, struct snd_timer_id)
|
|
-#define SNDRV_TIMER_IOCTL_TREAD _IOW('T', 0x02, int)
|
|
+#define SNDRV_TIMER_IOCTL_TREAD_OLD _IOW('T', 0x02, int)
|
|
#define SNDRV_TIMER_IOCTL_GINFO _IOWR('T', 0x03, struct snd_timer_ginfo)
|
|
#define SNDRV_TIMER_IOCTL_GPARAMS _IOW('T', 0x04, struct snd_timer_gparams)
|
|
#define SNDRV_TIMER_IOCTL_GSTATUS _IOWR('T', 0x05, struct snd_timer_gstatus)
|
|
@@ -785,6 +874,15 @@ struct snd_timer_status {
|
|
#define SNDRV_TIMER_IOCTL_STOP _IO('T', 0xa1)
|
|
#define SNDRV_TIMER_IOCTL_CONTINUE _IO('T', 0xa2)
|
|
#define SNDRV_TIMER_IOCTL_PAUSE _IO('T', 0xa3)
|
|
+#define SNDRV_TIMER_IOCTL_TREAD64 _IOW('T', 0xa4, int)
|
|
+
|
|
+#if __BITS_PER_LONG == 64
|
|
+#define SNDRV_TIMER_IOCTL_TREAD SNDRV_TIMER_IOCTL_TREAD_OLD
|
|
+#else
|
|
+#define SNDRV_TIMER_IOCTL_TREAD ((sizeof(__kernel_long_t) >= sizeof(time_t)) ? \
|
|
+ SNDRV_TIMER_IOCTL_TREAD_OLD : \
|
|
+ SNDRV_TIMER_IOCTL_TREAD64)
|
|
+#endif
|
|
|
|
struct snd_timer_read {
|
|
unsigned int resolution;
|
|
@@ -812,8 +910,10 @@ enum {
|
|
|
|
struct snd_timer_tread {
|
|
int event;
|
|
+ __time_pad pad1;
|
|
struct timespec tstamp;
|
|
unsigned int val;
|
|
+ __time_pad pad2;
|
|
};
|
|
|
|
/****************************************************************************
|
|
@@ -822,7 +922,7 @@ struct snd_timer_tread {
|
|
* *
|
|
****************************************************************************/
|
|
|
|
-#define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 7)
|
|
+#define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 8)
|
|
|
|
struct snd_ctl_card_info {
|
|
int card; /* card number */
|
|
@@ -837,30 +937,30 @@ struct snd_ctl_card_info {
|
|
};
|
|
|
|
typedef int __bitwise snd_ctl_elem_type_t;
|
|
-#define SNDRV_CTL_ELEM_TYPE_NONE ((__force snd_ctl_elem_type_t) 0) /* invalid */
|
|
-#define SNDRV_CTL_ELEM_TYPE_BOOLEAN ((__force snd_ctl_elem_type_t) 1) /* boolean type */
|
|
-#define SNDRV_CTL_ELEM_TYPE_INTEGER ((__force snd_ctl_elem_type_t) 2) /* integer type */
|
|
-#define SNDRV_CTL_ELEM_TYPE_ENUMERATED ((__force snd_ctl_elem_type_t) 3) /* enumerated type */
|
|
-#define SNDRV_CTL_ELEM_TYPE_BYTES ((__force snd_ctl_elem_type_t) 4) /* byte array */
|
|
-#define SNDRV_CTL_ELEM_TYPE_IEC958 ((__force snd_ctl_elem_type_t) 5) /* IEC958 (S/PDIF) setup */
|
|
-#define SNDRV_CTL_ELEM_TYPE_INTEGER64 ((__force snd_ctl_elem_type_t) 6) /* 64-bit integer type */
|
|
+#define SNDRV_CTL_ELEM_TYPE_NONE ((snd_ctl_elem_type_t) 0) /* invalid */
|
|
+#define SNDRV_CTL_ELEM_TYPE_BOOLEAN ((snd_ctl_elem_type_t) 1) /* boolean type */
|
|
+#define SNDRV_CTL_ELEM_TYPE_INTEGER ((snd_ctl_elem_type_t) 2) /* integer type */
|
|
+#define SNDRV_CTL_ELEM_TYPE_ENUMERATED ((snd_ctl_elem_type_t) 3) /* enumerated type */
|
|
+#define SNDRV_CTL_ELEM_TYPE_BYTES ((snd_ctl_elem_type_t) 4) /* byte array */
|
|
+#define SNDRV_CTL_ELEM_TYPE_IEC958 ((snd_ctl_elem_type_t) 5) /* IEC958 (S/PDIF) setup */
|
|
+#define SNDRV_CTL_ELEM_TYPE_INTEGER64 ((snd_ctl_elem_type_t) 6) /* 64-bit integer type */
|
|
#define SNDRV_CTL_ELEM_TYPE_LAST SNDRV_CTL_ELEM_TYPE_INTEGER64
|
|
|
|
typedef int __bitwise snd_ctl_elem_iface_t;
|
|
-#define SNDRV_CTL_ELEM_IFACE_CARD ((__force snd_ctl_elem_iface_t) 0) /* global control */
|
|
-#define SNDRV_CTL_ELEM_IFACE_HWDEP ((__force snd_ctl_elem_iface_t) 1) /* hardware dependent device */
|
|
-#define SNDRV_CTL_ELEM_IFACE_MIXER ((__force snd_ctl_elem_iface_t) 2) /* virtual mixer device */
|
|
-#define SNDRV_CTL_ELEM_IFACE_PCM ((__force snd_ctl_elem_iface_t) 3) /* PCM device */
|
|
-#define SNDRV_CTL_ELEM_IFACE_RAWMIDI ((__force snd_ctl_elem_iface_t) 4) /* RawMidi device */
|
|
-#define SNDRV_CTL_ELEM_IFACE_TIMER ((__force snd_ctl_elem_iface_t) 5) /* timer device */
|
|
-#define SNDRV_CTL_ELEM_IFACE_SEQUENCER ((__force snd_ctl_elem_iface_t) 6) /* sequencer client */
|
|
+#define SNDRV_CTL_ELEM_IFACE_CARD ((snd_ctl_elem_iface_t) 0) /* global control */
|
|
+#define SNDRV_CTL_ELEM_IFACE_HWDEP ((snd_ctl_elem_iface_t) 1) /* hardware dependent device */
|
|
+#define SNDRV_CTL_ELEM_IFACE_MIXER ((snd_ctl_elem_iface_t) 2) /* virtual mixer device */
|
|
+#define SNDRV_CTL_ELEM_IFACE_PCM ((snd_ctl_elem_iface_t) 3) /* PCM device */
|
|
+#define SNDRV_CTL_ELEM_IFACE_RAWMIDI ((snd_ctl_elem_iface_t) 4) /* RawMidi device */
|
|
+#define SNDRV_CTL_ELEM_IFACE_TIMER ((snd_ctl_elem_iface_t) 5) /* timer device */
|
|
+#define SNDRV_CTL_ELEM_IFACE_SEQUENCER ((snd_ctl_elem_iface_t) 6) /* sequencer client */
|
|
#define SNDRV_CTL_ELEM_IFACE_LAST SNDRV_CTL_ELEM_IFACE_SEQUENCER
|
|
|
|
#define SNDRV_CTL_ELEM_ACCESS_READ (1<<0)
|
|
#define SNDRV_CTL_ELEM_ACCESS_WRITE (1<<1)
|
|
#define SNDRV_CTL_ELEM_ACCESS_READWRITE (SNDRV_CTL_ELEM_ACCESS_READ|SNDRV_CTL_ELEM_ACCESS_WRITE)
|
|
#define SNDRV_CTL_ELEM_ACCESS_VOLATILE (1<<2) /* control value may be changed without a notification */
|
|
-#define SNDRV_CTL_ELEM_ACCESS_TIMESTAMP (1<<3) /* when was control changed */
|
|
+// (1 << 3) is unused.
|
|
#define SNDRV_CTL_ELEM_ACCESS_TLV_READ (1<<4) /* TLV read is possible */
|
|
#define SNDRV_CTL_ELEM_ACCESS_TLV_WRITE (1<<5) /* TLV write is possible */
|
|
#define SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE (SNDRV_CTL_ELEM_ACCESS_TLV_READ|SNDRV_CTL_ELEM_ACCESS_TLV_WRITE)
|
|
@@ -896,7 +996,7 @@ struct snd_ctl_elem_list {
|
|
unsigned int space; /* W: count of element IDs to get */
|
|
unsigned int used; /* R: count of element IDs set */
|
|
unsigned int count; /* R: count of all elements */
|
|
- struct snd_ctl_elem_id __user *pids; /* R: IDs */
|
|
+ struct snd_ctl_elem_id *pids; /* R: IDs */
|
|
unsigned char reserved[50];
|
|
};
|
|
|
|
@@ -926,11 +1026,7 @@ struct snd_ctl_elem_info {
|
|
} enumerated;
|
|
unsigned char reserved[128];
|
|
} value;
|
|
- union {
|
|
- unsigned short d[4]; /* dimensions */
|
|
- unsigned short *d_ptr; /* indirect - obsoleted */
|
|
- } dimen;
|
|
- unsigned char reserved[64-4*sizeof(unsigned short)];
|
|
+ unsigned char reserved[64];
|
|
};
|
|
|
|
struct snd_ctl_elem_value {
|
|
@@ -955,8 +1051,7 @@ struct snd_ctl_elem_value {
|
|
} bytes;
|
|
struct snd_aes_iec958 iec958;
|
|
} value; /* RO */
|
|
- struct timespec tstamp;
|
|
- unsigned char reserved[128-sizeof(struct timespec)];
|
|
+ unsigned char reserved[128];
|
|
};
|
|
|
|
struct snd_ctl_tlv {
|
|
@@ -1035,4 +1130,4 @@ struct snd_ctl_event {
|
|
#define SNDRV_CTL_NAME_IEC958_PCM_STREAM "PCM Stream"
|
|
#define SNDRV_CTL_NAME_IEC958(expl,direction,what) "IEC958 " expl SNDRV_CTL_NAME_##direction SNDRV_CTL_NAME_IEC958_##what
|
|
|
|
-#endif /* _UAPI__SOUND_ASOUND_H */
|
|
+#endif /* __SOUND_ASOUND_H */
|
|
diff --git a/include/sound/uapi/emu10k1.h b/include/sound/uapi/emu10k1.h
|
|
index 6bcd76f64c1c..78d794c03cd4 100644
|
|
--- a/include/sound/uapi/emu10k1.h
|
|
+++ b/include/sound/uapi/emu10k1.h
|
|
@@ -20,8 +20,12 @@
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*
|
|
*/
|
|
-#ifndef _UAPI__SOUND_EMU10K1_H
|
|
-#define _UAPI__SOUND_EMU10K1_H
|
|
+#ifndef __SOUND_EMU10K1_H
|
|
+#define __SOUND_EMU10K1_H
|
|
+
|
|
+#ifdef __linux__
|
|
+#include <linux/types.h>
|
|
+#endif
|
|
|
|
/*
|
|
* ---- FX8010 ----
|
|
@@ -256,13 +260,11 @@
|
|
#define EMU10K1_DBG_SINGLE_STEP_ADDR 0x000001ff /* single step address */
|
|
|
|
/* tank memory address line */
|
|
-#ifndef __KERNEL__
|
|
#define TANKMEMADDRREG_ADDR_MASK 0x000fffff /* 20 bit tank address field */
|
|
#define TANKMEMADDRREG_CLEAR 0x00800000 /* Clear tank memory */
|
|
#define TANKMEMADDRREG_ALIGN 0x00400000 /* Align read or write relative to tank access */
|
|
#define TANKMEMADDRREG_WRITE 0x00200000 /* Write to tank memory */
|
|
#define TANKMEMADDRREG_READ 0x00100000 /* Read from tank memory */
|
|
-#endif
|
|
|
|
struct snd_emu10k1_fx8010_info {
|
|
unsigned int internal_tram_size; /* in samples */
|
|
@@ -382,4 +384,4 @@ struct snd_emu10k1_fx8010_pcm_rec {
|
|
#define SNDRV_EMU10K1_IOCTL_SINGLE_STEP _IOW ('H', 0x83, int)
|
|
#define SNDRV_EMU10K1_IOCTL_DBG_READ _IOR ('H', 0x84, int)
|
|
|
|
-#endif /* _UAPI__SOUND_EMU10K1_H */
|
|
+#endif /* __SOUND_EMU10K1_H */
|
|
diff --git a/include/sound/uapi/hdsp.h b/include/sound/uapi/hdsp.h
|
|
index 7ac2d3f2a9b3..b8df62b60f4d 100644
|
|
--- a/include/sound/uapi/hdsp.h
|
|
+++ b/include/sound/uapi/hdsp.h
|
|
@@ -20,6 +20,10 @@
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
|
|
+#ifdef __linux__
|
|
+#include <linux/types.h>
|
|
+#endif
|
|
+
|
|
#define HDSP_MATRIX_MIXER_SIZE 2048
|
|
|
|
enum HDSP_IO_Type {
|
|
diff --git a/include/sound/uapi/hdspm.h b/include/sound/uapi/hdspm.h
|
|
index 3fbfd9dc5f51..14af3d00ea3f 100644
|
|
--- a/include/sound/uapi/hdspm.h
|
|
+++ b/include/sound/uapi/hdspm.h
|
|
@@ -21,6 +21,10 @@
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
|
|
+#ifdef __linux__
|
|
+#include <linux/types.h>
|
|
+#endif
|
|
+
|
|
/* Maximum channels is 64 even on 56Mode you have 64playbacks to matrix */
|
|
#define HDSPM_MAX_CHANNELS 64
|
|
|
|
diff --git a/include/sound/uapi/sb16_csp.h b/include/sound/uapi/sb16_csp.h
|
|
index e64851481d88..55db0b44a8b7 100644
|
|
--- a/include/sound/uapi/sb16_csp.h
|
|
+++ b/include/sound/uapi/sb16_csp.h
|
|
@@ -20,8 +20,8 @@
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*
|
|
*/
|
|
-#ifndef _UAPI__SOUND_SB16_CSP_H
|
|
-#define _UAPI__SOUND_SB16_CSP_H
|
|
+#ifndef __SOUND_SB16_CSP_H
|
|
+#define __SOUND_SB16_CSP_H
|
|
|
|
|
|
/* CSP modes */
|
|
@@ -120,4 +120,4 @@ struct snd_sb_csp_info {
|
|
#define SNDRV_SB_CSP_IOCTL_RESTART _IO('H', 0x16)
|
|
|
|
|
|
-#endif /* _UAPI__SOUND_SB16_CSP_H */
|
|
+#endif /* __SOUND_SB16_CSP_H */
|
|
--
|
|
2.16.4
|
|
|