• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/scsi/

Lines Matching defs:vport

49 	struct fc_vport **vport);
1033 struct fc_vport *vport = transport_class_to_vport(dev); \
1034 struct Scsi_Host *shost = vport_to_shost(vport); \
1037 !(vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING))) \
1038 i->f->get_vport_##field(vport); \
1039 return snprintf(buf, sz, format_string, cast vport->field); \
1049 struct fc_vport *vport = transport_class_to_vport(dev); \
1050 struct Scsi_Host *shost = vport_to_shost(vport); \
1053 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) \
1058 i->f->set_vport_##field(vport, val); \
1068 struct fc_vport *vport = transport_class_to_vport(dev); \
1069 struct Scsi_Host *shost = vport_to_shost(vport); \
1078 memcpy(vport->field, buf, cnt); \
1079 i->f->set_vport_##field(vport); \
1085 static FC_DEVICE_ATTR(vport, field, S_IRUGO, \
1090 static FC_DEVICE_ATTR(vport, field, S_IRUGO, \
1096 static FC_DEVICE_ATTR(vport, field, S_IRUGO | S_IWUSR, \
1105 struct fc_vport *vport = transport_class_to_vport(dev); \
1106 return snprintf(buf, sz, format_string, cast vport->field); \
1116 struct fc_vport *vport = transport_class_to_vport(dev); \
1118 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) \
1123 vport->field = val; \
1130 static FC_DEVICE_ATTR(vport, field, S_IRUGO, \
1135 static FC_DEVICE_ATTR(vport, field, S_IRUGO, \
1141 static FC_DEVICE_ATTR(vport, field, S_IRUGO | S_IWUSR, \
1152 struct fc_vport *vport = transport_class_to_vport(dev); \
1154 name = get_fc_##title##_name(vport->title); \
1159 static FC_DEVICE_ATTR(vport, title, S_IRUGO, \
1221 struct fc_vport *vport = transport_class_to_vport(dev);
1223 if (vport->roles == FC_PORT_ROLE_UNKNOWN)
1225 return get_fc_port_roles_names(vport->roles, buf);
1227 static FC_DEVICE_ATTR(vport, roles, S_IRUGO, show_fc_vport_roles, NULL);
1234 static FC_DEVICE_ATTR(vport, symbolic_name, S_IRUGO | S_IWUSR,
1241 struct fc_vport *vport = transport_class_to_vport(dev);
1242 struct Scsi_Host *shost = vport_to_shost(vport);
1246 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING)) {
1250 vport->flags |= FC_VPORT_DELETING;
1253 fc_queue_work(shost, &vport->vport_delete_work);
1256 static FC_DEVICE_ATTR(vport, vport_delete, S_IWUSR,
1261 * Enable/Disable vport
1269 struct fc_vport *vport = transport_class_to_vport(dev);
1270 struct Scsi_Host *shost = vport_to_shost(vport);
1274 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING))
1278 if (vport->vport_state != FC_VPORT_DISABLED)
1281 if (vport->vport_state == FC_VPORT_DISABLED)
1286 stat = i->f->vport_disable(vport, ((*buf == '0') ? false : true));
1289 static FC_DEVICE_ATTR(vport, vport_disable, S_IWUSR,
1754 * "Short-cut" sysfs variable to create a new vport on a FC Host.
1765 struct fc_vport *vport;
1793 stat = fc_vport_setup(shost, 0, &shost->shost_gendev, &vid, &vport);
1801 * "Short-cut" sysfs variable to delete a vport on a FC Host.
1812 struct fc_vport *vport;
1837 list_for_each_entry(vport, &fc_host->vports, peers) {
1838 if ((vport->channel == 0) &&
1839 (vport->port_name == wwpn) && (vport->node_name == wwnn)) {
1840 if (vport->flags & (FC_VPORT_DEL | FC_VPORT_CREATING))
1842 vport->flags |= FC_VPORT_DELETING;
1852 stat = fc_vport_terminate(vport);
1932 struct fc_vport *vport = dev_to_vport(dev);
1934 kfree(vport);
1946 struct fc_vport *vport;
1952 vport = dev_to_vport(dev);
1954 shost = vport_to_shost(vport);
2339 struct fc_vport *vport = NULL, *next_vport = NULL;
2348 list_for_each_entry_safe(vport, next_vport, &fc_host->vports, peers)
2349 fc_queue_work(shost, &vport->vport_delete_work);
3234 * @pdev: parent device for vport
3237 * @ret_vport: The pointer to the created vport.
3239 * Allocates and creates the vport structure, calls the parent host
3240 * to instantiate the vport, the completes w/ class and sysfs creation.
3251 struct fc_vport *vport;
3263 vport = kzalloc(size, GFP_KERNEL);
3264 if (unlikely(!vport)) {
3269 vport->vport_state = FC_VPORT_UNKNOWN;
3270 vport->vport_last_state = FC_VPORT_UNKNOWN;
3271 vport->node_name = ids->node_name;
3272 vport->port_name = ids->port_name;
3273 vport->roles = ids->roles;
3274 vport->vport_type = ids->vport_type;
3276 vport->dd_data = &vport[1];
3277 vport->shost = shost;
3278 vport->channel = channel;
3279 vport->flags = FC_VPORT_CREATING;
3280 INIT_WORK(&vport->vport_delete_work, fc_vport_sched_delete);
3286 kfree(vport);
3290 vport->number = fc_host->next_vport_number++;
3291 list_add_tail(&vport->peers, &fc_host->vports);
3292 get_device(&shost->shost_gendev); /* for fc_host->vport list */
3296 dev = &vport->dev;
3300 dev_set_name(dev, "vport-%d:%d-%d",
3301 shost->host_no, channel, vport->number);
3312 error = fci->f->vport_create(vport, ids->disable);
3320 * the Scsi_Host at least contains ia symlink to the vport.
3327 "%s: Cannot create vport symlinks for "
3332 vport->flags &= ~FC_VPORT_CREATING;
3339 *ret_vport = vport;
3349 list_del(&vport->peers);
3350 put_device(&shost->shost_gendev); /* for fc_host->vport list */
3354 kfree(vport);
3360 * fc_vport_create - Admin App or LLDD requests creation of a vport
3374 struct fc_vport *vport;
3377 ids, &vport);
3378 return stat ? NULL : vport;
3383 * fc_vport_terminate - Admin App or LLDD requests termination of a vport
3384 * @vport: fc_vport to be terminated
3387 * the vport from the shost and object tree.
3393 fc_vport_terminate(struct fc_vport *vport)
3395 struct Scsi_Host *shost = vport_to_shost(vport);
3398 struct device *dev = &vport->dev;
3403 stat = i->f->vport_delete(vport);
3408 vport->flags &= ~FC_VPORT_DELETING;
3410 vport->flags |= FC_VPORT_DELETED;
3411 list_del(&vport->peers);
3413 put_device(&shost->shost_gendev); /* for fc_host->vport list */
3438 * fc_vport_sched_delete - workq-based delete request for a vport
3439 * @work: vport to be deleted.
3444 struct fc_vport *vport =
3448 stat = fc_vport_terminate(vport);
3450 dev_printk(KERN_ERR, vport->dev.parent,
3453 dev_name(&vport->dev), vport->shost->host_no,
3454 vport->channel, stat);