[linux-audio-user] kfusd module (oss2jack) unknown symbols with 2.6.13

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Esben Stien wrote:
> Salvatore Di Pietro <salvuz_78@xxxxxxxxxxx> writes:
> 
> 
>>I am experiencing problems during the build (and consequently
>>modprobe) process of Kor Nielsen hacked version of kfusd module for
>>OSS2JACK, fusd-kor-1.10-9.
> 
> 
> I used this patch:
> 
> http://bugs.gentoo.org/show_bug.cgi?id=96449
> 
> Well, actually it didn't apply, so I patched it manually (just a few
> lines).
> 
> Also see this link: 
> 
> http://forums.gentoo.org/viewtopic-t-354750-postdays-0-postorder-asc-start-50.html?sid=ddb88bc061d05154928a941f096cea66
> 

Thank you! I had to patch it manually, too, and in attachment here's the 
patch I made: apply with

patch -p1  </path/to/fusd-kor-1.10-9_kernel_2.6.13_patch

> I run 2.6.13-rt4 with oss2jack. I have never used this solution before
> and I experience different troubles like crackles in the sound and I'm
> also not able to feed a jack stream into it. It connects but it's not
> putting the stream into the oss app.

It really depends on the application. Good results are with (according 
to info on website):

     * mplayer
     * artsd (and thus all the kde applications)
     * xmms
     * Macromedia Flash
     * xine
     * Totem
     * esd
     * SoundTracker
     * Frozen Bubble
     * GStreamer (osssink)
     * Quake 3
     * Audacity
     * Skype

I dind't manage to make it work with Audacity, though...
With Skype I had no problem:
http://alsa.opensrc.org/index.php?page=JACK

> I'll do some more testing before I ask anything specific, but please
> report back if you get it to work with inputs and no crackles in the
> sound.


-------------- next part --------------
--- fusd-kor-1.10-9/kfusd/kfusd.c	2005-06-18 08:53:52.000000000 +0200
+++ fusd-kor-1.10-9.bak/kfusd/kfusd.c	2005-09-16 00:38:51.000000000 +0200
@@ -125,12 +125,12 @@
 STATIC dev_t control_id;
 STATIC dev_t status_id;
 
-static struct class_simple *fusd_class;
+static struct class *fusd_class;
 
 static struct class_device *fusd_control_class_device;
 static struct class_device *fusd_status_class_device;
 
-extern struct class_simple *sound_class;
+extern struct class *sound_class;
 
 /* version number incremented for each registered device */
 STATIC int last_version = 1;
@@ -1965,7 +1965,7 @@
 	}
 	else
 	{
-		fusd_dev->clazz = class_simple_create(THIS_MODULE, fusd_dev->class_name);
+		fusd_dev->clazz = class_create(THIS_MODULE, fusd_dev->class_name);
 		if(IS_ERR(fusd_dev->clazz))
 		{
 			error = PTR_ERR(fusd_dev->clazz);
@@ -1974,11 +1974,11 @@
 		fusd_dev->owns_class = 1;
 	}
 	
-	fusd_dev->class_device = class_simple_device_add(fusd_dev->clazz, fusd_dev->dev_id, NULL, fusd_dev->dev_name);
+	fusd_dev->class_device = class_device_create(fusd_dev->clazz, fusd_dev->dev_id, NULL, fusd_dev->dev_name);
 	if(fusd_dev->class_device == NULL)
 	{
 		error = PTR_ERR(fusd_dev->class_device);
-		printk("class_simple_device_add failed status: %d\n", error);
+		printk("class_device_create failed status: %d\n", error);
 		goto register_failed5;
 	}
 	
@@ -2001,7 +2001,7 @@
   return 0;
 
 register_failed5:
-	class_simple_destroy(fusd_dev->clazz);
+	class_destroy(fusd_dev->clazz);
 register_failed4:
 	cdev_del(fusd_dev->handle);
 register_failed3:
@@ -2093,10 +2093,10 @@
 
 	if(fusd_dev->handle)
 	{
-		class_simple_device_remove(fusd_dev->dev_id);
+		class_device_destroy(fusd_class,fusd_dev->dev_id);
 		if(fusd_dev->owns_class)
 		{
-			class_simple_destroy(fusd_dev->clazz);
+			class_destroy(fusd_dev->clazz);
 		}
 		cdev_del(fusd_dev->handle);
 #ifdef CONFIG_DEVFS_FS
@@ -2799,11 +2799,11 @@
 	fusd_control_device = NULL;
 	fusd_status_device = NULL;
 	
-	fusd_class = class_simple_create(THIS_MODULE, "fusd");
+	fusd_class = class_create(THIS_MODULE, "fusd");
 	if(IS_ERR(fusd_class))
 	{
 		retval = PTR_ERR(fusd_class);
-		printk("class_simple_create failed status: %d\n", retval);
+		printk("class_create failed status: %d\n", retval);
 		goto fail0;
 	}
 	
@@ -2841,11 +2841,11 @@
 		goto fail4;
 	}
 	
-	fusd_control_class_device = class_simple_device_add(fusd_class, control_id, NULL, "control");
+	fusd_control_class_device = class_device_create(fusd_class, control_id, NULL, "control");
 	if(fusd_control_class_device == NULL)
 	{
 		retval = PTR_ERR(fusd_control_class_device);
-		printk("class_simple_device_add failed status: %d\n", retval);
+		printk("class_device_create failed status: %d\n", retval);
 		goto fail5;
 	}
 
@@ -2882,10 +2882,10 @@
 		goto fail9;
 	}
 	
-	fusd_status_class_device = class_simple_device_add(fusd_class, status_id, NULL, "status");
+	fusd_status_class_device = class_device_create(fusd_class, status_id, NULL, "status");
 	if(fusd_status_class_device == NULL)
 	{
-		printk("class_simple_device_add failed status: %d\n", retval);
+		printk("class_device_add failed status: %d\n", retval);
 		retval = PTR_ERR(fusd_status_class_device);
 		goto fail10;
 	}
@@ -2904,7 +2904,7 @@
 fail7:
 	unregister_chrdev_region(status_id, 1);
 fail6:
-	class_simple_device_remove(control_id);
+	class_device_destroy(fusd_class,control_id);
 fail5:
 	cdev_del(fusd_control_device);
 fail4:
@@ -2916,7 +2916,7 @@
 fail2:
 	unregister_chrdev_region(control_id, 1);
 fail1:
-	class_simple_destroy(fusd_class);
+	class_destroy(fusd_class);
 fail0:
 	return retval;
 }
@@ -2925,8 +2925,8 @@
 {
   RDEBUG(1, "cleaning up");
 
-	class_simple_device_remove(status_id);
-	class_simple_device_remove(control_id);
+	class_device_destroy(fusd_class,status_id);
+	class_device_destroy(fusd_class,control_id);
 	
 	cdev_del(fusd_control_device);
 	cdev_del(fusd_status_device);
@@ -2935,7 +2935,7 @@
   devfs_remove(FUSD_STATUS_FILENAME);
 
 
-	class_simple_destroy(fusd_class);
+	class_destroy(fusd_class);
 	
 #ifdef CONFIG_FUSD_MEMDEBUG
   fusd_mem_cleanup();

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux