alsa-lib: backport fixes for kernel sound api breakages

This fixes build of alsa-tools and possibly other things.
This commit is contained in:
q66 2020-02-04 01:28:59 +01:00
parent 47c25d3c5b
commit 09ab3d0d37
5 changed files with 7264 additions and 4 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,29 @@
From 75584fe660880b332fbf60dd7968e2ed8b49a38b Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 20 Dec 2019 16:12:50 +0100
Subject: [PATCH] type_compat: Add missing __s64 and __u64 definitions for
non-Linux
Just for the case without Linux-compatible definitions.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
include/sound/type_compat.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/sound/type_compat.h b/include/sound/type_compat.h
index d4790c1f..5b765f44 100644
--- a/include/sound/type_compat.h
+++ b/include/sound/type_compat.h
@@ -9,9 +9,11 @@
typedef uint8_t __u8;
typedef uint16_t __u16;
typedef uint32_t __u32;
+typedef uint64_t __u64;
typedef int8_t __s8;
typedef int16_t __s16;
typedef int32_t __s32;
+typedef int64_t __s64;
#include <endian.h>
#include <byteswap.h>

View file

@ -0,0 +1,130 @@
From 59792f467b38d6a4c4dffdb30528f7fb03d23d96 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 20 Dec 2019 17:12:37 +0100
Subject: [PATCH] uapi: Move typedefs from uapi to sound/*
For keeping uapi/*.h cleaner.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
include/sound/emu10k1.h | 9 +++++++++
include/sound/hdsp.h | 10 ++++++++++
include/sound/hdspm.h | 8 ++++++++
include/sound/sb16_csp.h | 4 ++++
include/sound/uapi/emu10k1.h | 10 ----------
include/sound/uapi/hdsp.h | 9 ---------
include/sound/uapi/hdspm.h | 8 --------
7 files changed, 31 insertions(+), 27 deletions(-)
diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h
index f06ecee5..0832f95b 100644
--- a/include/sound/emu10k1.h
+++ b/include/sound/emu10k1.h
@@ -1,2 +1,11 @@
#include <alsa/sound/type_compat.h>
#include <alsa/sound/uapi/emu10k1.h>
+#ifndef __emu10k1_type_defined
+#define __emu10k1_type_defined
+typedef struct snd_emu10k1_fx8010_info emu10k1_fx8010_info_t;
+typedef struct snd_emu10k1_fx8010_control_gpr emu10k1_fx8010_control_gpr_t;
+typedef struct snd_emu10k1_fx8010_code emu10k1_fx8010_code_t;
+typedef struct snd_emu10k1_fx8010_tram emu10k1_fx8010_tram_t;
+typedef struct snd_emu10k1_fx8010_pcm_rec emu10k1_fx8010_pcm_t;
+typedef struct emu10k1_ctl_elem_id emu10k1_ctl_elem_id_t;
+#endif
diff --git a/include/sound/hdsp.h b/include/sound/hdsp.h
index 78fb745b..e8f93156 100644
--- a/include/sound/hdsp.h
+++ b/include/sound/hdsp.h
@@ -1,2 +1,12 @@
#include <alsa/sound/type_compat.h>
#include <alsa/sound/uapi/hdsp.h>
+#ifndef __hdsp_type_defined
+#define __hdsp_type_defined
+typedef enum HDSP_IO_Type HDSP_IO_Type;
+typedef struct hdsp_peak_rms hdsp_peak_rms_t;
+typedef struct hdsp_config_info hdsp_config_info_t;
+typedef struct hdsp_firmware hdsp_firmware_t;
+typedef struct hdsp_version hdsp_version_t;
+typedef struct hdsp_mixer hdsp_mixer_t;
+typedef struct hdsp_9632_aeb hdsp_9632_aeb_t;
+#endif
diff --git a/include/sound/hdspm.h b/include/sound/hdspm.h
index af6d19ed..d9095d9f 100644
--- a/include/sound/hdspm.h
+++ b/include/sound/hdspm.h
@@ -1,2 +1,10 @@
#include <alsa/sound/type_compat.h>
#include <alsa/sound/uapi/hdspm.h>
+#ifndef __hdspm_type_defined
+#define __hdspm_type_defined
+typedef struct hdspm_peak_rms hdspm_peak_rms_t;
+typedef struct hdspm_config_info hdspm_config_info_t;
+typedef struct hdspm_version hdspm_version_t;
+typedef struct hdspm_channelfader snd_hdspm_channelfader_t;
+typedef struct hdspm_mixer hdspm_mixer_t;
+#endif
diff --git a/include/sound/sb16_csp.h b/include/sound/sb16_csp.h
index 24121fcb..fd02bc56 100644
--- a/include/sound/sb16_csp.h
+++ b/include/sound/sb16_csp.h
@@ -1 +1,5 @@
#include <alsa/sound/uapi/sb16_csp.h>
+#ifndef __sb16_csp_type_defined
+#define __sb16_csp_type_defined
+typedef struct snd_sb_csp_microcode snd_sb_csp_microcode_t;
+#endif
diff --git a/include/sound/uapi/emu10k1.h b/include/sound/uapi/emu10k1.h
index c1150e4d..6bcd76f6 100644
--- a/include/sound/uapi/emu10k1.h
+++ b/include/sound/uapi/emu10k1.h
@@ -382,14 +382,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)
-#ifndef __KERNEL__
-/* typedefs for compatibility to user-space */
-typedef struct snd_emu10k1_fx8010_info emu10k1_fx8010_info_t;
-typedef struct snd_emu10k1_fx8010_control_gpr emu10k1_fx8010_control_gpr_t;
-typedef struct snd_emu10k1_fx8010_code emu10k1_fx8010_code_t;
-typedef struct snd_emu10k1_fx8010_tram emu10k1_fx8010_tram_t;
-typedef struct snd_emu10k1_fx8010_pcm_rec emu10k1_fx8010_pcm_t;
-typedef struct emu10k1_ctl_elem_id emu10k1_ctl_elem_id_t;
-#endif
-
#endif /* _UAPI__SOUND_EMU10K1_H */
diff --git a/include/sound/uapi/hdsp.h b/include/sound/uapi/hdsp.h
index 88c92a3f..7ac2d3f2 100644
--- a/include/sound/uapi/hdsp.h
+++ b/include/sound/uapi/hdsp.h
@@ -97,13 +97,4 @@ struct hdsp_9632_aeb {
#define SNDRV_HDSP_IOCTL_GET_9632_AEB _IOR('H', 0x45, struct hdsp_9632_aeb)
-/* typedefs for compatibility to user-space */
-typedef enum HDSP_IO_Type HDSP_IO_Type;
-typedef struct hdsp_peak_rms hdsp_peak_rms_t;
-typedef struct hdsp_config_info hdsp_config_info_t;
-typedef struct hdsp_firmware hdsp_firmware_t;
-typedef struct hdsp_version hdsp_version_t;
-typedef struct hdsp_mixer hdsp_mixer_t;
-typedef struct hdsp_9632_aeb hdsp_9632_aeb_t;
-
#endif /* __SOUND_HDSP_H */
diff --git a/include/sound/uapi/hdspm.h b/include/sound/uapi/hdspm.h
index 2d91f90e..3fbfd9dc 100644
--- a/include/sound/uapi/hdspm.h
+++ b/include/sound/uapi/hdspm.h
@@ -219,12 +219,4 @@ struct hdspm_mixer_ioctl {
/* use indirect access due to the limit of ioctl bit size */
#define SNDRV_HDSPM_IOCTL_GET_MIXER _IOR('H', 0x44, struct hdspm_mixer_ioctl)
-/* typedefs for compatibility to user-space */
-typedef struct hdspm_peak_rms hdspm_peak_rms_t;
-typedef struct hdspm_config_info hdspm_config_info_t;
-typedef struct hdspm_version hdspm_version_t;
-typedef struct hdspm_channelfader snd_hdspm_channelfader_t;
-typedef struct hdspm_mixer hdspm_mixer_t;
-
-
#endif

View file

@ -1,8 +1,8 @@
Use stdlib.h defined types uint8_t, uint16_t, uint32_t and uint64_t
for compatibility with musl libc
--- include/pcm.h 2015-02-26 13:34:52.000000000 +0100
+++ include/pcm.h 2015-07-28 13:44:32.423885625 +0200
--- a/include/pcm.h 2015-02-26 13:34:52.000000000 +0100
+++ a/include/pcm.h 2015-07-28 13:44:32.423885625 +0200
@@ -29,6 +29,8 @@
#ifndef __ALSA_PCM_H
#define __ALSA_PCM_H

View file

@ -1,15 +1,20 @@
# Template file for 'alsa-lib'
pkgname=alsa-lib
version=1.2.1.2
revision=1
revision=2
build_style=gnu-configure
hostmakedepends="pkg-config"
hostmakedepends="pkg-config automake libtool"
short_desc="Advanced Linux Sound Architecture (ALSA) library"
maintainer="Anthony Iliopoulos <ailiop@altatus.com>"
license="LGPL-2.1-or-later"
homepage="http://www.alsa-project.org"
distfiles="ftp://ftp.alsa-project.org/pub/lib/${pkgname}-${version}.tar.bz2"
checksum=958e260e3673f1f6ff6b2d2c0df3fc2e469bea5b2957163ce96ce17f23e87943
patch_args="-Np1"
pre_configure() {
autoreconf -if
}
alsa-lib-devel_package() {
depends="${sourcepkg}>=${version}_${revision}"