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