James Pearson wrote:
I've just discovered that I can't load snd-ioctl32 from 1.0.15rc2 on
RHEL4/CentOS4 - dmesg reports:
snd_ioctl32: Unknown symbol snd_ctl_elem_read
snd_ioctl32: Unknown symbol snd_ctl_elem_write
snd-ioctl32 with 1.0.15rc1 loads fine ...
The problem is still there with 1.0.15rc3 - however, I've found the
cause of the issue:
EXPORT_SYMBOL(snd_ctl_elem_read) and EXPORT_SYMBOL(snd_ctl_elem_write)
have been removed from alsa-kernel/core/control.c - see:
<http://hg.alsa-project.org/alsa-kernel/rev/efd5ab99655e>
I guess this is OK for more recent kernels, but still needed for
RHEL4/CentOS4 2.6.9 kernels
I can work round the problem by putting these back into acore/control.c
I've attached a patch which patches acore/control.patch
James Pearson
--- ./acore/control.patch.dist 2007-09-21 09:41:25.000000000 +0100
+++ ./acore/control.patch 2007-09-26 12:07:14.809107031 +0100
@@ -1,5 +1,5 @@
---- ../alsa-kernel/core/control.c 2007-05-17 08:15:24.000000000 +0200
-+++ control.c 2007-05-24 21:25:20.000000000 +0200
+--- ../alsa-kernel/core/control.c 2007-09-21 09:41:26.000000000 +0100
++++ control.c 2007-09-26 12:06:00.936446240 +0100
@@ -1,3 +1,4 @@
+#define __NO_VERSION__
/*
@@ -13,7 +13,25 @@
#include <linux/slab.h>
#include <linux/vmalloc.h>
#include <linux/time.h>
-@@ -1387,25 +1389,44 @@
+@@ -716,6 +718,8 @@ int snd_ctl_elem_read(struct snd_card *c
+ return result;
+ }
+
++EXPORT_SYMBOL(snd_ctl_elem_read);
++
+ static int snd_ctl_elem_read_user(struct snd_card *card,
+ struct snd_ctl_elem_value __user *_control)
+ {
+@@ -779,6 +783,8 @@ int snd_ctl_elem_write(struct snd_card *
+ return result;
+ }
+
++EXPORT_SYMBOL(snd_ctl_elem_write);
++
+ static int snd_ctl_elem_write_user(struct snd_ctl_file *file,
+ struct snd_ctl_elem_value __user *_control)
+ {
+@@ -1383,25 +1389,44 @@ static int snd_ctl_fasync(int fd, struct
/*
* ioctl32 compat
*/
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel