Quoting Denis Oliver Kropp ([EMAIL PROTECTED]):
> 
> Hi,
> 
> I've made a patch after doing several small changes
> to get the DVB driver compiled with Linux 2.5.3-dj3.
> 
> I guess it will work for plain 2.5.3, too.
> 
> The patch needs to be applied within "DVB/driver" using "-p0".

Ok, no attachment allowed... grml...


------------------------------- snip -------------------------------
Index: dvb.c
===================================================================
RCS file: /cvs/linuxtv/DVB/driver/dvb.c,v
retrieving revision 1.121
diff -u -r1.121 dvb.c
--- dvb.c       7 Feb 2002 16:23:52 -0000       1.121
+++ dvb.c       9 Feb 2002 02:50:40 -0000
@@ -3414,13 +3414,14 @@
        return 0;
 }

-static int dvb_mmap(struct video_device *dev, const char *adr, unsigned long size)
+static int dvb_mmap(struct vm_area_struct *vma, struct video_device *dev, const char 
+*adr, unsigned long size)
 {
        struct dvb_struct* dvb = (struct dvb_struct*)dev;
        struct saa7146_mmap_struct m;

        fprintk(KERN_ERR "dvb: dvb_mmap called, adr:%p, size:0x%08x\n",adr,(u32)size);

+        m.vma = vma;
        m.adr = adr;
        m.size = size;

Index: dvb_frontend.c
===================================================================
RCS file: /cvs/linuxtv/DVB/driver/dvb_frontend.c,v
retrieving revision 1.6
diff -u -r1.6 dvb_frontend.c
--- dvb_frontend.c      7 Feb 2002 16:31:42 -0000       1.6
+++ dvb_frontend.c      9 Feb 2002 02:50:40 -0000
@@ -27,6 +27,7 @@
 #include <linux/smp_lock.h>
 #include <linux/string.h>
 #include <linux/module.h>
+#include <linux/time.h>

 #ifdef MODULE
 MODULE_DESCRIPTION("");
@@ -136,7 +137,7 @@
         int wp;
         struct timeval tv;

-        get_fast_time(&tv);
+        do_gettimeofday(&tv);
         ev->timestamp=tv.tv_sec;

         spin_lock(&events->eventlock);
Index: dvbdev.c
===================================================================
RCS file: /cvs/linuxtv/DVB/driver/dvbdev.c,v
retrieving revision 1.11
diff -u -r1.11 dvbdev.c 
--- dvbdev.c    9 Jan 2002 12:57:33 -0000       1.11
+++ dvbdev.c    9 Feb 2002 02:50:40 -0000
@@ -53,7 +53,7 @@
 static inline struct dvb_device *
 inode2dev (struct inode *inode)  
 {
-        int minor=(MINOR(inode->i_rdev)>>6);
+        int minor=(minor(inode->i_rdev)>>6);
        
        return dvb_device[minor];
 }
@@ -61,7 +61,7 @@
 static inline int
 inode2num(struct inode *inode)
 {
-        return (0x3f&MINOR(inode->i_rdev));
+        return (0x3f&minor(inode->i_rdev));
 }
  
 static ssize_t
Index: saa7146_core.c
===================================================================
RCS file: /cvs/linuxtv/DVB/driver/saa7146_core.c,v
retrieving revision 1.16
diff -u -r1.16 saa7146_core.c
--- saa7146_core.c      5 Nov 2001 00:48:02 -0000       1.16
+++ saa7146_core.c      9 Feb 2002 02:50:40 -0000
@@ -127,7 +127,7 @@
 
 #define SAA7146_RESCHED \
         do { \
-          if (current->need_resched) \
+          if (current->work.need_resched) \
             schedule(); \
         } while (0)
 
@@ -459,13 +459,14 @@
                case SAA7146_DO_MMAP: {
                        struct saa7146_mmap_struct* mms = arg;
 
+                       struct vm_area_struct *vma = mms->vma;
                        const char *adr = mms->adr;
                        unsigned long size = mms->size;
                        unsigned long start=(unsigned long) adr;
                        unsigned long page,pos;
 
                        dprintk(KERN_ERR "saa7146_core.o: SAA7146_DO_MMAP.\n");
-                       
+                       
                        if (size > saa->buffers * GRABBING_MEM_SIZE)
                                return -EINVAL;
 
@@ -477,7 +478,7 @@
                        while (size > 0)
                        {
                                page = kvirt_to_pa(pos);
-                               if (remap_page_range(start, page, PAGE_SIZE, 
PAGE_SHARED))
+                               if (remap_page_range(vma, start, page, PAGE_SIZE, 
+PAGE_SHARED))
                                        return -EAGAIN;
                                start   += PAGE_SIZE;  
                                pos     += PAGE_SIZE;  
Index: saa7146_defs.h
===================================================================
RCS file: /cvs/linuxtv/DVB/driver/saa7146_defs.h,v
retrieving revision 1.1
diff -u -r1.1 saa7146_defs.h
--- saa7146_defs.h      21 Feb 2001 17:44:03 -0000      1.1
+++ saa7146_defs.h      9 Feb 2002 02:50:40 -0000
@@ -40,6 +40,7 @@
 
 struct saa7146_mmap_struct
 {
+       struct vm_area_struct *vma;
        const char *adr;
        unsigned long size;
 };
Index: tuner.c
===================================================================
RCS file: /cvs/linuxtv/DVB/driver/tuner.c,v
retrieving revision 1.15
diff -u -r1.15 tuner.c  
--- tuner.c     9 Jan 2002 12:52:19 -0000       1.15
+++ tuner.c     9 Feb 2002 02:50:40 -0000
@@ -5,7 +5,7 @@
 #include <linux/timer.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
-#include <linux/malloc.h>
+#include <linux/slab.h>  
 #include <linux/poll.h>  
 #include <linux/i2c.h>   
 #include <linux/types.h> 
------------------------------- snip -------------------------------


-- 
Best regards,
  Denis Oliver Kropp

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"

           convergence integrated media GmbH


-- 
Info:
To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as 
subject.

Reply via email to