Lines Matching refs:dvbnet

1216 static int get_if(struct dvb_net *dvbnet)  argument
1221 if (!dvbnet->state[i])
1227 dvbnet->state[i]=1;
1231 static int dvb_net_add_if(struct dvb_net *dvbnet, u16 pid, u8 feedtype) argument
1240 if ((if_num = get_if(dvbnet)) < 0)
1248 if (dvbnet->dvbdev->id)
1250 dvbnet->dvbdev->adapter->num, dvbnet->dvbdev->id, if_num);
1254 dvbnet->dvbdev->adapter->num, if_num);
1257 memcpy(net->dev_addr, dvbnet->dvbdev->adapter->proposed_mac, 6);
1259 dvbnet->device[if_num] = net;
1263 priv->demux = dvbnet->demux;
1278 dvbnet->device[if_num] = NULL;
1287 static int dvb_net_remove_if(struct dvb_net *dvbnet, unsigned long num) argument
1289 struct net_device *net = dvbnet->device[num];
1292 if (!dvbnet->state[num])
1303 dvbnet->state[num]=0;
1304 dvbnet->device[num] = NULL;
1314 struct dvb_net *dvbnet = dvbdev->priv; local
1320 if (mutex_lock_interruptible(&dvbnet->ioctl_mutex))
1339 result=dvb_net_add_if(dvbnet, dvbnetif->pid, dvbnetif->feedtype);
1355 !dvbnet->state[dvbnetif->if_num]) {
1360 netdev = dvbnet->device[dvbnetif->if_num];
1377 ret = dvb_net_remove_if(dvbnet, (unsigned long) parg);
1399 result=dvb_net_add_if(dvbnet, dvbnetif->pid, DVB_NET_FEEDTYPE_MPE);
1415 !dvbnet->state[dvbnetif->if_num]) {
1420 netdev = dvbnet->device[dvbnetif->if_num];
1432 mutex_unlock(&dvbnet->ioctl_mutex);
1445 struct dvb_net *dvbnet = dvbdev->priv; local
1449 if(dvbdev->users == 1 && dvbnet->exit == 1)
1473 void dvb_net_release (struct dvb_net *dvbnet) argument
1477 dvbnet->exit = 1;
1478 if (dvbnet->dvbdev->users < 1)
1479 wait_event(dvbnet->dvbdev->wait_queue,
1480 dvbnet->dvbdev->users==1);
1482 dvb_unregister_device(dvbnet->dvbdev);
1485 if (!dvbnet->state[i])
1487 dvb_net_remove_if(dvbnet, i);
1493 int dvb_net_init (struct dvb_adapter *adap, struct dvb_net *dvbnet, argument
1498 mutex_init(&dvbnet->ioctl_mutex);
1499 dvbnet->demux = dmx;
1502 dvbnet->state[i] = 0;
1504 return dvb_register_device(adap, &dvbnet->dvbdev, &dvbdev_net,
1505 dvbnet, DVB_DEVICE_NET);