16 #include <linux/module.h>
18 #include <linux/device.h>
22 #include <linux/slab.h>
34 static unsigned int debug;
38 #define dprintk(fmt, arg...) if (debug) \
39 printk(KERN_DEBUG "%s/dvb: " fmt, dvb->name , ## arg)
43 static int videobuf_dvb_thread(
void *
data)
50 dprintk(
"dvb thread started\n");
78 dvb->
dvbq.ops->buf_queue(&dvb->
dvbq,buf);
79 spin_unlock_irqrestore(dvb->
dvbq.irqlock,flags);
83 dprintk(
"dvb thread stopped\n");
99 if (!demux->
dmx.frontend)
109 dvb,
"%s dvb", dvb->
name);
110 if (IS_ERR(dvb->
thread)) {
111 rc = PTR_ERR(dvb->
thread);
153 adapter_name, result);
155 fe->
adapter.priv = adapter_priv;
156 fe->
adapter.mfe_shared = mfe_shared;
175 dvb->
demux.dmx.capabilities =
178 dvb->
demux.priv = dvb;
179 dvb->
demux.filternum = 256;
180 dvb->
demux.feednum = 256;
181 dvb->
demux.start_feed = videobuf_dvb_start_feed;
182 dvb->
demux.stop_feed = videobuf_dvb_stop_feed;
190 dvb->
dmxdev.filternum = 256;
192 dvb->
dmxdev.capabilities = 0;
217 result = dvb->
demux.dmx.connect_frontend(&dvb->
demux.dmx, &dvb->
fe_hw);
253 struct module *module,
255 struct device *device,
270 res = videobuf_dvb_register_adapter(f, module, adapter_priv, device,
271 fe->
dvb.name, adapter_nr, mfe_shared);
281 res = videobuf_dvb_register_frontend(&f->
adapter, &fe->
dvb);
339 if (fe->
dvb.frontend == p) {
380 if (fe->
dvb.net.dvbdev) {
382 fe->
dvb.demux.dmx.remove_frontend(&fe->
dvb.demux.dmx,
384 fe->
dvb.demux.dmx.remove_frontend(&fe->
dvb.demux.dmx,
390 if (fe->
dvb.frontend)