Lines Matching refs:dvb
168 struct cx18_dvb *dvb = container_of(fe->dvb, in yuan_mpc718_mt352_init() local
170 struct cx18_stream *stream = dvb->stream; in yuan_mpc718_mt352_init()
300 mutex_lock(&stream->dvb->feedlock); in cx18_dvb_start_feed()
301 if (stream->dvb->feeding++ == 0) { in cx18_dvb_start_feed()
308 stream->dvb->feeding--; in cx18_dvb_start_feed()
309 if (stream->dvb->feeding == 0) in cx18_dvb_start_feed()
315 mutex_unlock(&stream->dvb->feedlock); in cx18_dvb_start_feed()
333 mutex_lock(&stream->dvb->feedlock); in cx18_dvb_stop_feed()
334 if (--stream->dvb->feeding == 0) { in cx18_dvb_stop_feed()
341 mutex_unlock(&stream->dvb->feedlock); in cx18_dvb_stop_feed()
350 struct cx18_dvb *dvb = stream->dvb; in cx18_dvb_register() local
356 if (!dvb) in cx18_dvb_register()
359 dvb->enabled = 0; in cx18_dvb_register()
360 dvb->stream = stream; in cx18_dvb_register()
362 ret = dvb_register_adapter(&dvb->dvb_adapter, in cx18_dvb_register()
368 dvb_adapter = &dvb->dvb_adapter; in cx18_dvb_register()
370 dvbdemux = &dvb->demux; in cx18_dvb_register()
386 dvb->hw_frontend.source = DMX_FRONTEND_0; in cx18_dvb_register()
387 dvb->mem_frontend.source = DMX_MEMORY_FE; in cx18_dvb_register()
388 dvb->dmxdev.filternum = 256; in cx18_dvb_register()
389 dvb->dmxdev.demux = dmx; in cx18_dvb_register()
391 ret = dvb_dmxdev_init(&dvb->dmxdev, dvb_adapter); in cx18_dvb_register()
395 ret = dmx->add_frontend(dmx, &dvb->hw_frontend); in cx18_dvb_register()
399 ret = dmx->add_frontend(dmx, &dvb->mem_frontend); in cx18_dvb_register()
403 ret = dmx->connect_frontend(dmx, &dvb->hw_frontend); in cx18_dvb_register()
411 dvb_net_init(dvb_adapter, &dvb->dvbnet, dmx); in cx18_dvb_register()
415 stream->dvb->dvb_adapter.num, stream->name, in cx18_dvb_register()
419 mutex_init(&dvb->feedlock); in cx18_dvb_register()
420 dvb->enabled = 1; in cx18_dvb_register()
426 dmx->remove_frontend(dmx, &dvb->mem_frontend); in cx18_dvb_register()
428 dmx->remove_frontend(dmx, &dvb->hw_frontend); in cx18_dvb_register()
430 dvb_dmxdev_release(&dvb->dmxdev); in cx18_dvb_register()
442 struct cx18_dvb *dvb = stream->dvb; in cx18_dvb_unregister() local
449 if (dvb == NULL || !dvb->enabled) in cx18_dvb_unregister()
452 dvb_adapter = &dvb->dvb_adapter; in cx18_dvb_unregister()
453 dvbdemux = &dvb->demux; in cx18_dvb_unregister()
457 dvb_net_release(&dvb->dvbnet); in cx18_dvb_unregister()
458 dmx->remove_frontend(dmx, &dvb->mem_frontend); in cx18_dvb_unregister()
459 dmx->remove_frontend(dmx, &dvb->hw_frontend); in cx18_dvb_unregister()
460 dvb_dmxdev_release(&dvb->dmxdev); in cx18_dvb_unregister()
462 dvb_unregister_frontend(dvb->fe); in cx18_dvb_unregister()
463 dvb_frontend_detach(dvb->fe); in cx18_dvb_unregister()
472 struct cx18_dvb *dvb = stream->dvb; in dvb_register() local
479 dvb->fe = dvb_attach(s5h1409_attach, in dvb_register()
482 if (dvb->fe != NULL) { in dvb_register()
483 dvb_attach(mxl5005s_attach, dvb->fe, in dvb_register()
490 dvb->fe = dvb_attach(s5h1411_attach, in dvb_register()
493 if (dvb->fe != NULL) in dvb_register()
494 dvb_attach(tda18271_attach, dvb->fe, in dvb_register()
499 dvb->fe = dvb_attach(zl10353_attach, in dvb_register()
502 if (dvb->fe != NULL) { in dvb_register()
516 fe = dvb_attach(xc2028_attach, dvb->fe, &cfg); in dvb_register()
527 dvb->fe = dvb_attach(mt352_attach, in dvb_register()
530 if (dvb->fe == NULL) in dvb_register()
531 dvb->fe = dvb_attach(zl10353_attach, in dvb_register()
534 if (dvb->fe != NULL) { in dvb_register()
548 fe = dvb_attach(xc2028_attach, dvb->fe, &cfg); in dvb_register()
554 dvb->fe = dvb_attach(zl10353_attach, in dvb_register()
557 if (dvb->fe != NULL) { in dvb_register()
571 fe = dvb_attach(xc2028_attach, dvb->fe, &cfg); in dvb_register()
581 if (dvb->fe == NULL) { in dvb_register()
586 dvb->fe->callback = cx18_reset_tuner_gpio; in dvb_register()
588 ret = dvb_register_frontend(&dvb->dvb_adapter, dvb->fe); in dvb_register()
590 if (dvb->fe->ops.release) in dvb_register()
591 dvb->fe->ops.release(dvb->fe); in dvb_register()