Lines Matching refs:dvb
152 struct cx18_dvb *dvb = container_of(fe->dvb, in yuan_mpc718_mt352_init() local
154 struct cx18_stream *stream = dvb->stream; in yuan_mpc718_mt352_init()
284 mutex_lock(&stream->dvb->feedlock); in cx18_dvb_start_feed()
285 if (stream->dvb->feeding++ == 0) { in cx18_dvb_start_feed()
292 stream->dvb->feeding--; in cx18_dvb_start_feed()
293 if (stream->dvb->feeding == 0) in cx18_dvb_start_feed()
299 mutex_unlock(&stream->dvb->feedlock); in cx18_dvb_start_feed()
317 mutex_lock(&stream->dvb->feedlock); in cx18_dvb_stop_feed()
318 if (--stream->dvb->feeding == 0) { in cx18_dvb_stop_feed()
325 mutex_unlock(&stream->dvb->feedlock); in cx18_dvb_stop_feed()
334 struct cx18_dvb *dvb = stream->dvb; in cx18_dvb_register() local
340 if (!dvb) in cx18_dvb_register()
343 dvb->enabled = 0; in cx18_dvb_register()
344 dvb->stream = stream; in cx18_dvb_register()
346 ret = dvb_register_adapter(&dvb->dvb_adapter, in cx18_dvb_register()
352 dvb_adapter = &dvb->dvb_adapter; in cx18_dvb_register()
354 dvbdemux = &dvb->demux; in cx18_dvb_register()
370 dvb->hw_frontend.source = DMX_FRONTEND_0; in cx18_dvb_register()
371 dvb->mem_frontend.source = DMX_MEMORY_FE; in cx18_dvb_register()
372 dvb->dmxdev.filternum = 256; in cx18_dvb_register()
373 dvb->dmxdev.demux = dmx; in cx18_dvb_register()
375 ret = dvb_dmxdev_init(&dvb->dmxdev, dvb_adapter); in cx18_dvb_register()
379 ret = dmx->add_frontend(dmx, &dvb->hw_frontend); in cx18_dvb_register()
383 ret = dmx->add_frontend(dmx, &dvb->mem_frontend); in cx18_dvb_register()
387 ret = dmx->connect_frontend(dmx, &dvb->hw_frontend); in cx18_dvb_register()
395 dvb_net_init(dvb_adapter, &dvb->dvbnet, dmx); in cx18_dvb_register()
399 stream->dvb->dvb_adapter.num, stream->name, in cx18_dvb_register()
403 mutex_init(&dvb->feedlock); in cx18_dvb_register()
404 dvb->enabled = 1; in cx18_dvb_register()
410 dmx->remove_frontend(dmx, &dvb->mem_frontend); in cx18_dvb_register()
412 dmx->remove_frontend(dmx, &dvb->hw_frontend); in cx18_dvb_register()
414 dvb_dmxdev_release(&dvb->dmxdev); in cx18_dvb_register()
426 struct cx18_dvb *dvb = stream->dvb; in cx18_dvb_unregister() local
433 if (dvb == NULL || !dvb->enabled) in cx18_dvb_unregister()
436 dvb_adapter = &dvb->dvb_adapter; in cx18_dvb_unregister()
437 dvbdemux = &dvb->demux; in cx18_dvb_unregister()
441 dvb_net_release(&dvb->dvbnet); in cx18_dvb_unregister()
442 dmx->remove_frontend(dmx, &dvb->mem_frontend); in cx18_dvb_unregister()
443 dmx->remove_frontend(dmx, &dvb->hw_frontend); in cx18_dvb_unregister()
444 dvb_dmxdev_release(&dvb->dmxdev); in cx18_dvb_unregister()
446 dvb_unregister_frontend(dvb->fe); in cx18_dvb_unregister()
447 dvb_frontend_detach(dvb->fe); in cx18_dvb_unregister()
456 struct cx18_dvb *dvb = stream->dvb; in dvb_register() local
463 dvb->fe = dvb_attach(s5h1409_attach, in dvb_register()
466 if (dvb->fe != NULL) { in dvb_register()
467 dvb_attach(mxl5005s_attach, dvb->fe, in dvb_register()
474 dvb->fe = dvb_attach(s5h1411_attach, in dvb_register()
477 if (dvb->fe != NULL) in dvb_register()
478 dvb_attach(tda18271_attach, dvb->fe, in dvb_register()
483 dvb->fe = dvb_attach(zl10353_attach, in dvb_register()
486 if (dvb->fe != NULL) { in dvb_register()
500 fe = dvb_attach(xc2028_attach, dvb->fe, &cfg); in dvb_register()
511 dvb->fe = dvb_attach(mt352_attach, in dvb_register()
514 if (dvb->fe == NULL) in dvb_register()
515 dvb->fe = dvb_attach(zl10353_attach, in dvb_register()
518 if (dvb->fe != NULL) { in dvb_register()
532 fe = dvb_attach(xc2028_attach, dvb->fe, &cfg); in dvb_register()
538 dvb->fe = dvb_attach(zl10353_attach, in dvb_register()
541 if (dvb->fe != NULL) { in dvb_register()
555 fe = dvb_attach(xc2028_attach, dvb->fe, &cfg); in dvb_register()
565 if (dvb->fe == NULL) { in dvb_register()
570 dvb->fe->callback = cx18_reset_tuner_gpio; in dvb_register()
572 ret = dvb_register_frontend(&dvb->dvb_adapter, dvb->fe); in dvb_register()
574 if (dvb->fe->ops.release) in dvb_register()
575 dvb->fe->ops.release(dvb->fe); in dvb_register()