Lines Matching defs:fe

72 static int vb2_dvb_register_adapter(struct vb2_dvb_frontends *fe,
83 mutex_init(&fe->lock);
86 result = dvb_register_adapter(&fe->adapter, adapter_name, module,
92 fe->adapter.priv = adapter_priv;
93 fe->adapter.mfe_shared = mfe_shared;
96 fe->adapter.mdev = mdev;
201 struct vb2_dvb_frontend *fe;
204 fe = vb2_dvb_get_frontend(f, 1);
205 if (!fe) {
212 fe->dvb.name, adapter_nr, mfe_shared);
221 fe = list_entry(list, struct vb2_dvb_frontend, felist);
222 res = vb2_dvb_register_frontend(&f->adapter, &fe->dvb);
225 fe->dvb.name, res);
255 struct vb2_dvb_frontend *fe, *ret = NULL;
260 fe = list_entry(list, struct vb2_dvb_frontend, felist);
261 if (fe->id == id) {
262 ret = fe;
277 struct vb2_dvb_frontend *fe = NULL;
283 fe = list_entry(list, struct vb2_dvb_frontend, felist);
284 if (fe->dvb.frontend == p) {
285 ret = fe->id;
299 struct vb2_dvb_frontend *fe;
301 fe = kzalloc(sizeof(struct vb2_dvb_frontend), GFP_KERNEL);
302 if (fe == NULL)
305 fe->id = id;
306 mutex_init(&fe->dvb.lock);
309 list_add_tail(&fe->felist, &f->felist);
311 return fe;
318 struct vb2_dvb_frontend *fe;
322 fe = list_entry(list, struct vb2_dvb_frontend, felist);
323 if (fe->dvb.net.dvbdev) {
324 dvb_net_release(&fe->dvb.net);
325 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx,
326 &fe->dvb.fe_mem);
327 fe->dvb.demux.dmx.remove_frontend(&fe->dvb.demux.dmx,
328 &fe->dvb.fe_hw);
329 dvb_dmxdev_release(&fe->dvb.dmxdev);
330 dvb_dmx_release(&fe->dvb.demux);
331 dvb_unregister_frontend(fe->dvb.frontend);
333 if (fe->dvb.frontend)
335 dvb_frontend_detach(fe->dvb.frontend);
337 kfree(fe); /* free frontend allocation */