Lines Matching refs:fe
136 static int videobuf_dvb_register_adapter(struct videobuf_dvb_frontends *fe, in videobuf_dvb_register_adapter() argument
146 mutex_init(&fe->lock); in videobuf_dvb_register_adapter()
149 result = dvb_register_adapter(&fe->adapter, adapter_name, module, in videobuf_dvb_register_adapter()
155 fe->adapter.priv = adapter_priv; in videobuf_dvb_register_adapter()
156 fe->adapter.mfe_shared = mfe_shared; in videobuf_dvb_register_adapter()
260 struct videobuf_dvb_frontend *fe; in videobuf_dvb_register_bus() local
263 fe = videobuf_dvb_get_frontend(f, 1); in videobuf_dvb_register_bus()
264 if (!fe) { in videobuf_dvb_register_bus()
271 fe->dvb.name, adapter_nr, mfe_shared); in videobuf_dvb_register_bus()
280 fe = list_entry(list, struct videobuf_dvb_frontend, felist); in videobuf_dvb_register_bus()
281 res = videobuf_dvb_register_frontend(&f->adapter, &fe->dvb); in videobuf_dvb_register_bus()
284 fe->dvb.name, res); in videobuf_dvb_register_bus()
310 struct videobuf_dvb_frontend *fe, *ret = NULL; in videobuf_dvb_get_frontend() local
315 fe = list_entry(list, struct videobuf_dvb_frontend, felist); in videobuf_dvb_get_frontend()
316 if (fe->id == id) { in videobuf_dvb_get_frontend()
317 ret = fe; in videobuf_dvb_get_frontend()
332 struct videobuf_dvb_frontend *fe = NULL; in videobuf_dvb_find_frontend() local
338 fe = list_entry(list, struct videobuf_dvb_frontend, felist); in videobuf_dvb_find_frontend()
339 if (fe->dvb.frontend == p) { in videobuf_dvb_find_frontend()
340 ret = fe->id; in videobuf_dvb_find_frontend()
354 struct videobuf_dvb_frontend *fe; in videobuf_dvb_alloc_frontend() local
356 fe = kzalloc(sizeof(struct videobuf_dvb_frontend), GFP_KERNEL); in videobuf_dvb_alloc_frontend()
357 if (fe == NULL) in videobuf_dvb_alloc_frontend()
360 fe->id = id; in videobuf_dvb_alloc_frontend()
361 mutex_init(&fe->dvb.lock); in videobuf_dvb_alloc_frontend()
364 list_add_tail(&fe->felist, &f->felist); in videobuf_dvb_alloc_frontend()
368 return fe; in videobuf_dvb_alloc_frontend()
375 struct videobuf_dvb_frontend *fe; in videobuf_dvb_dealloc_frontends() local
379 fe = list_entry(list, struct videobuf_dvb_frontend, felist); in videobuf_dvb_dealloc_frontends()
380 if (fe->dvb.net.dvbdev) { in videobuf_dvb_dealloc_frontends()
381 dvb_net_release(&fe->dvb.net); in videobuf_dvb_dealloc_frontends()
382 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx, in videobuf_dvb_dealloc_frontends()
383 &fe->dvb.fe_mem); in videobuf_dvb_dealloc_frontends()
384 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx, in videobuf_dvb_dealloc_frontends()
385 &fe->dvb.fe_hw); in videobuf_dvb_dealloc_frontends()
386 dvb_dmxdev_release(&fe->dvb.dmxdev); in videobuf_dvb_dealloc_frontends()
387 dvb_dmx_release(&fe->dvb.demux); in videobuf_dvb_dealloc_frontends()
388 dvb_unregister_frontend(fe->dvb.frontend); in videobuf_dvb_dealloc_frontends()
390 if (fe->dvb.frontend) in videobuf_dvb_dealloc_frontends()
392 dvb_frontend_detach(fe->dvb.frontend); in videobuf_dvb_dealloc_frontends()
394 kfree(fe); /* free frontend allocation */ in videobuf_dvb_dealloc_frontends()