• Home
  • Raw
  • Download

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()
755 fc_fpin_li_stats_update(struct Scsi_Host *shost, struct fc_tlv_desc *tlv) in fc_fpin_li_stats_update() argument
760 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_fpin_li_stats_update()
765 rport = fc_find_rport_by_wwpn(shost, in fc_fpin_li_stats_update()
779 rport = fc_find_rport_by_wwpn(shost, wwpn); in fc_fpin_li_stats_update()
803 fc_fpin_delivery_stats_update(struct Scsi_Host *shost, in fc_fpin_delivery_stats_update() argument
808 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_fpin_delivery_stats_update()
812 rport = fc_find_rport_by_wwpn(shost, in fc_fpin_delivery_stats_update()
834 fc_fpin_peer_congn_stats_update(struct Scsi_Host *shost, in fc_fpin_peer_congn_stats_update() argument
845 rport = fc_find_rport_by_wwpn(shost, in fc_fpin_peer_congn_stats_update()
859 rport = fc_find_rport_by_wwpn(shost, wwpn); in fc_fpin_peer_congn_stats_update()
880 fc_fpin_congn_stats_update(struct Scsi_Host *shost, in fc_fpin_congn_stats_update() argument
883 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_fpin_congn_stats_update()
900 fc_host_fpin_rcv(struct Scsi_Host *shost, u32 fpin_len, char *fpin_buf) in fc_host_fpin_rcv() argument
917 fc_fpin_li_stats_update(shost, tlv); in fc_host_fpin_rcv()
920 fc_fpin_delivery_stats_update(shost, tlv); in fc_host_fpin_rcv()
923 fc_fpin_peer_congn_stats_update(shost, tlv); in fc_host_fpin_rcv()
926 fc_fpin_congn_stats_update(shost, tlv); in fc_host_fpin_rcv()
934 fc_host_post_fc_event(shost, fc_get_event_number(), in fc_host_fpin_rcv()
987 struct Scsi_Host *shost = rport_to_shost(rport); \
988 struct fc_internal *i = to_fc_internal(shost->transportt); \
1005 struct Scsi_Host *shost = rport_to_shost(rport); \
1006 struct fc_internal *i = to_fc_internal(shost->transportt); \
1148 struct Scsi_Host *shost = rport_to_shost(rport); in fc_rport_set_dev_loss_tmo() local
1149 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_rport_set_dev_loss_tmo()
1415 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); \
1416 struct fc_internal *i = to_fc_internal(shost->transportt); \
1470 struct Scsi_Host *shost = vport_to_shost(vport); \
1471 struct fc_internal *i = to_fc_internal(shost->transportt); \
1486 struct Scsi_Host *shost = vport_to_shost(vport); \
1487 struct fc_internal *i = to_fc_internal(shost->transportt); \
1505 struct Scsi_Host *shost = vport_to_shost(vport); \
1506 struct fc_internal *i = to_fc_internal(shost->transportt); \
1678 struct Scsi_Host *shost = vport_to_shost(vport); in store_fc_vport_delete() local
1681 spin_lock_irqsave(shost->host_lock, flags); in store_fc_vport_delete()
1683 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_vport_delete()
1687 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_vport_delete()
1689 fc_queue_work(shost, &vport->vport_delete_work); in store_fc_vport_delete()
1706 struct Scsi_Host *shost = vport_to_shost(vport); in store_fc_vport_disable() local
1707 struct fc_internal *i = to_fc_internal(shost->transportt); in store_fc_vport_disable()
1738 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1739 struct fc_internal *i = to_fc_internal(shost->transportt); \
1741 i->f->get_host_##field(shost); \
1742 return snprintf(buf, sz, format_string, cast fc_host_##field(shost)); \
1752 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1753 struct fc_internal *i = to_fc_internal(shost->transportt); \
1759 i->f->set_host_##field(shost, val); \
1769 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1770 struct fc_internal *i = to_fc_internal(shost->transportt); \
1778 memcpy(fc_host_##field(shost), buf, cnt); \
1779 i->f->set_host_##field(shost); \
1805 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1806 struct fc_internal *i = to_fc_internal(shost->transportt); \
1809 i->f->get_host_##title(shost); \
1810 name = get_fc_##title##_name(fc_host_##title(shost)); \
1848 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1849 return snprintf(buf, sz, format_string, cast fc_host_##field(shost)); \
1883 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_supported_classes() local
1885 if (fc_host_supported_classes(shost) == FC_COS_UNSPECIFIED) in show_fc_host_supported_classes()
1888 return get_fc_cos_names(fc_host_supported_classes(shost), buf); in show_fc_host_supported_classes()
1897 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_supported_fc4s() local
1898 return (ssize_t)show_fc_fc4s(buf, fc_host_supported_fc4s(shost)); in show_fc_host_supported_fc4s()
1907 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_supported_speeds() local
1909 if (fc_host_supported_speeds(shost) == FC_PORTSPEED_UNKNOWN) in show_fc_host_supported_speeds()
1912 return get_fc_port_speed_names(fc_host_supported_speeds(shost), buf); in show_fc_host_supported_speeds()
1940 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_active_fc4s() local
1941 struct fc_internal *i = to_fc_internal(shost->transportt); in show_fc_host_active_fc4s()
1944 i->f->get_host_active_fc4s(shost); in show_fc_host_active_fc4s()
1946 return (ssize_t)show_fc_fc4s(buf, fc_host_active_fc4s(shost)); in show_fc_host_active_fc4s()
1955 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_speed() local
1956 struct fc_internal *i = to_fc_internal(shost->transportt); in show_fc_host_speed()
1959 i->f->get_host_speed(shost); in show_fc_host_speed()
1961 if (fc_host_speed(shost) == FC_PORTSPEED_UNKNOWN) in show_fc_host_speed()
1964 return get_fc_port_speed_names(fc_host_speed(shost), buf); in show_fc_host_speed()
1989 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_private_host_tgtid_bind_type() local
1992 name = get_fc_tgtid_bind_type_name(fc_host_tgtid_bind_type(shost)); in show_fc_private_host_tgtid_bind_type()
2005 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_private_host_tgtid_bind_type() local
2014 if (val != fc_host_tgtid_bind_type(shost)) { in store_fc_private_host_tgtid_bind_type()
2015 spin_lock_irqsave(shost->host_lock, flags); in store_fc_private_host_tgtid_bind_type()
2016 while (!list_empty(&fc_host_rport_bindings(shost))) { in store_fc_private_host_tgtid_bind_type()
2018 &fc_host_rport_bindings(shost), peers); in store_fc_private_host_tgtid_bind_type()
2021 fc_queue_work(shost, &rport->rport_delete_work); in store_fc_private_host_tgtid_bind_type()
2023 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_private_host_tgtid_bind_type()
2026 fc_host_tgtid_bind_type(shost) = val; in store_fc_private_host_tgtid_bind_type()
2038 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_private_host_issue_lip() local
2039 struct fc_internal *i = to_fc_internal(shost->transportt); in store_fc_private_host_issue_lip()
2044 ret = i->f->issue_fc_host_lip(shost); in store_fc_private_host_issue_lip()
2059 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_private_host_dev_loss_tmo() local
2060 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in store_fc_private_host_dev_loss_tmo()
2069 fc_host_dev_loss_tmo(shost) = val; in store_fc_private_host_dev_loss_tmo()
2070 spin_lock_irqsave(shost->host_lock, flags); in store_fc_private_host_dev_loss_tmo()
2073 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_private_host_dev_loss_tmo()
2092 struct Scsi_Host *shost = transport_class_to_shost(dev); in fc_stat_show() local
2093 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_stat_show()
2102 stats = (i->f->get_fc_host_stats)(shost); in fc_stat_show()
2160 struct Scsi_Host *shost = transport_class_to_shost(cd); \
2161 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); \
2192 struct Scsi_Host *shost = transport_class_to_shost(dev); in fc_reset_statistics() local
2193 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_reset_statistics()
2197 i->f->reset_fc_host_stats(shost); in fc_reset_statistics()
2309 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_host_vport_create() local
2339 stat = fc_vport_setup(shost, 0, &shost->shost_gendev, &vid, &vport); in store_fc_host_vport_create()
2356 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_host_vport_delete() local
2357 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in store_fc_host_vport_delete()
2380 spin_lock_irqsave(shost->host_lock, flags); in store_fc_host_vport_delete()
2393 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_host_vport_delete()
2408 struct Scsi_Host *shost; in fc_host_match() local
2414 shost = dev_to_shost(dev); in fc_host_match()
2415 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_host_match()
2419 i = to_fc_internal(shost->transportt); in fc_host_match()
2427 struct Scsi_Host *shost; in fc_target_match() local
2433 shost = dev_to_shost(dev->parent); in fc_target_match()
2434 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_target_match()
2438 i = to_fc_internal(shost->transportt); in fc_target_match()
2459 struct Scsi_Host *shost; in fc_rport_match() local
2465 shost = dev_to_shost(dev->parent); in fc_rport_match()
2466 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_rport_match()
2470 i = to_fc_internal(shost->transportt); in fc_rport_match()
2492 struct Scsi_Host *shost; in fc_vport_match() local
2499 shost = vport_to_shost(vport); in fc_vport_match()
2500 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_vport_match()
2504 i = to_fc_internal(shost->transportt); in fc_vport_match()
2548 fc_user_scan_tgt(struct Scsi_Host *shost, uint channel, uint id, u64 lun) in fc_user_scan_tgt() argument
2553 spin_lock_irqsave(shost->host_lock, flags); in fc_user_scan_tgt()
2555 list_for_each_entry(rport, &fc_host_rports(shost), peers) { in fc_user_scan_tgt()
2565 spin_unlock_irqrestore(shost->host_lock, flags); in fc_user_scan_tgt()
2572 spin_unlock_irqrestore(shost->host_lock, flags); in fc_user_scan_tgt()
2582 fc_user_scan(struct Scsi_Host *shost, uint channel, uint id, u64 lun) in fc_user_scan() argument
2587 if (((channel != SCAN_WILD_CARD) && (channel > shost->max_channel)) || in fc_user_scan()
2588 ((id != SCAN_WILD_CARD) && (id >= shost->max_id)) || in fc_user_scan()
2589 ((lun != SCAN_WILD_CARD) && (lun > shost->max_lun))) in fc_user_scan()
2594 chhi = shost->max_channel + 1; in fc_user_scan()
2602 tgthi = shost->max_id; in fc_user_scan()
2610 fc_user_scan_tgt(shost, chlo, tgtlo, lun); in fc_user_scan()
2782 fc_queue_work(struct Scsi_Host *shost, struct work_struct *work) in fc_queue_work() argument
2784 if (unlikely(!fc_host_work_q(shost))) { in fc_queue_work()
2787 "when no workqueue created.\n", shost->hostt->name); in fc_queue_work()
2793 return queue_work(fc_host_work_q(shost), work); in fc_queue_work()
2801 fc_flush_work(struct Scsi_Host *shost) in fc_flush_work() argument
2803 if (!fc_host_work_q(shost)) { in fc_flush_work()
2806 "when no workqueue created.\n", shost->hostt->name); in fc_flush_work()
2811 flush_workqueue(fc_host_work_q(shost)); in fc_flush_work()
2824 fc_queue_devloss_work(struct Scsi_Host *shost, struct delayed_work *work, in fc_queue_devloss_work() argument
2827 if (unlikely(!fc_host_devloss_work_q(shost))) { in fc_queue_devloss_work()
2830 "when no workqueue created.\n", shost->hostt->name); in fc_queue_devloss_work()
2836 return queue_delayed_work(fc_host_devloss_work_q(shost), work, delay); in fc_queue_devloss_work()
2844 fc_flush_devloss(struct Scsi_Host *shost) in fc_flush_devloss() argument
2846 if (!fc_host_devloss_work_q(shost)) { in fc_flush_devloss()
2849 "when no workqueue created.\n", shost->hostt->name); in fc_flush_devloss()
2854 flush_workqueue(fc_host_devloss_work_q(shost)); in fc_flush_devloss()
2874 fc_remove_host(struct Scsi_Host *shost) in fc_remove_host() argument
2879 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remove_host()
2882 spin_lock_irqsave(shost->host_lock, flags); in fc_remove_host()
2887 fc_queue_work(shost, &vport->vport_delete_work); in fc_remove_host()
2895 fc_queue_work(shost, &rport->rport_delete_work); in fc_remove_host()
2902 fc_queue_work(shost, &rport->rport_delete_work); in fc_remove_host()
2905 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remove_host()
2908 scsi_flush_work(shost); in fc_remove_host()
2928 struct Scsi_Host *shost = rport_to_shost(rport); in fc_terminate_rport_io() local
2929 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_terminate_rport_io()
2968 struct Scsi_Host *shost = rport_to_shost(rport); in fc_rport_final_delete() local
2969 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_rport_final_delete()
2980 scsi_flush_work(shost); in fc_rport_final_delete()
2987 spin_lock_irqsave(shost->host_lock, flags); in fc_rport_final_delete()
2989 spin_unlock_irqrestore(shost->host_lock, flags); in fc_rport_final_delete()
2991 fc_flush_devloss(shost); in fc_rport_final_delete()
2993 fc_flush_devloss(shost); in fc_rport_final_delete()
2995 spin_lock_irqsave(shost->host_lock, flags); in fc_rport_final_delete()
2998 spin_unlock_irqrestore(shost->host_lock, flags); in fc_rport_final_delete()
3011 spin_lock_irqsave(shost->host_lock, flags); in fc_rport_final_delete()
3017 spin_unlock_irqrestore(shost->host_lock, flags); in fc_rport_final_delete()
3027 scsi_host_put(shost); /* for fc_host->rport list */ in fc_rport_final_delete()
3046 fc_remote_port_create(struct Scsi_Host *shost, int channel, in fc_remote_port_create() argument
3049 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remote_port_create()
3050 struct fc_internal *fci = to_fc_internal(shost->transportt); in fc_remote_port_create()
3083 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_create()
3092 scsi_host_get(shost); /* for fc_host->rport list */ in fc_remote_port_create()
3094 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_create()
3098 dev->parent = get_device(&shost->shost_gendev); /* parent reference */ in fc_remote_port_create()
3101 shost->host_no, channel, rport->number); in fc_remote_port_create()
3112 fc_bsg_rportadd(shost, rport); in fc_remote_port_create()
3118 scsi_queue_work(shost, &rport->scan_work); in fc_remote_port_create()
3125 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_create()
3127 scsi_host_put(shost); /* for fc_host->rport list */ in fc_remote_port_create()
3128 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_create()
3173 fc_remote_port_add(struct Scsi_Host *shost, int channel, in fc_remote_port_add() argument
3176 struct fc_internal *fci = to_fc_internal(shost->transportt); in fc_remote_port_add()
3177 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remote_port_add()
3183 fc_flush_work(shost); in fc_remote_port_add()
3190 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_add()
3225 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3258 fc_flush_devloss(shost); in fc_remote_port_add()
3260 fc_flush_devloss(shost); in fc_remote_port_add()
3262 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_add()
3268 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3274 spin_lock_irqsave(shost->host_lock, in fc_remote_port_add()
3277 scsi_queue_work(shost, in fc_remote_port_add()
3279 spin_unlock_irqrestore(shost->host_lock, in fc_remote_port_add()
3338 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3345 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3348 rport = fc_remote_port_create(shost, channel, ids); in fc_remote_port_add()
3410 struct Scsi_Host *shost = rport_to_shost(rport); in fc_remote_port_delete() local
3422 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_delete()
3426 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_delete()
3447 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_delete()
3454 fc_queue_devloss_work(shost, &rport->fail_io_work, in fc_remote_port_delete()
3458 fc_queue_devloss_work(shost, &rport->dev_loss_work, timeout * HZ); in fc_remote_port_delete()
3485 struct Scsi_Host *shost = rport_to_shost(rport); in fc_remote_port_rolechg() local
3486 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remote_port_rolechg()
3490 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_rolechg()
3501 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_rolechg()
3517 fc_flush_devloss(shost); in fc_remote_port_rolechg()
3519 fc_flush_devloss(shost); in fc_remote_port_rolechg()
3521 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_rolechg()
3525 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_rolechg()
3528 fc_flush_work(shost); in fc_remote_port_rolechg()
3532 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_rolechg()
3534 scsi_queue_work(shost, &rport->scan_work); in fc_remote_port_rolechg()
3535 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_rolechg()
3552 struct Scsi_Host *shost = rport_to_shost(rport); in fc_timeout_deleted_rport() local
3553 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_timeout_deleted_rport()
3554 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_timeout_deleted_rport()
3558 spin_lock_irqsave(shost->host_lock, flags); in fc_timeout_deleted_rport()
3574 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3576 fc_queue_work(shost, &rport->stgt_delete_work); in fc_timeout_deleted_rport()
3582 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3598 fc_queue_work(shost, &rport->rport_delete_work); in fc_timeout_deleted_rport()
3599 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3629 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3632 spin_lock_irqsave(shost->host_lock, flags); in fc_timeout_deleted_rport()
3660 fc_queue_work(shost, &rport->stgt_delete_work); in fc_timeout_deleted_rport()
3665 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3707 struct Scsi_Host *shost = rport_to_shost(rport); in fc_scsi_scan_rport() local
3708 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_scsi_scan_rport()
3720 spin_lock_irqsave(shost->host_lock, flags); in fc_scsi_scan_rport()
3722 spin_unlock_irqrestore(shost->host_lock, flags); in fc_scsi_scan_rport()
3741 struct Scsi_Host *shost = rport_to_shost(rport); in fc_block_rport() local
3744 spin_lock_irqsave(shost->host_lock, flags); in fc_block_rport()
3747 spin_unlock_irqrestore(shost->host_lock, flags); in fc_block_rport()
3749 spin_lock_irqsave(shost->host_lock, flags); in fc_block_rport()
3751 spin_unlock_irqrestore(shost->host_lock, flags); in fc_block_rport()
3823 fc_vport_setup(struct Scsi_Host *shost, int channel, struct device *pdev, in fc_vport_setup() argument
3826 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_vport_setup()
3827 struct fc_internal *fci = to_fc_internal(shost->transportt); in fc_vport_setup()
3854 vport->shost = shost; in fc_vport_setup()
3859 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_setup()
3862 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3869 scsi_host_get(shost); /* for fc_host->vport list */ in fc_vport_setup()
3871 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3878 shost->host_no, channel, vport->number); in fc_vport_setup()
3899 if (pdev != &shost->shost_gendev) { in fc_vport_setup()
3900 error = sysfs_create_link(&shost->shost_gendev.kobj, in fc_vport_setup()
3908 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_setup()
3910 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3914 shost->host_no, channel); in fc_vport_setup()
3925 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_setup()
3927 scsi_host_put(shost); /* for fc_host->vport list */ in fc_vport_setup()
3929 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3947 fc_vport_create(struct Scsi_Host *shost, int channel, in fc_vport_create() argument
3953 stat = fc_vport_setup(shost, channel, &shost->shost_gendev, in fc_vport_create()
3972 struct Scsi_Host *shost = vport_to_shost(vport); in fc_vport_terminate() local
3973 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_vport_terminate()
3974 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_vport_terminate()
3984 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_terminate()
3990 scsi_host_put(shost); /* for fc_host->vport list */ in fc_vport_terminate()
3992 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_terminate()
3997 if (dev->parent != &shost->shost_gendev) in fc_vport_terminate()
3998 sysfs_remove_link(&shost->shost_gendev.kobj, dev_name(dev)); in fc_vport_terminate()
4030 dev_name(&vport->dev), vport->shost->host_no, in fc_vport_sched_delete()
4047 struct Scsi_Host *shost = fc_bsg_to_shost(job); in fc_bsg_job_timeout() local
4049 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_job_timeout()
4079 static int fc_bsg_host_dispatch(struct Scsi_Host *shost, struct bsg_job *job) in fc_bsg_host_dispatch() argument
4081 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_host_dispatch()
4125 if ((shost->hostt->vendor_id == 0L) || in fc_bsg_host_dispatch()
4127 shost->hostt->vendor_id)) { in fc_bsg_host_dispatch()
4172 static int fc_bsg_rport_dispatch(struct Scsi_Host *shost, struct bsg_job *job) in fc_bsg_rport_dispatch() argument
4174 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_rport_dispatch()
4224 struct Scsi_Host *shost = fc_bsg_to_shost(job); in fc_bsg_dispatch() local
4227 return fc_bsg_rport_dispatch(shost, job); in fc_bsg_dispatch()
4229 return fc_bsg_host_dispatch(shost, job); in fc_bsg_dispatch()
4270 fc_bsg_hostadd(struct Scsi_Host *shost, struct fc_host_attrs *fc_host) in fc_bsg_hostadd() argument
4272 struct device *dev = &shost->shost_gendev; in fc_bsg_hostadd()
4273 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_hostadd()
4283 "fc_host%d", shost->host_no); in fc_bsg_hostadd()
4290 shost->host_no); in fc_bsg_hostadd()
4293 __scsi_init_queue(shost, q); in fc_bsg_hostadd()
4305 fc_bsg_rportadd(struct Scsi_Host *shost, struct fc_rport *rport) in fc_bsg_rportadd() argument
4308 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_rportadd()
4322 __scsi_init_queue(shost, q); in fc_bsg_rportadd()