diff options
author | Ingo Molnar <mingo@kernel.org> | 2017-11-03 07:18:37 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-11-04 04:27:46 -0400 |
commit | fb7df12d645cfba6a76a45fdcc7e3f7fbbcda661 (patch) | |
tree | 80d5ef6917f88e8c7fb91625d094bf756432535b /tools | |
parent | 294cbd05e32990c3b1a62be27441fc719edebbab (diff) |
tools/headers: Synchronize kernel ABI headers
After the SPDX license tags were added a number of tooling headers got out of
sync with their kernel variants, generating lots of build warnings.
Sync them:
- tools/arch/x86/include/asm/disabled-features.h,
tools/arch/x86/include/asm/required-features.h,
tools/include/linux/hash.h:
Remove the SPDX tag where the kernel version does not have it.
- tools/include/asm-generic/bitops/__fls.h,
tools/include/asm-generic/bitops/arch_hweight.h,
tools/include/asm-generic/bitops/const_hweight.h,
tools/include/asm-generic/bitops/fls.h,
tools/include/asm-generic/bitops/fls64.h,
tools/include/uapi/asm-generic/ioctls.h,
tools/include/uapi/asm-generic/mman-common.h,
tools/include/uapi/sound/asound.h,
tools/include/uapi/linux/kvm.h,
tools/include/uapi/linux/perf_event.h,
tools/include/uapi/linux/sched.h,
tools/include/uapi/linux/vhost.h,
tools/include/uapi/sound/asound.h:
Add the SPDX tag of the respective kernel header.
- tools/include/uapi/linux/bpf_common.h,
tools/include/uapi/linux/fcntl.h,
tools/include/uapi/linux/hw_breakpoint.h,
tools/include/uapi/linux/mman.h,
tools/include/uapi/linux/stat.h,
Change the tag to the kernel header version:
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Also sync other header details:
- include/uapi/sound/asound.h:
Fix pointless end of line whitespace noise the header grew in this cycle.
- tools/arch/x86/lib/memcpy_64.S:
Sync the code and add tools/include/asm/export.h with dummy wrappers
to support building the kernel side code in a tooling header environment.
- tools/include/uapi/asm-generic/mman.h,
tools/include/uapi/linux/bpf.h:
Sync other details that don't impact tooling's use of the ABIs.
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools')
25 files changed, 33 insertions, 13 deletions
diff --git a/tools/arch/x86/include/asm/disabled-features.h b/tools/arch/x86/include/asm/disabled-features.h index c1a6d5d0da0d..c10c9128f54e 100644 --- a/tools/arch/x86/include/asm/disabled-features.h +++ b/tools/arch/x86/include/asm/disabled-features.h | |||
@@ -1,4 +1,3 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | #ifndef _ASM_X86_DISABLED_FEATURES_H | 1 | #ifndef _ASM_X86_DISABLED_FEATURES_H |
3 | #define _ASM_X86_DISABLED_FEATURES_H | 2 | #define _ASM_X86_DISABLED_FEATURES_H |
4 | 3 | ||
diff --git a/tools/arch/x86/include/asm/required-features.h b/tools/arch/x86/include/asm/required-features.h index 59ac6baafb6a..d91ba04dd007 100644 --- a/tools/arch/x86/include/asm/required-features.h +++ b/tools/arch/x86/include/asm/required-features.h | |||
@@ -1,4 +1,3 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | #ifndef _ASM_X86_REQUIRED_FEATURES_H | 1 | #ifndef _ASM_X86_REQUIRED_FEATURES_H |
3 | #define _ASM_X86_REQUIRED_FEATURES_H | 2 | #define _ASM_X86_REQUIRED_FEATURES_H |
4 | 3 | ||
diff --git a/tools/arch/x86/include/uapi/asm/unistd.h b/tools/arch/x86/include/uapi/asm/unistd.h index a26df0d75cd0..30d7d04d72d6 100644 --- a/tools/arch/x86/include/uapi/asm/unistd.h +++ b/tools/arch/x86/include/uapi/asm/unistd.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
1 | #ifndef _UAPI_ASM_X86_UNISTD_H | 2 | #ifndef _UAPI_ASM_X86_UNISTD_H |
2 | #define _UAPI_ASM_X86_UNISTD_H | 3 | #define _UAPI_ASM_X86_UNISTD_H |
3 | 4 | ||
diff --git a/tools/arch/x86/lib/memcpy_64.S b/tools/arch/x86/lib/memcpy_64.S index ecf2c2067281..9a53a06e5a3e 100644 --- a/tools/arch/x86/lib/memcpy_64.S +++ b/tools/arch/x86/lib/memcpy_64.S | |||
@@ -1,10 +1,10 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | /* Copyright 2002 Andi Kleen */ | 1 | /* Copyright 2002 Andi Kleen */ |
3 | 2 | ||
4 | #include <linux/linkage.h> | 3 | #include <linux/linkage.h> |
5 | #include <asm/errno.h> | 4 | #include <asm/errno.h> |
6 | #include <asm/cpufeatures.h> | 5 | #include <asm/cpufeatures.h> |
7 | #include <asm/alternative-asm.h> | 6 | #include <asm/alternative-asm.h> |
7 | #include <asm/export.h> | ||
8 | 8 | ||
9 | /* | 9 | /* |
10 | * We build a jump to memcpy_orig by default which gets NOPped out on | 10 | * We build a jump to memcpy_orig by default which gets NOPped out on |
@@ -41,6 +41,8 @@ ENTRY(memcpy) | |||
41 | ret | 41 | ret |
42 | ENDPROC(memcpy) | 42 | ENDPROC(memcpy) |
43 | ENDPROC(__memcpy) | 43 | ENDPROC(__memcpy) |
44 | EXPORT_SYMBOL(memcpy) | ||
45 | EXPORT_SYMBOL(__memcpy) | ||
44 | 46 | ||
45 | /* | 47 | /* |
46 | * memcpy_erms() - enhanced fast string memcpy. This is faster and | 48 | * memcpy_erms() - enhanced fast string memcpy. This is faster and |
@@ -275,6 +277,7 @@ ENTRY(memcpy_mcsafe_unrolled) | |||
275 | xorq %rax, %rax | 277 | xorq %rax, %rax |
276 | ret | 278 | ret |
277 | ENDPROC(memcpy_mcsafe_unrolled) | 279 | ENDPROC(memcpy_mcsafe_unrolled) |
280 | EXPORT_SYMBOL_GPL(memcpy_mcsafe_unrolled) | ||
278 | 281 | ||
279 | .section .fixup, "ax" | 282 | .section .fixup, "ax" |
280 | /* Return -EFAULT for any failure */ | 283 | /* Return -EFAULT for any failure */ |
diff --git a/tools/include/asm-generic/bitops/__fls.h b/tools/include/asm-generic/bitops/__fls.h index a60a7ccb6782..03f721a8a2b1 100644 --- a/tools/include/asm-generic/bitops/__fls.h +++ b/tools/include/asm-generic/bitops/__fls.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
1 | #ifndef _ASM_GENERIC_BITOPS___FLS_H_ | 2 | #ifndef _ASM_GENERIC_BITOPS___FLS_H_ |
2 | #define _ASM_GENERIC_BITOPS___FLS_H_ | 3 | #define _ASM_GENERIC_BITOPS___FLS_H_ |
3 | 4 | ||
diff --git a/tools/include/asm-generic/bitops/arch_hweight.h b/tools/include/asm-generic/bitops/arch_hweight.h index 6a211f40665c..c2705e1d220d 100644 --- a/tools/include/asm-generic/bitops/arch_hweight.h +++ b/tools/include/asm-generic/bitops/arch_hweight.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
1 | #ifndef _ASM_GENERIC_BITOPS_ARCH_HWEIGHT_H_ | 2 | #ifndef _ASM_GENERIC_BITOPS_ARCH_HWEIGHT_H_ |
2 | #define _ASM_GENERIC_BITOPS_ARCH_HWEIGHT_H_ | 3 | #define _ASM_GENERIC_BITOPS_ARCH_HWEIGHT_H_ |
3 | 4 | ||
diff --git a/tools/include/asm-generic/bitops/const_hweight.h b/tools/include/asm-generic/bitops/const_hweight.h index 0a7e06623470..149faeeeeaf2 100644 --- a/tools/include/asm-generic/bitops/const_hweight.h +++ b/tools/include/asm-generic/bitops/const_hweight.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
1 | #ifndef _ASM_GENERIC_BITOPS_CONST_HWEIGHT_H_ | 2 | #ifndef _ASM_GENERIC_BITOPS_CONST_HWEIGHT_H_ |
2 | #define _ASM_GENERIC_BITOPS_CONST_HWEIGHT_H_ | 3 | #define _ASM_GENERIC_BITOPS_CONST_HWEIGHT_H_ |
3 | 4 | ||
diff --git a/tools/include/asm-generic/bitops/fls.h b/tools/include/asm-generic/bitops/fls.h index 0576d1f42f43..753aecaab641 100644 --- a/tools/include/asm-generic/bitops/fls.h +++ b/tools/include/asm-generic/bitops/fls.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
1 | #ifndef _ASM_GENERIC_BITOPS_FLS_H_ | 2 | #ifndef _ASM_GENERIC_BITOPS_FLS_H_ |
2 | #define _ASM_GENERIC_BITOPS_FLS_H_ | 3 | #define _ASM_GENERIC_BITOPS_FLS_H_ |
3 | 4 | ||
diff --git a/tools/include/asm-generic/bitops/fls64.h b/tools/include/asm-generic/bitops/fls64.h index b097cf8444e3..866f2b2304ff 100644 --- a/tools/include/asm-generic/bitops/fls64.h +++ b/tools/include/asm-generic/bitops/fls64.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
1 | #ifndef _ASM_GENERIC_BITOPS_FLS64_H_ | 2 | #ifndef _ASM_GENERIC_BITOPS_FLS64_H_ |
2 | #define _ASM_GENERIC_BITOPS_FLS64_H_ | 3 | #define _ASM_GENERIC_BITOPS_FLS64_H_ |
3 | 4 | ||
diff --git a/tools/include/asm/export.h b/tools/include/asm/export.h new file mode 100644 index 000000000000..2cb1a0d83035 --- /dev/null +++ b/tools/include/asm/export.h | |||
@@ -0,0 +1,7 @@ | |||
1 | #ifndef _TOOLS_ASM_EXPORT_H | ||
2 | #define _TOOLS_ASM_EXPORT_H | ||
3 | |||
4 | #define EXPORT_SYMBOL(x) | ||
5 | #define EXPORT_SYMBOL_GPL(x) | ||
6 | |||
7 | #endif /* _TOOLS_ASM_EXPORT_H */ | ||
diff --git a/tools/include/linux/hash.h b/tools/include/linux/hash.h index 2c4183bbc504..ad6fa21d977b 100644 --- a/tools/include/linux/hash.h +++ b/tools/include/linux/hash.h | |||
@@ -1,4 +1,3 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | ||
2 | #ifndef _LINUX_HASH_H | 1 | #ifndef _LINUX_HASH_H |
3 | #define _LINUX_HASH_H | 2 | #define _LINUX_HASH_H |
4 | /* Fast hashing routine for ints, longs and pointers. | 3 | /* Fast hashing routine for ints, longs and pointers. |
diff --git a/tools/include/uapi/asm-generic/ioctls.h b/tools/include/uapi/asm-generic/ioctls.h index 14baf9f23a14..040651735662 100644 --- a/tools/include/uapi/asm-generic/ioctls.h +++ b/tools/include/uapi/asm-generic/ioctls.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
1 | #ifndef __ASM_GENERIC_IOCTLS_H | 2 | #ifndef __ASM_GENERIC_IOCTLS_H |
2 | #define __ASM_GENERIC_IOCTLS_H | 3 | #define __ASM_GENERIC_IOCTLS_H |
3 | 4 | ||
diff --git a/tools/include/uapi/asm-generic/mman-common.h b/tools/include/uapi/asm-generic/mman-common.h index 203268f9231e..6d319c46fd90 100644 --- a/tools/include/uapi/asm-generic/mman-common.h +++ b/tools/include/uapi/asm-generic/mman-common.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
1 | #ifndef __ASM_GENERIC_MMAN_COMMON_H | 2 | #ifndef __ASM_GENERIC_MMAN_COMMON_H |
2 | #define __ASM_GENERIC_MMAN_COMMON_H | 3 | #define __ASM_GENERIC_MMAN_COMMON_H |
3 | 4 | ||
diff --git a/tools/include/uapi/asm-generic/mman.h b/tools/include/uapi/asm-generic/mman.h index f7c7b4355e56..2dffcbf705b3 100644 --- a/tools/include/uapi/asm-generic/mman.h +++ b/tools/include/uapi/asm-generic/mman.h | |||
@@ -1,8 +1,8 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | #ifndef __ASM_GENERIC_MMAN_H | 2 | #ifndef __ASM_GENERIC_MMAN_H |
3 | #define __ASM_GENERIC_MMAN_H | 3 | #define __ASM_GENERIC_MMAN_H |
4 | 4 | ||
5 | #include <uapi/asm-generic/mman-common.h> | 5 | #include <asm-generic/mman-common.h> |
6 | 6 | ||
7 | #define MAP_GROWSDOWN 0x0100 /* stack-like segment */ | 7 | #define MAP_GROWSDOWN 0x0100 /* stack-like segment */ |
8 | #define MAP_DENYWRITE 0x0800 /* ETXTBSY */ | 8 | #define MAP_DENYWRITE 0x0800 /* ETXTBSY */ |
diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h index 01cc7ba39924..30f2ce76b517 100644 --- a/tools/include/uapi/linux/bpf.h +++ b/tools/include/uapi/linux/bpf.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
1 | /* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com | 2 | /* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com |
2 | * | 3 | * |
3 | * This program is free software; you can redistribute it and/or | 4 | * This program is free software; you can redistribute it and/or |
@@ -569,10 +570,9 @@ union bpf_attr { | |||
569 | * @flags: reserved for future use | 570 | * @flags: reserved for future use |
570 | * Return: 0 on success or negative error code | 571 | * Return: 0 on success or negative error code |
571 | * | 572 | * |
572 | * int bpf_sk_redirect_map(skb, map, key, flags) | 573 | * int bpf_sk_redirect_map(map, key, flags) |
573 | * Redirect skb to a sock in map using key as a lookup key for the | 574 | * Redirect skb to a sock in map using key as a lookup key for the |
574 | * sock in map. | 575 | * sock in map. |
575 | * @skb: pointer to skb | ||
576 | * @map: pointer to sockmap | 576 | * @map: pointer to sockmap |
577 | * @key: key to lookup sock in map | 577 | * @key: key to lookup sock in map |
578 | * @flags: reserved for future use | 578 | * @flags: reserved for future use |
diff --git a/tools/include/uapi/linux/bpf_common.h b/tools/include/uapi/linux/bpf_common.h index 64ba734aba80..18be90725ab0 100644 --- a/tools/include/uapi/linux/bpf_common.h +++ b/tools/include/uapi/linux/bpf_common.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | #ifndef _UAPI__LINUX_BPF_COMMON_H__ | 2 | #ifndef _UAPI__LINUX_BPF_COMMON_H__ |
3 | #define _UAPI__LINUX_BPF_COMMON_H__ | 3 | #define _UAPI__LINUX_BPF_COMMON_H__ |
4 | 4 | ||
diff --git a/tools/include/uapi/linux/fcntl.h b/tools/include/uapi/linux/fcntl.h index b6705247afe8..6448cdd9a350 100644 --- a/tools/include/uapi/linux/fcntl.h +++ b/tools/include/uapi/linux/fcntl.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | #ifndef _UAPI_LINUX_FCNTL_H | 2 | #ifndef _UAPI_LINUX_FCNTL_H |
3 | #define _UAPI_LINUX_FCNTL_H | 3 | #define _UAPI_LINUX_FCNTL_H |
4 | 4 | ||
diff --git a/tools/include/uapi/linux/hw_breakpoint.h b/tools/include/uapi/linux/hw_breakpoint.h index 6394ea9d5524..965e4d8606d8 100644 --- a/tools/include/uapi/linux/hw_breakpoint.h +++ b/tools/include/uapi/linux/hw_breakpoint.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | #ifndef _UAPI_LINUX_HW_BREAKPOINT_H | 2 | #ifndef _UAPI_LINUX_HW_BREAKPOINT_H |
3 | #define _UAPI_LINUX_HW_BREAKPOINT_H | 3 | #define _UAPI_LINUX_HW_BREAKPOINT_H |
4 | 4 | ||
diff --git a/tools/include/uapi/linux/kvm.h b/tools/include/uapi/linux/kvm.h index 838887587411..7e99999d6236 100644 --- a/tools/include/uapi/linux/kvm.h +++ b/tools/include/uapi/linux/kvm.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
1 | #ifndef __LINUX_KVM_H | 2 | #ifndef __LINUX_KVM_H |
2 | #define __LINUX_KVM_H | 3 | #define __LINUX_KVM_H |
3 | 4 | ||
diff --git a/tools/include/uapi/linux/mman.h b/tools/include/uapi/linux/mman.h index 64d2b4e556e5..bfd5938fede6 100644 --- a/tools/include/uapi/linux/mman.h +++ b/tools/include/uapi/linux/mman.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | #ifndef _UAPI_LINUX_MMAN_H | 2 | #ifndef _UAPI_LINUX_MMAN_H |
3 | #define _UAPI_LINUX_MMAN_H | 3 | #define _UAPI_LINUX_MMAN_H |
4 | 4 | ||
diff --git a/tools/include/uapi/linux/perf_event.h b/tools/include/uapi/linux/perf_event.h index 140ae638cfd6..362493a2f950 100644 --- a/tools/include/uapi/linux/perf_event.h +++ b/tools/include/uapi/linux/perf_event.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
1 | /* | 2 | /* |
2 | * Performance events: | 3 | * Performance events: |
3 | * | 4 | * |
diff --git a/tools/include/uapi/linux/sched.h b/tools/include/uapi/linux/sched.h index e2a6c7b3510b..30a9e51bbb1e 100644 --- a/tools/include/uapi/linux/sched.h +++ b/tools/include/uapi/linux/sched.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
1 | #ifndef _UAPI_LINUX_SCHED_H | 2 | #ifndef _UAPI_LINUX_SCHED_H |
2 | #define _UAPI_LINUX_SCHED_H | 3 | #define _UAPI_LINUX_SCHED_H |
3 | 4 | ||
diff --git a/tools/include/uapi/linux/stat.h b/tools/include/uapi/linux/stat.h index 9eac599afd91..7b35e98d3c58 100644 --- a/tools/include/uapi/linux/stat.h +++ b/tools/include/uapi/linux/stat.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 */ | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
2 | #ifndef _UAPI_LINUX_STAT_H | 2 | #ifndef _UAPI_LINUX_STAT_H |
3 | #define _UAPI_LINUX_STAT_H | 3 | #define _UAPI_LINUX_STAT_H |
4 | 4 | ||
diff --git a/tools/include/uapi/linux/vhost.h b/tools/include/uapi/linux/vhost.h index 60180c0b5dc6..c51f8e5cc608 100644 --- a/tools/include/uapi/linux/vhost.h +++ b/tools/include/uapi/linux/vhost.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | ||
1 | #ifndef _LINUX_VHOST_H | 2 | #ifndef _LINUX_VHOST_H |
2 | #define _LINUX_VHOST_H | 3 | #define _LINUX_VHOST_H |
3 | /* Userspace interface for in-kernel virtio accelerators. */ | 4 | /* Userspace interface for in-kernel virtio accelerators. */ |
diff --git a/tools/include/uapi/sound/asound.h b/tools/include/uapi/sound/asound.h index 87bf30b182df..c227ccba60ae 100644 --- a/tools/include/uapi/sound/asound.h +++ b/tools/include/uapi/sound/asound.h | |||
@@ -1,3 +1,4 @@ | |||
1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | ||
1 | /* | 2 | /* |
2 | * Advanced Linux Sound Architecture - ALSA - Driver | 3 | * Advanced Linux Sound Architecture - ALSA - Driver |
3 | * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>, | 4 | * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>, |