Update of /cvsroot/alsa/alsa-driver/acore
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27964/acore

Modified Files:
        sgbuf.c 
Log Message:
fixed the compilation for 2.2/2.4 kernels.








Index: sgbuf.c
===================================================================
RCS file: /cvsroot/alsa/alsa-driver/acore/sgbuf.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- sgbuf.c     2 Mar 2004 15:32:35 -0000       1.6
+++ sgbuf.c     3 Mar 2004 11:51:09 -0000       1.7
@@ -57,8 +57,14 @@
        unsigned int i;
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0)
        unsigned long rmask;
-       if (sgbuf->dev->dev.dev->dma_mask)
-               rmask = ~((unsigned long)(*sgbuf->dev->dev.dev->dma_mask));
+       if (sgbuf->dev.type == SNDRV_DMA_TYPE_PCI)
+               rmask = sgbuf->dev.dev.pci->dma_mask;
+       else if (sgbuf->dev.dev.dev->dma_mask)
+               rmask = *sgbuf->dev.dev.dev->dma_mask;
+       else
+               rmask = 0;
+       if (rmask)
+               rmask = ~rmask;
        else
                rmask = ~0xffffffUL;
 #endif
@@ -139,7 +145,11 @@
        if (! sgbuf)
                return NULL;
        memset(sgbuf, 0, sizeof(*sgbuf));
-       sgbuf->dev = dev;
+       sgbuf->dev = *dev;
+       if (dev->type == SNDRV_DMA_TYPE_PCI_SG)
+               sgbuf->dev.type = SNDRV_DMA_TYPE_PCI;
+       else
+               sgbuf->dev.type =SNDRV_DMA_TYPE_DEV;
        pages = snd_sgbuf_aligned_pages(size);
        sgbuf->tblsize = sgbuf_align_table(pages);
        sgbuf->table = kmalloc(sizeof(*sgbuf->table) * sgbuf->tblsize, GFP_KERNEL);



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to