Lines Matching refs:fe
76 static int vb2_dvb_register_adapter(struct vb2_dvb_frontends *fe, in vb2_dvb_register_adapter() argument
86 mutex_init(&fe->lock); in vb2_dvb_register_adapter()
89 result = dvb_register_adapter(&fe->adapter, adapter_name, module, in vb2_dvb_register_adapter()
95 fe->adapter.priv = adapter_priv; in vb2_dvb_register_adapter()
96 fe->adapter.mfe_shared = mfe_shared; in vb2_dvb_register_adapter()
200 struct vb2_dvb_frontend *fe; in vb2_dvb_register_bus() local
203 fe = vb2_dvb_get_frontend(f, 1); in vb2_dvb_register_bus()
204 if (!fe) { in vb2_dvb_register_bus()
211 fe->dvb.name, adapter_nr, mfe_shared); in vb2_dvb_register_bus()
220 fe = list_entry(list, struct vb2_dvb_frontend, felist); in vb2_dvb_register_bus()
221 res = vb2_dvb_register_frontend(&f->adapter, &fe->dvb); in vb2_dvb_register_bus()
224 fe->dvb.name, res); in vb2_dvb_register_bus()
250 struct vb2_dvb_frontend *fe, *ret = NULL; in vb2_dvb_get_frontend() local
255 fe = list_entry(list, struct vb2_dvb_frontend, felist); in vb2_dvb_get_frontend()
256 if (fe->id == id) { in vb2_dvb_get_frontend()
257 ret = fe; in vb2_dvb_get_frontend()
272 struct vb2_dvb_frontend *fe = NULL; in vb2_dvb_find_frontend() local
278 fe = list_entry(list, struct vb2_dvb_frontend, felist); in vb2_dvb_find_frontend()
279 if (fe->dvb.frontend == p) { in vb2_dvb_find_frontend()
280 ret = fe->id; in vb2_dvb_find_frontend()
294 struct vb2_dvb_frontend *fe; in vb2_dvb_alloc_frontend() local
296 fe = kzalloc(sizeof(struct vb2_dvb_frontend), GFP_KERNEL); in vb2_dvb_alloc_frontend()
297 if (fe == NULL) in vb2_dvb_alloc_frontend()
300 fe->id = id; in vb2_dvb_alloc_frontend()
301 mutex_init(&fe->dvb.lock); in vb2_dvb_alloc_frontend()
304 list_add_tail(&fe->felist, &f->felist); in vb2_dvb_alloc_frontend()
306 return fe; in vb2_dvb_alloc_frontend()
313 struct vb2_dvb_frontend *fe; in vb2_dvb_dealloc_frontends() local
317 fe = list_entry(list, struct vb2_dvb_frontend, felist); in vb2_dvb_dealloc_frontends()
318 if (fe->dvb.net.dvbdev) { in vb2_dvb_dealloc_frontends()
319 dvb_net_release(&fe->dvb.net); in vb2_dvb_dealloc_frontends()
320 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx, in vb2_dvb_dealloc_frontends()
321 &fe->dvb.fe_mem); in vb2_dvb_dealloc_frontends()
322 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx, in vb2_dvb_dealloc_frontends()
323 &fe->dvb.fe_hw); in vb2_dvb_dealloc_frontends()
324 dvb_dmxdev_release(&fe->dvb.dmxdev); in vb2_dvb_dealloc_frontends()
325 dvb_dmx_release(&fe->dvb.demux); in vb2_dvb_dealloc_frontends()
326 dvb_unregister_frontend(fe->dvb.frontend); in vb2_dvb_dealloc_frontends()
328 if (fe->dvb.frontend) in vb2_dvb_dealloc_frontends()
330 dvb_frontend_detach(fe->dvb.frontend); in vb2_dvb_dealloc_frontends()
332 kfree(fe); /* free frontend allocation */ in vb2_dvb_dealloc_frontends()