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.