Hi,

This is a revised version of my ad1848 patch; instead of modifying the
static structures, update the "owner" fields in the audio_devs[] and
mixer_devs[] structures instead.

Chris
--- linux-vanilla/drivers/sound/ad1848.c        Fri Aug 11 16:26:43 2000
+++ linux-2.4.0-ac3/drivers/sound/ad1848.c      Mon Jan  8 14:32:39 2001
@@ -1900,9 +1900,6 @@
        if(portc==NULL)
                return -1;
 
-       if (owner)
-               ad1848_audio_driver.owner = owner;
-       
        if ((my_dev = sound_install_audiodrv(AUDIO_DRIVER_VERSION,
                                             dev_name,
                                             &ad1848_audio_driver,
@@ -1920,6 +1917,8 @@
        
        audio_devs[my_dev]->portc = portc;
        audio_devs[my_dev]->mixer_dev = -1;
+       if (owner)
+               audio_devs[my_dev]->d->owner = owner;
        memset((char *) portc, 0, sizeof(*portc));
 
        nr_ad1848_devs++;
@@ -1986,6 +1985,7 @@
                        if (sound_alloc_dma(dma_capture, devc->name))
                                printk(KERN_WARNING "ad1848.c: Can't allocate 
DMA%d\n", dma_capture);
        }
+
        if ((e = sound_install_mixer(MIXER_DRIVER_VERSION,
                                     dev_name,
                                     &ad1848_mixer_operations,
@@ -1993,6 +1993,8 @@
                                     devc)) >= 0)
        {
                audio_devs[my_dev]->mixer_dev = e;
+               if (owner)
+                       mixer_devs[e]->owner = owner;
        }
        return my_dev;
 }

Reply via email to