Lines Matching full:fe

73 static int vb2_dvb_register_adapter(struct vb2_dvb_frontends *fe,  in vb2_dvb_register_adapter()  argument
84 mutex_init(&fe->lock); in vb2_dvb_register_adapter()
87 result = dvb_register_adapter(&fe->adapter, adapter_name, module, in vb2_dvb_register_adapter()
93 fe->adapter.priv = adapter_priv; in vb2_dvb_register_adapter()
94 fe->adapter.mfe_shared = mfe_shared; in vb2_dvb_register_adapter()
97 fe->adapter.mdev = mdev; in vb2_dvb_register_adapter()
202 struct vb2_dvb_frontend *fe; in vb2_dvb_register_bus() local
205 fe = vb2_dvb_get_frontend(f, 1); in vb2_dvb_register_bus()
206 if (!fe) { in vb2_dvb_register_bus()
213 fe->dvb.name, adapter_nr, mfe_shared); in vb2_dvb_register_bus()
222 fe = list_entry(list, struct vb2_dvb_frontend, felist); in vb2_dvb_register_bus()
223 res = vb2_dvb_register_frontend(&f->adapter, &fe->dvb); in vb2_dvb_register_bus()
226 fe->dvb.name, res); in vb2_dvb_register_bus()
256 struct vb2_dvb_frontend *fe, *ret = NULL; in vb2_dvb_get_frontend() local
261 fe = list_entry(list, struct vb2_dvb_frontend, felist); in vb2_dvb_get_frontend()
262 if (fe->id == id) { in vb2_dvb_get_frontend()
263 ret = fe; in vb2_dvb_get_frontend()
278 struct vb2_dvb_frontend *fe = NULL; in vb2_dvb_find_frontend() local
284 fe = list_entry(list, struct vb2_dvb_frontend, felist); in vb2_dvb_find_frontend()
285 if (fe->dvb.frontend == p) { in vb2_dvb_find_frontend()
286 ret = fe->id; in vb2_dvb_find_frontend()
300 struct vb2_dvb_frontend *fe; in vb2_dvb_alloc_frontend() local
302 fe = kzalloc(sizeof(struct vb2_dvb_frontend), GFP_KERNEL); in vb2_dvb_alloc_frontend()
303 if (fe == NULL) in vb2_dvb_alloc_frontend()
306 fe->id = id; in vb2_dvb_alloc_frontend()
307 mutex_init(&fe->dvb.lock); in vb2_dvb_alloc_frontend()
310 list_add_tail(&fe->felist, &f->felist); in vb2_dvb_alloc_frontend()
312 return fe; in vb2_dvb_alloc_frontend()
319 struct vb2_dvb_frontend *fe; in vb2_dvb_dealloc_frontends() local
323 fe = list_entry(list, struct vb2_dvb_frontend, felist); in vb2_dvb_dealloc_frontends()
324 if (fe->dvb.net.dvbdev) { in vb2_dvb_dealloc_frontends()
325 dvb_net_release(&fe->dvb.net); in vb2_dvb_dealloc_frontends()
326 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx, in vb2_dvb_dealloc_frontends()
327 &fe->dvb.fe_mem); in vb2_dvb_dealloc_frontends()
328 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx, in vb2_dvb_dealloc_frontends()
329 &fe->dvb.fe_hw); in vb2_dvb_dealloc_frontends()
330 dvb_dmxdev_release(&fe->dvb.dmxdev); in vb2_dvb_dealloc_frontends()
331 dvb_dmx_release(&fe->dvb.demux); in vb2_dvb_dealloc_frontends()
332 dvb_unregister_frontend(fe->dvb.frontend); in vb2_dvb_dealloc_frontends()
334 if (fe->dvb.frontend) in vb2_dvb_dealloc_frontends()
336 dvb_frontend_detach(fe->dvb.frontend); in vb2_dvb_dealloc_frontends()
338 kfree(fe); /* free frontend allocation */ in vb2_dvb_dealloc_frontends()