aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_attr.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_attr.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_attr.c62
1 files changed, 58 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
index 356dede9cd65..e8e9905828c9 100644
--- a/drivers/scsi/lpfc/lpfc_attr.c
+++ b/drivers/scsi/lpfc/lpfc_attr.c
@@ -2363,13 +2363,67 @@ struct fc_function_template lpfc_transport_functions = {
2363 .dev_loss_tmo_callbk = lpfc_dev_loss_tmo_callbk, 2363 .dev_loss_tmo_callbk = lpfc_dev_loss_tmo_callbk,
2364 .terminate_rport_io = lpfc_terminate_rport_io, 2364 .terminate_rport_io = lpfc_terminate_rport_io,
2365 2365
2366 /* Vport fields are filled in at runtime based on enable_npiv */
2367 .vport_create = NULL,
2368 .vport_delete = NULL,
2369 .vport_disable = NULL,
2370 .dd_fcvport_size = sizeof(struct lpfc_vport *), 2366 .dd_fcvport_size = sizeof(struct lpfc_vport *),
2371}; 2367};
2372 2368
2369struct fc_function_template lpfc_vport_transport_functions = {
2370 /* fixed attributes the driver supports */
2371 .show_host_node_name = 1,
2372 .show_host_port_name = 1,
2373 .show_host_supported_classes = 1,
2374 .show_host_supported_fc4s = 1,
2375 .show_host_supported_speeds = 1,
2376 .show_host_maxframe_size = 1,
2377
2378 /* dynamic attributes the driver supports */
2379 .get_host_port_id = lpfc_get_host_port_id,
2380 .show_host_port_id = 1,
2381
2382 .get_host_port_type = lpfc_get_host_port_type,
2383 .show_host_port_type = 1,
2384
2385 .get_host_port_state = lpfc_get_host_port_state,
2386 .show_host_port_state = 1,
2387
2388 /* active_fc4s is shown but doesn't change (thus no get function) */
2389 .show_host_active_fc4s = 1,
2390
2391 .get_host_speed = lpfc_get_host_speed,
2392 .show_host_speed = 1,
2393
2394 .get_host_fabric_name = lpfc_get_host_fabric_name,
2395 .show_host_fabric_name = 1,
2396
2397 /*
2398 * The LPFC driver treats linkdown handling as target loss events
2399 * so there are no sysfs handlers for link_down_tmo.
2400 */
2401
2402 .get_fc_host_stats = lpfc_get_stats,
2403 .reset_fc_host_stats = lpfc_reset_stats,
2404
2405 .dd_fcrport_size = sizeof(struct lpfc_rport_data),
2406 .show_rport_maxframe_size = 1,
2407 .show_rport_supported_classes = 1,
2408
2409 .set_rport_dev_loss_tmo = lpfc_set_rport_loss_tmo,
2410 .show_rport_dev_loss_tmo = 1,
2411
2412 .get_starget_port_id = lpfc_get_starget_port_id,
2413 .show_starget_port_id = 1,
2414
2415 .get_starget_node_name = lpfc_get_starget_node_name,
2416 .show_starget_node_name = 1,
2417
2418 .get_starget_port_name = lpfc_get_starget_port_name,
2419 .show_starget_port_name = 1,
2420
2421 .dev_loss_tmo_callbk = lpfc_dev_loss_tmo_callbk,
2422 .terminate_rport_io = lpfc_terminate_rport_io,
2423
2424 .vport_disable = lpfc_vport_disable,
2425};
2426
2373void 2427void
2374lpfc_get_cfgparam(struct lpfc_hba *phba) 2428lpfc_get_cfgparam(struct lpfc_hba *phba)
2375{ 2429{