70
70
[alsakerneldir="../alsa-kmirror"]
73
if test -d "$alsakerneldir"; then
73
if test -d "$alsakerneldir" -o -L "$alsakerneldir"; then
74
74
ALSAKERNELDIR=$(cd "$alsakerneldir" && pwd)
75
elif test -d "alsa-kernel"; then
76
if test -z "$ALSAKERNELDIR" -a -d "alsa-kernel"; then
76
77
ALSAKERNELDIR=$(cd "alsa-kernel" && pwd)
78
79
if test -z "$ALSAKERNELDIR"; then
102
103
DEFAULT_KERNEL_BUILD=""],
103
104
[kerneldir="$DEFAULT_KERNEL_DIR"]
105
if test -d "$kerneldir"; then
106
if test -d "$kerneldir" -o -L "$kerneldir"; then
106
107
CONFIG_SND_KERNELDIR=$(cd "$kerneldir" && pwd)
121
122
kernelbuild="$withval",
122
123
kernelbuild="$DEFAULT_KERNEL_BUILD"
125
if test -d "$kernelbuild"; then
126
kernelbuild=$(cd "$kernelbuild" && pwd)
128
if test -z "$kernelbuild"; then
129
kernelbuild="$kerneldir"
124
131
CONFIG_SND_KERNELBUILD="$kernelbuild"
125
132
AC_MSG_RESULT($kernelbuild)
127
134
AC_DEFUN([CHECK_REQUIRED_KERNEL_HEADER], [
129
136
AC_MSG_CHECKING(for kernel $2 $3)
130
if ! test -r $CONFIG_SND_KERNELDIR/include/$2; then
131
if test -z "$kernelbuild" -o ! -f $kernelbuild/include/$2; then
137
if ! test -s $CONFIG_SND_KERNELDIR/include/$2; then
138
if test -z "$kernelbuild" -o ! -s $kernelbuild/include/$2; then
132
139
if test -n "$3"; then
134
if ! test -r $CONFIG_SND_KERNELDIR/include/$3; then
135
if test -z "$kernelbuild" -o ! -f $kernelbuild/include/$3; then
141
if ! test -s $CONFIG_SND_KERNELDIR/include/$3; then
142
if test -z "$kernelbuild" -o ! -s $kernelbuild/include/$3; then
136
143
AC_MSG_RESULT(no)
138
145
The file $CONFIG_SND_KERNELDIR/include/$2 does not exist.
458
465
AC_MSG_RESULT(no)
459
466
if test ! -f include/$1; then
460
467
mkdir -p include/linux include/asm include/media
461
mkdir -p include/linux/regulator include/linux/usb
468
mkdir -p include/linux/regulator include/linux/usb include/pcmcia
469
mkdir -p include/trace/events
462
470
if test -z "$2" ; then
463
471
echo "Creating a dummy <$1>..."
673
681
dnl define kernel directory now
674
682
AC_DEFINE_UNQUOTED(CONFIG_SND_KERNELDIR, "$CONFIG_SND_KERNELDIR")
675
683
AC_SUBST(CONFIG_SND_KERNELDIR)
684
AC_SUBST(CONFIG_SND_KERNELBUILD)
676
685
AC_SUBST(MAKE_ADDS)
678
687
dnl update include/sound/version.h
1473
1484
dnl Check for deprecated linux/config.h
1474
1485
AC_MSG_CHECKING(for deprecated linux/config.h)
1475
if test -n "$kernelbuild" -a \( -f "$kernelbuild/include/$1" -o -f "$kernelbuild/include2/$1" \) ; then
1476
KERNDIR=$kernelbuild
1478
KERNDIR=$CONFIG_SND_KERNELDIR
1480
deprecated_config_h="0"
1481
if test -r $KERNDIR/include/linux/config.h ; then
1482
if grep "Including config.h is deprecated." $KERNDIR/include/linux/config.h > /dev/null; then
1483
deprecated_config_h="1"
1486
deprecated_config_h="1"
1488
if test -r $KERNDIR/include/generated/autoconf.h ; then
1489
deprecated_config_h="0"
1490
AC_DEFINE(CONFIG_HAVE_GENERATED_AUTOCONF_H)
1486
deprecated_config_h="1"
1487
for i in $kernelbuild/include/linux/config.h \
1488
$kernelbuild/include2/linux/config.h \
1489
$CONFIG_SND_KERNELDIR/include/linux/config.h; do
1490
if test -r $i ; then
1491
if ! grep -q "Including config.h is deprecated." $i; then
1492
deprecated_config_h="0"
1497
for i in $kernelbuild/include/generated/autoconf.h \
1498
$kernelbuild/include2/generated/autoconf.h \
1499
$CONFIG_SND_KERNELDIR/include/generated/autoconf.h; do
1500
if test -r $i ; then
1501
deprecated_config_h="0"
1502
AC_DEFINE(CONFIG_HAVE_GENERATED_AUTOCONF_H)
1492
1506
CONFIG_HAVE_DEPRECATED_CONFIG_H=$deprecated_config_h
1493
1507
if test "$CONFIG_HAVE_DEPRECATED_CONFIG_H" = "1"; then
1494
1508
AC_DEFINE(CONFIG_HAVE_DEPRECATED_CONFIG_H)
1571
1585
CHECK_KERNEL_HEADER(linux/gcd.h, [#include \"gcd_compat.h\"
1573
1587
CHECK_KERNEL_HEADER(linux/gfp.h)
1588
CHECK_KERNEL_HEADER(pcmcia/cs_types.h, [#define SND_HAVE_DUMMY_CS_TYPES_H])
1589
CHECK_KERNEL_HEADER(pcmcia/cs.h, [#define SND_HAVE_DUMMY_CS_H])
1590
CHECK_KERNEL_HEADER(trace/events/asoc.h, [#include \"trace_events_asoc_compat.h\"
1592
CHECK_KERNEL_HEADER(linux/lzo.h)
1575
1594
dnl Check for dump_stack
1576
1595
if test "$kversion.$kpatchlevel" = "2.6"; then
2829
2848
#include <linux/usb/audio.h>
2831
struct uac_as_header_descriptor_v1 tmp;
2850
struct uac1_as_header_descriptor tmp;
2851
struct uac1_status_word tmp2;
2832
2852
tmp.bLength = 0;
2853
tmp2.bStatusType = 0;
2834
2855
AC_MSG_RESULT(yes);usb_audio_valid="1",
2835
2856
AC_MSG_RESULT(no);usb_audio_valid="0",
2859
2880
if test "$usb_audio_valid" != "1"; then
2860
2881
mkdir -p include/linux/usb
2861
2882
echo "Creating <linux/usb/audio.h>..."
2883
rm -f include/linux/usb/audio.h
2862
2884
echo "#include \"usb_audio_compat.h\"" > include/linux/usb/audio.h
2887
AC_MSG_CHECKING([for valid linux/usb/audio-v2.h])
2888
usb_audio_v2_valid="0"
2891
#ifdef CONFIG_HAVE_DEPRECATED_CONFIG_H
2892
#include <$INCLUDE_AUTOCONF_H>
2894
#include <linux/config.h>
2896
#include <linux/usb/audio-v2.h>
2898
struct struct uac_clock_multiplier_descriptor tmp;
2901
AC_MSG_RESULT(yes);usb_audio_v2_valid="1",
2902
AC_MSG_RESULT(no);usb_audio_v2_valid="0",
2903
AC_MSG_RESULT(unknown);usb_audio_v2_valid="0"
2905
CFLAGS=$ac_save_CFLAGS
2907
if test "$usb_audio_v2_valid" != "1"; then
2908
mkdir -p include/linux/usb
2909
echo "Creating <linux/usb/audio-v2.h>..."
2910
rm -f include/linux/usb/audio-v2.h
2911
echo "#include \"usb_audio_v2_compat.h\"" > include/linux/usb/audio-v2.h
2865
2914
CHECK_KERNEL_HEADER(linux/usb/ch9.h)
2916
dnl check for new usb_alloc_coherent()
2917
AC_MSG_CHECKING(usb_alloc_coherent)
2918
usb_alloc_coherent="0"
2919
ac_save_CFLAGS="$CFLAGS"
2921
CFLAGS="$KERNEL_CHECK_CFLAGS"
2925
#ifdef CONFIG_HAVE_DEPRECATED_CONFIG_H
2926
#include <$INCLUDE_AUTOCONF_H>
2928
#include <linux/config.h>
2930
#include <linux/usb.h>
2932
void *(*foo)(struct usb_device *dev, size_t size,
2933
gfp_t mem_flags, dma_addr_t *dma) = usb_alloc_coherent;
2934
foo(NULL, 0, 0, NULL);
2936
AC_MSG_RESULT(yes);usb_alloc_coherent="1",
2937
AC_MSG_RESULT(no);usb_alloc_coherent="0",
2938
AC_MSG_RESULT(unknown);usb_alloc_coherent="0"
2940
CFLAGS=$ac_save_CFLAGS
2942
CONFIG_SND_HAVE_USB_ALLOC_COHERENT=$usb_alloc_coherent
2943
if test "$CONFIG_SND_HAVE_USB_ALLOC_COHERENT" = "1"; then
2944
AC_DEFINE(CONFIG_SND_HAVE_USB_ALLOC_COHERENT)
2868
2949
dnl class_simple for old 2.6 kernels
3380
dnl Check for pm_qos_request()
3381
if test "$kversion.$kpatchlevel" = "2.6"; then
3382
AC_MSG_CHECKING(for pm_qos_request)
3384
ac_save_CFLAGS="$CFLAGS"
3386
CFLAGS="$KERNEL_CHECK_CFLAGS"
3390
#ifdef CONFIG_HAVE_DEPRECATED_CONFIG_H
3391
#include <$INCLUDE_AUTOCONF_H>
3393
#include <linux/config.h>
3395
#include <linux/pm_qos_params.h>
3397
int (*foo)(int) = pm_qos_request;
3399
AC_MSG_RESULT(yes);pm_qos_request="1",
3400
AC_MSG_RESULT(no);pm_qos_request="0",
3401
AC_MSG_RESULT(unknown);pm_qos_request="0"
3403
CFLAGS=$ac_save_CFLAGS
3405
CONFIG_SND_HAVE_PM_QOS_REQUEST=$pm_qos_request
3406
if test "$CONFIG_SND_HAVE_PM_QOS_REQUEST" = "1"; then
3407
AC_DEFINE(CONFIG_SND_HAVE_PM_QOS_REQUEST)
3411
dnl Check for static pm_qos_request()
3412
if test "$kversion.$kpatchlevel" = "2.6"; then
3413
AC_MSG_CHECKING(for static pm_qos_request)
3415
ac_save_CFLAGS="$CFLAGS"
3417
CFLAGS="$KERNEL_CHECK_CFLAGS"
3421
#ifdef CONFIG_HAVE_DEPRECATED_CONFIG_H
3422
#include <$INCLUDE_AUTOCONF_H>
3424
#include <linux/config.h>
3426
#include <linux/pm_qos_params.h>
3428
struct pm_qos_request_list r;
3429
pm_qos_add_request(&r, PM_QOS_CPU_DMA_LATENCY, 100);
3431
AC_MSG_RESULT(yes);pm_qos_request_static="1",
3432
AC_MSG_RESULT(no);pm_qos_request_static="0",
3433
AC_MSG_RESULT(unknown);pm_qos_request_static="0"
3435
CFLAGS=$ac_save_CFLAGS
3437
CONFIG_SND_HAVE_PM_QOS_REQUEST_STATIC=$pm_qos_request_static
3438
if test "$CONFIG_SND_HAVE_PM_QOS_REQUEST_STATIC" = "1"; then
3439
AC_DEFINE(CONFIG_SND_HAVE_PM_QOS_REQUEST_STATIC)
3300
3443
dnl New unlocked/compat_ioctl
3301
3444
if test "$kversion.$kpatchlevel" = "2.6"; then