[linux-dvb] Re: mt352_write

Johannes Stezenbach js at linuxtv.org
Fri Mar 25 14:39:33 CET 2005


Ondrej Zima wrote:
> Rainer Schubert wrote:
> >On Thu, 24 Mar 2005, Ondrej Zima wrote:
> >>I have Pinnacle MC 300i with kernel 2.6.10 from Debian distro.
> >I have got the same card known as "Pinnacle PCTV 300i" and a slightly
> >modified 2.6.10 kernel under Debian Linux.
> >
> >I had the same problems to compile the dvb-kernel stuff from linuxtv.org
> >and so I used
> >
> >http://dl.bytesex.org/cvs-snapshots/video4linux-20050310-100754.tar.gz
> >
> >instead.
> 
> I already use this stuff, but I wants to test the changed mt352 from 
> Kenneth, but it is incompatible with Gerd changes, isn't it?

Gerd's changes to DVB code should have been fed back to our CVS,
so there should be no incompatibilty. However, there was an internal
API change that v4l needs to follow.

The following patch might help to use current v4l stuff with
current CVS (totally untested; should also apply against
linux-2.6.12-rc1 or older kernels with Gerd's current patches):

 drivers/media/video/video-buf-dvb.c               |   12 ++++-----
 include/media/video-buf-dvb.h                     |    2 -

Index: linux-2.6.12-rc1-mm1/drivers/media/video/video-buf-dvb.c
===================================================================
--- linux-2.6.12-rc1-mm1.orig/drivers/media/video/video-buf-dvb.c	2005-03-02 08:37:48.000000000 +0100
+++ linux-2.6.12-rc1-mm1/drivers/media/video/video-buf-dvb.c	2005-03-21 23:27:24.000000000 +0100
@@ -149,10 +149,10 @@ int videobuf_dvb_register(struct videobu
 		       dvb->name, result);
 		goto fail_adapter;
 	}
-	dvb->adapter->priv = adapter_priv;
+	dvb->adapter.priv = adapter_priv;
 
 	/* register frontend */
-	result = dvb_register_frontend(dvb->adapter, dvb->frontend);
+	result = dvb_register_frontend(&dvb->adapter, dvb->frontend);
 	if (result < 0) {
 		printk(KERN_WARNING "%s: dvb_register_frontend failed (errno = %d)\n",
 		       dvb->name, result);
@@ -178,7 +178,7 @@ int videobuf_dvb_register(struct videobu
 	dvb->dmxdev.filternum    = 256;
 	dvb->dmxdev.demux        = &dvb->demux.dmx;
 	dvb->dmxdev.capabilities = 0;
-	result = dvb_dmxdev_init(&dvb->dmxdev, dvb->adapter);
+	result = dvb_dmxdev_init(&dvb->dmxdev, &dvb->adapter);
 	if (result < 0) {
 		printk(KERN_WARNING "%s: dvb_dmxdev_init failed (errno = %d)\n",
 		       dvb->name, result);
@@ -209,7 +209,7 @@ int videobuf_dvb_register(struct videobu
 	}
 
 	/* register network adapter */
-	dvb_net_init(dvb->adapter, &dvb->net, &dvb->demux.dmx);
+	dvb_net_init(&dvb->adapter, &dvb->net, &dvb->demux.dmx);
 	return 0;
 
 fail_fe_conn:
@@ -223,7 +223,7 @@ fail_dmxdev:
 fail_dmx:
 	dvb_unregister_frontend(dvb->frontend);
 fail_frontend:
-	dvb_unregister_adapter(dvb->adapter);
+	dvb_unregister_adapter(&dvb->adapter);
 fail_adapter:
 	return result;
 }
@@ -236,7 +236,7 @@ void videobuf_dvb_unregister(struct vide
 	dvb_dmxdev_release(&dvb->dmxdev);
 	dvb_dmx_release(&dvb->demux);
 	dvb_unregister_frontend(dvb->frontend);
-	dvb_unregister_adapter(dvb->adapter);
+	dvb_unregister_adapter(&dvb->adapter);
 }
 
 EXPORT_SYMBOL(videobuf_dvb_register);
Index: linux-2.6.12-rc1-mm1/include/media/video-buf-dvb.h
===================================================================
--- linux-2.6.12-rc1-mm1.orig/include/media/video-buf-dvb.h	2005-03-02 08:38:25.000000000 +0100
+++ linux-2.6.12-rc1-mm1/include/media/video-buf-dvb.h	2005-03-21 23:27:24.000000000 +0100
@@ -16,7 +16,7 @@ struct videobuf_dvb {
 	int                        nfeeds;
 
 	/* videobuf_dvb_(un)register manges this */
-	struct dvb_adapter         *adapter;
+	struct dvb_adapter         adapter;
 	struct dvb_demux           demux;
 	struct dmxdev              dmxdev;
 	struct dmx_frontend        fe_hw;

Johannes




More information about the linux-dvb mailing list