Lines Matching refs:vport
47 struct fc_vport **vport);
1074 struct fc_vport *vport = transport_class_to_vport(dev); \
1075 struct Scsi_Host *shost = vport_to_shost(vport); \
1078 !(vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING))) \
1079 i->f->get_vport_##field(vport); \
1080 return snprintf(buf, sz, format_string, cast vport->field); \
1090 struct fc_vport *vport = transport_class_to_vport(dev); \
1091 struct Scsi_Host *shost = vport_to_shost(vport); \
1094 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) \
1099 i->f->set_vport_##field(vport, val); \
1109 struct fc_vport *vport = transport_class_to_vport(dev); \
1110 struct Scsi_Host *shost = vport_to_shost(vport); \
1119 memcpy(vport->field, buf, cnt); \
1120 i->f->set_vport_##field(vport); \
1126 static FC_DEVICE_ATTR(vport, field, S_IRUGO, \
1131 static FC_DEVICE_ATTR(vport, field, S_IRUGO, \
1137 static FC_DEVICE_ATTR(vport, field, S_IRUGO | S_IWUSR, \
1146 struct fc_vport *vport = transport_class_to_vport(dev); \
1147 return snprintf(buf, sz, format_string, cast vport->field); \
1157 struct fc_vport *vport = transport_class_to_vport(dev); \
1159 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) \
1164 vport->field = val; \
1171 static FC_DEVICE_ATTR(vport, field, S_IRUGO, \
1176 static FC_DEVICE_ATTR(vport, field, S_IRUGO, \
1182 static FC_DEVICE_ATTR(vport, field, S_IRUGO | S_IWUSR, \
1193 struct fc_vport *vport = transport_class_to_vport(dev); \
1195 name = get_fc_##title##_name(vport->title); \
1200 static FC_DEVICE_ATTR(vport, title, S_IRUGO, \
1262 struct fc_vport *vport = transport_class_to_vport(dev); in show_fc_vport_roles() local
1264 if (vport->roles == FC_PORT_ROLE_UNKNOWN) in show_fc_vport_roles()
1266 return get_fc_port_roles_names(vport->roles, buf); in show_fc_vport_roles()
1268 static FC_DEVICE_ATTR(vport, roles, S_IRUGO, show_fc_vport_roles, NULL);
1275 static FC_DEVICE_ATTR(vport, symbolic_name, S_IRUGO | S_IWUSR,
1282 struct fc_vport *vport = transport_class_to_vport(dev); in store_fc_vport_delete() local
1283 struct Scsi_Host *shost = vport_to_shost(vport); in store_fc_vport_delete()
1287 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) { in store_fc_vport_delete()
1291 vport->flags |= FC_VPORT_DELETING; in store_fc_vport_delete()
1294 fc_queue_work(shost, &vport->vport_delete_work); in store_fc_vport_delete()
1297 static FC_DEVICE_ATTR(vport, vport_delete, S_IWUSR,
1310 struct fc_vport *vport = transport_class_to_vport(dev); in store_fc_vport_disable() local
1311 struct Scsi_Host *shost = vport_to_shost(vport); in store_fc_vport_disable()
1315 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) in store_fc_vport_disable()
1319 if (vport->vport_state != FC_VPORT_DISABLED) in store_fc_vport_disable()
1322 if (vport->vport_state == FC_VPORT_DISABLED) in store_fc_vport_disable()
1327 stat = i->f->vport_disable(vport, ((*buf == '0') ? false : true)); in store_fc_vport_disable()
1330 static FC_DEVICE_ATTR(vport, vport_disable, S_IWUSR,
1858 struct fc_vport *vport; in store_fc_host_vport_create() local
1886 stat = fc_vport_setup(shost, 0, &shost->shost_gendev, &vid, &vport); in store_fc_host_vport_create()
1905 struct fc_vport *vport; in store_fc_host_vport_delete() local
1930 list_for_each_entry(vport, &fc_host->vports, peers) { in store_fc_host_vport_delete()
1931 if ((vport->channel == 0) && in store_fc_host_vport_delete()
1932 (vport->port_name == wwpn) && (vport->node_name == wwnn)) { in store_fc_host_vport_delete()
1933 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) in store_fc_host_vport_delete()
1935 vport->flags |= FC_VPORT_DELETING; in store_fc_host_vport_delete()
1945 stat = fc_vport_terminate(vport); in store_fc_host_vport_delete()
2025 struct fc_vport *vport = dev_to_vport(dev); in fc_vport_dev_release() local
2027 kfree(vport); in fc_vport_dev_release()
2039 struct fc_vport *vport; in fc_vport_match() local
2045 vport = dev_to_vport(dev); in fc_vport_match()
2047 shost = vport_to_shost(vport); in fc_vport_match()
2440 struct fc_vport *vport = NULL, *next_vport = NULL; in fc_remove_host() local
2449 list_for_each_entry_safe(vport, next_vport, &fc_host->vports, peers) in fc_remove_host()
2450 fc_queue_work(shost, &vport->vport_delete_work); in fc_remove_host()
3345 struct fc_vport *vport; in fc_vport_setup() local
3357 vport = kzalloc(size, GFP_KERNEL); in fc_vport_setup()
3358 if (unlikely(!vport)) { in fc_vport_setup()
3363 vport->vport_state = FC_VPORT_UNKNOWN; in fc_vport_setup()
3364 vport->vport_last_state = FC_VPORT_UNKNOWN; in fc_vport_setup()
3365 vport->node_name = ids->node_name; in fc_vport_setup()
3366 vport->port_name = ids->port_name; in fc_vport_setup()
3367 vport->roles = ids->roles; in fc_vport_setup()
3368 vport->vport_type = ids->vport_type; in fc_vport_setup()
3370 vport->dd_data = &vport[1]; in fc_vport_setup()
3371 vport->shost = shost; in fc_vport_setup()
3372 vport->channel = channel; in fc_vport_setup()
3373 vport->flags = FC_VPORT_CREATING; in fc_vport_setup()
3374 INIT_WORK(&vport->vport_delete_work, fc_vport_sched_delete); in fc_vport_setup()
3380 kfree(vport); in fc_vport_setup()
3384 vport->number = fc_host->next_vport_number++; in fc_vport_setup()
3385 list_add_tail(&vport->peers, &fc_host->vports); in fc_vport_setup()
3390 dev = &vport->dev; in fc_vport_setup()
3395 shost->host_no, channel, vport->number); in fc_vport_setup()
3406 error = fci->f->vport_create(vport, ids->disable); in fc_vport_setup()
3426 vport->flags &= ~FC_VPORT_CREATING; in fc_vport_setup()
3433 *ret_vport = vport; in fc_vport_setup()
3443 list_del(&vport->peers); in fc_vport_setup()
3448 kfree(vport); in fc_vport_setup()
3468 struct fc_vport *vport; in fc_vport_create() local
3471 ids, &vport); in fc_vport_create()
3472 return stat ? NULL : vport; in fc_vport_create()
3487 fc_vport_terminate(struct fc_vport *vport) in fc_vport_terminate() argument
3489 struct Scsi_Host *shost = vport_to_shost(vport); in fc_vport_terminate()
3492 struct device *dev = &vport->dev; in fc_vport_terminate()
3497 stat = i->f->vport_delete(vport); in fc_vport_terminate()
3502 vport->flags &= ~FC_VPORT_DELETING; in fc_vport_terminate()
3504 vport->flags |= FC_VPORT_DELETED; in fc_vport_terminate()
3505 list_del(&vport->peers); in fc_vport_terminate()
3538 struct fc_vport *vport = in fc_vport_sched_delete() local
3542 stat = fc_vport_terminate(vport); in fc_vport_sched_delete()
3544 dev_printk(KERN_ERR, vport->dev.parent, in fc_vport_sched_delete()
3547 dev_name(&vport->dev), vport->shost->host_no, in fc_vport_sched_delete()
3548 vport->channel, stat); in fc_vport_sched_delete()