Lines Matching refs:shost
30 static int fc_vport_setup(struct Scsi_Host *shost, int channel,
388 struct Scsi_Host *shost = dev_to_shost(dev); in fc_host_setup() local
389 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_host_setup()
444 "fc_wq_%d", shost->host_no); in fc_host_setup()
452 "fc_dl_%d", shost->host_no); in fc_host_setup()
461 fc_bsg_hostadd(shost, fc_host); in fc_host_setup()
470 struct Scsi_Host *shost = dev_to_shost(dev); in fc_host_remove() local
471 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_host_remove()
538 fc_host_post_fc_event(struct Scsi_Host *shost, u32 event_number, in fc_host_post_fc_event() argument
576 event->host_no = shost->host_no; in fc_host_post_fc_event()
593 __func__, shost->host_no, in fc_host_post_fc_event()
611 fc_host_post_event(struct Scsi_Host *shost, u32 event_number, in fc_host_post_event() argument
614 fc_host_post_fc_event(shost, event_number, event_code, in fc_host_post_event()
633 fc_host_post_vendor_event(struct Scsi_Host *shost, u32 event_number, in fc_host_post_vendor_event() argument
636 fc_host_post_fc_event(shost, event_number, FCH_EVT_VENDOR_UNIQUE, in fc_host_post_vendor_event()
650 fc_find_rport_by_wwpn(struct Scsi_Host *shost, u64 wwpn) in fc_find_rport_by_wwpn() argument
655 spin_lock_irqsave(shost->host_lock, flags); in fc_find_rport_by_wwpn()
657 list_for_each_entry(rport, &fc_host_rports(shost), peers) { in fc_find_rport_by_wwpn()
662 spin_unlock_irqrestore(shost->host_lock, flags); in fc_find_rport_by_wwpn()
667 spin_unlock_irqrestore(shost->host_lock, flags); in fc_find_rport_by_wwpn()
763 fc_fpin_li_stats_update(struct Scsi_Host *shost, struct fc_tlv_desc *tlv) in fc_fpin_li_stats_update() argument
768 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_fpin_li_stats_update()
772 rport = fc_find_rport_by_wwpn(shost, in fc_fpin_li_stats_update()
786 rport = fc_find_rport_by_wwpn(shost, wwpn); in fc_fpin_li_stats_update()
810 fc_fpin_delivery_stats_update(struct Scsi_Host *shost, in fc_fpin_delivery_stats_update() argument
815 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_fpin_delivery_stats_update()
819 rport = fc_find_rport_by_wwpn(shost, in fc_fpin_delivery_stats_update()
841 fc_fpin_peer_congn_stats_update(struct Scsi_Host *shost, in fc_fpin_peer_congn_stats_update() argument
852 rport = fc_find_rport_by_wwpn(shost, in fc_fpin_peer_congn_stats_update()
866 rport = fc_find_rport_by_wwpn(shost, wwpn); in fc_fpin_peer_congn_stats_update()
887 fc_fpin_congn_stats_update(struct Scsi_Host *shost, in fc_fpin_congn_stats_update() argument
890 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_fpin_congn_stats_update()
907 fc_host_fpin_rcv(struct Scsi_Host *shost, u32 fpin_len, char *fpin_buf) in fc_host_fpin_rcv() argument
924 fc_fpin_li_stats_update(shost, tlv); in fc_host_fpin_rcv()
927 fc_fpin_delivery_stats_update(shost, tlv); in fc_host_fpin_rcv()
930 fc_fpin_peer_congn_stats_update(shost, tlv); in fc_host_fpin_rcv()
933 fc_fpin_congn_stats_update(shost, tlv); in fc_host_fpin_rcv()
941 fc_host_post_fc_event(shost, fc_get_event_number(), in fc_host_fpin_rcv()
994 struct Scsi_Host *shost = rport_to_shost(rport); \
995 struct fc_internal *i = to_fc_internal(shost->transportt); \
1012 struct Scsi_Host *shost = rport_to_shost(rport); \
1013 struct fc_internal *i = to_fc_internal(shost->transportt); \
1155 struct Scsi_Host *shost = rport_to_shost(rport); in fc_rport_set_dev_loss_tmo() local
1156 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_rport_set_dev_loss_tmo()
1422 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); \
1423 struct fc_internal *i = to_fc_internal(shost->transportt); \
1477 struct Scsi_Host *shost = vport_to_shost(vport); \
1478 struct fc_internal *i = to_fc_internal(shost->transportt); \
1493 struct Scsi_Host *shost = vport_to_shost(vport); \
1494 struct fc_internal *i = to_fc_internal(shost->transportt); \
1512 struct Scsi_Host *shost = vport_to_shost(vport); \
1513 struct fc_internal *i = to_fc_internal(shost->transportt); \
1685 struct Scsi_Host *shost = vport_to_shost(vport); in store_fc_vport_delete() local
1688 spin_lock_irqsave(shost->host_lock, flags); in store_fc_vport_delete()
1690 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_vport_delete()
1694 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_vport_delete()
1696 fc_queue_work(shost, &vport->vport_delete_work); in store_fc_vport_delete()
1713 struct Scsi_Host *shost = vport_to_shost(vport); in store_fc_vport_disable() local
1714 struct fc_internal *i = to_fc_internal(shost->transportt); in store_fc_vport_disable()
1745 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1746 struct fc_internal *i = to_fc_internal(shost->transportt); \
1748 i->f->get_host_##field(shost); \
1749 return snprintf(buf, sz, format_string, cast fc_host_##field(shost)); \
1759 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1760 struct fc_internal *i = to_fc_internal(shost->transportt); \
1766 i->f->set_host_##field(shost, val); \
1776 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1777 struct fc_internal *i = to_fc_internal(shost->transportt); \
1785 memcpy(fc_host_##field(shost), buf, cnt); \
1786 i->f->set_host_##field(shost); \
1812 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1813 struct fc_internal *i = to_fc_internal(shost->transportt); \
1816 i->f->get_host_##title(shost); \
1817 name = get_fc_##title##_name(fc_host_##title(shost)); \
1855 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1856 return snprintf(buf, sz, format_string, cast fc_host_##field(shost)); \
1890 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_supported_classes() local
1892 if (fc_host_supported_classes(shost) == FC_COS_UNSPECIFIED) in show_fc_host_supported_classes()
1895 return get_fc_cos_names(fc_host_supported_classes(shost), buf); in show_fc_host_supported_classes()
1904 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_supported_fc4s() local
1905 return (ssize_t)show_fc_fc4s(buf, fc_host_supported_fc4s(shost)); in show_fc_host_supported_fc4s()
1914 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_supported_speeds() local
1916 if (fc_host_supported_speeds(shost) == FC_PORTSPEED_UNKNOWN) in show_fc_host_supported_speeds()
1919 return get_fc_port_speed_names(fc_host_supported_speeds(shost), buf); in show_fc_host_supported_speeds()
1947 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_active_fc4s() local
1948 struct fc_internal *i = to_fc_internal(shost->transportt); in show_fc_host_active_fc4s()
1951 i->f->get_host_active_fc4s(shost); in show_fc_host_active_fc4s()
1953 return (ssize_t)show_fc_fc4s(buf, fc_host_active_fc4s(shost)); in show_fc_host_active_fc4s()
1962 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_speed() local
1963 struct fc_internal *i = to_fc_internal(shost->transportt); in show_fc_host_speed()
1966 i->f->get_host_speed(shost); in show_fc_host_speed()
1968 if (fc_host_speed(shost) == FC_PORTSPEED_UNKNOWN) in show_fc_host_speed()
1971 return get_fc_port_speed_names(fc_host_speed(shost), buf); in show_fc_host_speed()
1996 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_private_host_tgtid_bind_type() local
1999 name = get_fc_tgtid_bind_type_name(fc_host_tgtid_bind_type(shost)); in show_fc_private_host_tgtid_bind_type()
2012 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_private_host_tgtid_bind_type() local
2021 if (val != fc_host_tgtid_bind_type(shost)) { in store_fc_private_host_tgtid_bind_type()
2022 spin_lock_irqsave(shost->host_lock, flags); in store_fc_private_host_tgtid_bind_type()
2023 while (!list_empty(&fc_host_rport_bindings(shost))) { in store_fc_private_host_tgtid_bind_type()
2025 &fc_host_rport_bindings(shost), peers); in store_fc_private_host_tgtid_bind_type()
2028 fc_queue_work(shost, &rport->rport_delete_work); in store_fc_private_host_tgtid_bind_type()
2030 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_private_host_tgtid_bind_type()
2033 fc_host_tgtid_bind_type(shost) = val; in store_fc_private_host_tgtid_bind_type()
2045 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_private_host_issue_lip() local
2046 struct fc_internal *i = to_fc_internal(shost->transportt); in store_fc_private_host_issue_lip()
2051 ret = i->f->issue_fc_host_lip(shost); in store_fc_private_host_issue_lip()
2066 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_private_host_dev_loss_tmo() local
2067 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in store_fc_private_host_dev_loss_tmo()
2076 fc_host_dev_loss_tmo(shost) = val; in store_fc_private_host_dev_loss_tmo()
2077 spin_lock_irqsave(shost->host_lock, flags); in store_fc_private_host_dev_loss_tmo()
2080 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_private_host_dev_loss_tmo()
2099 struct Scsi_Host *shost = transport_class_to_shost(dev); in fc_stat_show() local
2100 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_stat_show()
2109 stats = (i->f->get_fc_host_stats)(shost); in fc_stat_show()
2167 struct Scsi_Host *shost = transport_class_to_shost(cd); \
2168 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); \
2199 struct Scsi_Host *shost = transport_class_to_shost(dev); in fc_reset_statistics() local
2200 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_reset_statistics()
2204 i->f->reset_fc_host_stats(shost); in fc_reset_statistics()
2316 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_host_vport_create() local
2346 stat = fc_vport_setup(shost, 0, &shost->shost_gendev, &vid, &vport); in store_fc_host_vport_create()
2363 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_host_vport_delete() local
2364 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in store_fc_host_vport_delete()
2387 spin_lock_irqsave(shost->host_lock, flags); in store_fc_host_vport_delete()
2400 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_host_vport_delete()
2415 struct Scsi_Host *shost; in fc_host_match() local
2421 shost = dev_to_shost(dev); in fc_host_match()
2422 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_host_match()
2426 i = to_fc_internal(shost->transportt); in fc_host_match()
2434 struct Scsi_Host *shost; in fc_target_match() local
2440 shost = dev_to_shost(dev->parent); in fc_target_match()
2441 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_target_match()
2445 i = to_fc_internal(shost->transportt); in fc_target_match()
2466 struct Scsi_Host *shost; in fc_rport_match() local
2472 shost = dev_to_shost(dev->parent); in fc_rport_match()
2473 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_rport_match()
2477 i = to_fc_internal(shost->transportt); in fc_rport_match()
2499 struct Scsi_Host *shost; in fc_vport_match() local
2506 shost = vport_to_shost(vport); in fc_vport_match()
2507 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_vport_match()
2511 i = to_fc_internal(shost->transportt); in fc_vport_match()
2556 fc_user_scan_tgt(struct Scsi_Host *shost, uint channel, uint id, u64 lun) in fc_user_scan_tgt() argument
2561 spin_lock_irqsave(shost->host_lock, flags); in fc_user_scan_tgt()
2563 list_for_each_entry(rport, &fc_host_rports(shost), peers) { in fc_user_scan_tgt()
2573 spin_unlock_irqrestore(shost->host_lock, flags); in fc_user_scan_tgt()
2580 spin_unlock_irqrestore(shost->host_lock, flags); in fc_user_scan_tgt()
2590 fc_user_scan(struct Scsi_Host *shost, uint channel, uint id, u64 lun) in fc_user_scan() argument
2595 if (((channel != SCAN_WILD_CARD) && (channel > shost->max_channel)) || in fc_user_scan()
2596 ((id != SCAN_WILD_CARD) && (id >= shost->max_id)) || in fc_user_scan()
2597 ((lun != SCAN_WILD_CARD) && (lun > shost->max_lun))) in fc_user_scan()
2602 chhi = shost->max_channel + 1; in fc_user_scan()
2610 tgthi = shost->max_id; in fc_user_scan()
2618 fc_user_scan_tgt(shost, chlo, tgtlo, lun); in fc_user_scan()
2790 fc_queue_work(struct Scsi_Host *shost, struct work_struct *work) in fc_queue_work() argument
2792 if (unlikely(!fc_host_work_q(shost))) { in fc_queue_work()
2795 "when no workqueue created.\n", shost->hostt->name); in fc_queue_work()
2801 return queue_work(fc_host_work_q(shost), work); in fc_queue_work()
2809 fc_flush_work(struct Scsi_Host *shost) in fc_flush_work() argument
2811 if (!fc_host_work_q(shost)) { in fc_flush_work()
2814 "when no workqueue created.\n", shost->hostt->name); in fc_flush_work()
2819 flush_workqueue(fc_host_work_q(shost)); in fc_flush_work()
2832 fc_queue_devloss_work(struct Scsi_Host *shost, struct delayed_work *work, in fc_queue_devloss_work() argument
2835 if (unlikely(!fc_host_devloss_work_q(shost))) { in fc_queue_devloss_work()
2838 "when no workqueue created.\n", shost->hostt->name); in fc_queue_devloss_work()
2844 return queue_delayed_work(fc_host_devloss_work_q(shost), work, delay); in fc_queue_devloss_work()
2852 fc_flush_devloss(struct Scsi_Host *shost) in fc_flush_devloss() argument
2854 if (!fc_host_devloss_work_q(shost)) { in fc_flush_devloss()
2857 "when no workqueue created.\n", shost->hostt->name); in fc_flush_devloss()
2862 flush_workqueue(fc_host_devloss_work_q(shost)); in fc_flush_devloss()
2882 fc_remove_host(struct Scsi_Host *shost) in fc_remove_host() argument
2887 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remove_host()
2890 spin_lock_irqsave(shost->host_lock, flags); in fc_remove_host()
2895 fc_queue_work(shost, &vport->vport_delete_work); in fc_remove_host()
2903 fc_queue_work(shost, &rport->rport_delete_work); in fc_remove_host()
2910 fc_queue_work(shost, &rport->rport_delete_work); in fc_remove_host()
2913 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remove_host()
2916 scsi_flush_work(shost); in fc_remove_host()
2936 struct Scsi_Host *shost = rport_to_shost(rport); in fc_terminate_rport_io() local
2937 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_terminate_rport_io()
2976 struct Scsi_Host *shost = rport_to_shost(rport); in fc_rport_final_delete() local
2977 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_rport_final_delete()
2988 scsi_flush_work(shost); in fc_rport_final_delete()
2995 spin_lock_irqsave(shost->host_lock, flags); in fc_rport_final_delete()
2997 spin_unlock_irqrestore(shost->host_lock, flags); in fc_rport_final_delete()
2999 fc_flush_devloss(shost); in fc_rport_final_delete()
3001 fc_flush_devloss(shost); in fc_rport_final_delete()
3003 spin_lock_irqsave(shost->host_lock, flags); in fc_rport_final_delete()
3006 spin_unlock_irqrestore(shost->host_lock, flags); in fc_rport_final_delete()
3019 spin_lock_irqsave(shost->host_lock, flags); in fc_rport_final_delete()
3025 spin_unlock_irqrestore(shost->host_lock, flags); in fc_rport_final_delete()
3035 scsi_host_put(shost); /* for fc_host->rport list */ in fc_rport_final_delete()
3054 fc_remote_port_create(struct Scsi_Host *shost, int channel, in fc_remote_port_create() argument
3057 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remote_port_create()
3058 struct fc_internal *fci = to_fc_internal(shost->transportt); in fc_remote_port_create()
3091 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_create()
3100 scsi_host_get(shost); /* for fc_host->rport list */ in fc_remote_port_create()
3102 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_create()
3106 dev->parent = get_device(&shost->shost_gendev); /* parent reference */ in fc_remote_port_create()
3109 shost->host_no, channel, rport->number); in fc_remote_port_create()
3120 fc_bsg_rportadd(shost, rport); in fc_remote_port_create()
3126 scsi_queue_work(shost, &rport->scan_work); in fc_remote_port_create()
3133 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_create()
3135 scsi_host_put(shost); /* for fc_host->rport list */ in fc_remote_port_create()
3136 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_create()
3181 fc_remote_port_add(struct Scsi_Host *shost, int channel, in fc_remote_port_add() argument
3184 struct fc_internal *fci = to_fc_internal(shost->transportt); in fc_remote_port_add()
3185 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remote_port_add()
3191 fc_flush_work(shost); in fc_remote_port_add()
3198 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_add()
3233 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3266 fc_flush_devloss(shost); in fc_remote_port_add()
3268 fc_flush_devloss(shost); in fc_remote_port_add()
3270 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_add()
3276 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3282 spin_lock_irqsave(shost->host_lock, in fc_remote_port_add()
3285 scsi_queue_work(shost, in fc_remote_port_add()
3287 spin_unlock_irqrestore(shost->host_lock, in fc_remote_port_add()
3346 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3353 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3356 rport = fc_remote_port_create(shost, channel, ids); in fc_remote_port_add()
3418 struct Scsi_Host *shost = rport_to_shost(rport); in fc_remote_port_delete() local
3430 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_delete()
3434 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_delete()
3455 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_delete()
3462 fc_queue_devloss_work(shost, &rport->fail_io_work, in fc_remote_port_delete()
3466 fc_queue_devloss_work(shost, &rport->dev_loss_work, timeout * HZ); in fc_remote_port_delete()
3493 struct Scsi_Host *shost = rport_to_shost(rport); in fc_remote_port_rolechg() local
3494 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remote_port_rolechg()
3498 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_rolechg()
3509 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_rolechg()
3525 fc_flush_devloss(shost); in fc_remote_port_rolechg()
3527 fc_flush_devloss(shost); in fc_remote_port_rolechg()
3529 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_rolechg()
3533 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_rolechg()
3536 fc_flush_work(shost); in fc_remote_port_rolechg()
3540 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_rolechg()
3542 scsi_queue_work(shost, &rport->scan_work); in fc_remote_port_rolechg()
3543 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_rolechg()
3560 struct Scsi_Host *shost = rport_to_shost(rport); in fc_timeout_deleted_rport() local
3561 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_timeout_deleted_rport()
3562 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_timeout_deleted_rport()
3566 spin_lock_irqsave(shost->host_lock, flags); in fc_timeout_deleted_rport()
3582 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3584 fc_queue_work(shost, &rport->stgt_delete_work); in fc_timeout_deleted_rport()
3590 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3606 fc_queue_work(shost, &rport->rport_delete_work); in fc_timeout_deleted_rport()
3607 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3637 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3640 spin_lock_irqsave(shost->host_lock, flags); in fc_timeout_deleted_rport()
3668 fc_queue_work(shost, &rport->stgt_delete_work); in fc_timeout_deleted_rport()
3673 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3715 struct Scsi_Host *shost = rport_to_shost(rport); in fc_scsi_scan_rport() local
3716 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_scsi_scan_rport()
3728 spin_lock_irqsave(shost->host_lock, flags); in fc_scsi_scan_rport()
3730 spin_unlock_irqrestore(shost->host_lock, flags); in fc_scsi_scan_rport()
3749 struct Scsi_Host *shost = rport_to_shost(rport); in fc_block_rport() local
3752 spin_lock_irqsave(shost->host_lock, flags); in fc_block_rport()
3755 spin_unlock_irqrestore(shost->host_lock, flags); in fc_block_rport()
3757 spin_lock_irqsave(shost->host_lock, flags); in fc_block_rport()
3759 spin_unlock_irqrestore(shost->host_lock, flags); in fc_block_rport()
3831 fc_vport_setup(struct Scsi_Host *shost, int channel, struct device *pdev, in fc_vport_setup() argument
3834 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_vport_setup()
3835 struct fc_internal *fci = to_fc_internal(shost->transportt); in fc_vport_setup()
3862 vport->shost = shost; in fc_vport_setup()
3867 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_setup()
3870 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3877 scsi_host_get(shost); /* for fc_host->vport list */ in fc_vport_setup()
3879 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3886 shost->host_no, channel, vport->number); in fc_vport_setup()
3907 if (pdev != &shost->shost_gendev) { in fc_vport_setup()
3908 error = sysfs_create_link(&shost->shost_gendev.kobj, in fc_vport_setup()
3916 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_setup()
3918 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3922 shost->host_no, channel); in fc_vport_setup()
3933 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_setup()
3935 scsi_host_put(shost); /* for fc_host->vport list */ in fc_vport_setup()
3937 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3955 fc_vport_create(struct Scsi_Host *shost, int channel, in fc_vport_create() argument
3961 stat = fc_vport_setup(shost, channel, &shost->shost_gendev, in fc_vport_create()
3980 struct Scsi_Host *shost = vport_to_shost(vport); in fc_vport_terminate() local
3981 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_vport_terminate()
3982 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_vport_terminate()
3992 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_terminate()
3998 scsi_host_put(shost); /* for fc_host->vport list */ in fc_vport_terminate()
4000 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_terminate()
4005 if (dev->parent != &shost->shost_gendev) in fc_vport_terminate()
4006 sysfs_remove_link(&shost->shost_gendev.kobj, dev_name(dev)); in fc_vport_terminate()
4038 dev_name(&vport->dev), vport->shost->host_no, in fc_vport_sched_delete()
4055 struct Scsi_Host *shost = fc_bsg_to_shost(job); in fc_bsg_job_timeout() local
4057 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_job_timeout()
4087 static int fc_bsg_host_dispatch(struct Scsi_Host *shost, struct bsg_job *job) in fc_bsg_host_dispatch() argument
4089 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_host_dispatch()
4133 if ((shost->hostt->vendor_id == 0L) || in fc_bsg_host_dispatch()
4135 shost->hostt->vendor_id)) { in fc_bsg_host_dispatch()
4180 static int fc_bsg_rport_dispatch(struct Scsi_Host *shost, struct bsg_job *job) in fc_bsg_rport_dispatch() argument
4182 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_rport_dispatch()
4232 struct Scsi_Host *shost = fc_bsg_to_shost(job); in fc_bsg_dispatch() local
4235 return fc_bsg_rport_dispatch(shost, job); in fc_bsg_dispatch()
4237 return fc_bsg_host_dispatch(shost, job); in fc_bsg_dispatch()
4278 fc_bsg_hostadd(struct Scsi_Host *shost, struct fc_host_attrs *fc_host) in fc_bsg_hostadd() argument
4280 struct device *dev = &shost->shost_gendev; in fc_bsg_hostadd()
4281 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_hostadd()
4291 "fc_host%d", shost->host_no); in fc_bsg_hostadd()
4298 shost->host_no); in fc_bsg_hostadd()
4301 __scsi_init_queue(shost, q); in fc_bsg_hostadd()
4313 fc_bsg_rportadd(struct Scsi_Host *shost, struct fc_rport *rport) in fc_bsg_rportadd() argument
4316 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_rportadd()
4330 __scsi_init_queue(shost, q); in fc_bsg_rportadd()