Lines Matching defs:tpg

32 	struct usbg_tpg			*tpg;
439 luns = atomic_read(&fu->tpg->tpg_port_count);
1045 struct usbg_tpg *tpg;
1049 tpg = cmd->fu->tpg;
1050 tv_nexus = tpg->tpg_nexus;
1100 struct usbg_tpg *tpg = fu->tpg;
1110 tv_nexus = tpg->tpg_nexus;
1161 queue_work(tpg->workqueue, &cmd->work);
1174 struct usbg_tpg *tpg;
1178 tpg = cmd->fu->tpg;
1179 tv_nexus = tpg->tpg_nexus;
1206 struct usbg_tpg *tpg = fu->tpg;
1223 tv_nexus = tpg->tpg_nexus;
1244 queue_work(tpg->workqueue, &cmd->work);
1258 struct usbg_tpg *tpg = container_of(se_tpg,
1260 struct usbg_tport *tport = tpg->tport;
1267 struct usbg_tpg *tpg = container_of(se_tpg,
1269 return tpg->tport_tpgt;
1317 struct usbg_tpg *tpg;
1330 if (tpg_instances[i].func_inst && !tpg_instances[i].tpg)
1352 tpg = kzalloc(sizeof(struct usbg_tpg), GFP_KERNEL);
1354 if (!tpg)
1356 mutex_init(&tpg->tpg_mutex);
1357 atomic_set(&tpg->tpg_port_count, 0);
1358 tpg->workqueue = alloc_workqueue("tcm_usb_gadget", 0, 1);
1359 if (!tpg->workqueue)
1362 tpg->tport = tport;
1363 tpg->tport_tpgt = tpgt;
1369 ret = core_tpg_register(wwn, &tpg->se_tpg, SCSI_PROTOCOL_SAS);
1373 tpg_instances[i].tpg = tpg;
1374 tpg->fi = tpg_instances[i].func_inst;
1377 return &tpg->se_tpg;
1380 destroy_workqueue(tpg->workqueue);
1382 kfree(tpg);
1400 struct usbg_tpg *tpg = container_of(se_tpg,
1405 tcm_usbg_drop_nexus(tpg);
1407 destroy_workqueue(tpg->workqueue);
1411 if (tpg_instances[i].tpg == tpg)
1414 tpg_instances[i].tpg = NULL;
1427 kfree(tpg);
1479 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg);
1483 ret = usbg_attach(tpg);
1485 usbg_detach(tpg);
1489 tpg->gadget_connect = enable;
1497 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg);
1501 mutex_lock(&tpg->tpg_mutex);
1502 tv_nexus = tpg->tpg_nexus;
1510 mutex_unlock(&tpg->tpg_mutex);
1517 struct usbg_tpg *tpg = container_of(se_tpg,
1520 tpg->tpg_nexus = p;
1524 static int tcm_usbg_make_nexus(struct usbg_tpg *tpg, char *name)
1529 mutex_lock(&tpg->tpg_mutex);
1530 if (tpg->tpg_nexus) {
1532 pr_debug("tpg->tpg_nexus already exists\n");
1542 tv_nexus->tvn_se_sess = target_setup_session(&tpg->se_tpg,
1556 mutex_unlock(&tpg->tpg_mutex);
1560 static int tcm_usbg_drop_nexus(struct usbg_tpg *tpg)
1566 mutex_lock(&tpg->tpg_mutex);
1567 tv_nexus = tpg->tpg_nexus;
1575 if (atomic_read(&tpg->tpg_port_count)) {
1578 pr_err(MSG, atomic_read(&tpg->tpg_port_count));
1589 tpg->tpg_nexus = NULL;
1594 mutex_unlock(&tpg->tpg_mutex);
1602 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg);
1607 ret = tcm_usbg_drop_nexus(tpg);
1628 ret = tcm_usbg_make_nexus(tpg, &i_port[0]);
1643 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg);
1645 atomic_inc(&tpg->tpg_port_count);
1653 struct usbg_tpg *tpg = container_of(se_tpg, struct usbg_tpg, se_tpg);
1655 atomic_dec(&tpg->tpg_port_count);
2165 static int usbg_attach(struct usbg_tpg *tpg)
2167 struct usb_function_instance *f = tpg->fi;
2176 static void usbg_detach(struct usbg_tpg *tpg)
2178 struct usb_function_instance *f = tpg->fi;
2273 fu->tpg = tpg_instances[i].tpg;