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()
595 __func__, shost->host_no, in fc_host_post_fc_event()
613 fc_host_post_event(struct Scsi_Host *shost, u32 event_number, in fc_host_post_event() argument
616 fc_host_post_fc_event(shost, event_number, event_code, in fc_host_post_event()
635 fc_host_post_vendor_event(struct Scsi_Host *shost, u32 event_number, in fc_host_post_vendor_event() argument
638 fc_host_post_fc_event(shost, event_number, FCH_EVT_VENDOR_UNIQUE, in fc_host_post_vendor_event()
652 fc_find_rport_by_wwpn(struct Scsi_Host *shost, u64 wwpn) in fc_find_rport_by_wwpn() argument
657 spin_lock_irqsave(shost->host_lock, flags); in fc_find_rport_by_wwpn()
659 list_for_each_entry(rport, &fc_host_rports(shost), peers) { in fc_find_rport_by_wwpn()
664 spin_unlock_irqrestore(shost->host_lock, flags); in fc_find_rport_by_wwpn()
669 spin_unlock_irqrestore(shost->host_lock, flags); in fc_find_rport_by_wwpn()
757 fc_fpin_li_stats_update(struct Scsi_Host *shost, struct fc_tlv_desc *tlv) in fc_fpin_li_stats_update() argument
762 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_fpin_li_stats_update()
767 rport = fc_find_rport_by_wwpn(shost, in fc_fpin_li_stats_update()
781 rport = fc_find_rport_by_wwpn(shost, wwpn); in fc_fpin_li_stats_update()
805 fc_fpin_delivery_stats_update(struct Scsi_Host *shost, in fc_fpin_delivery_stats_update() argument
810 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_fpin_delivery_stats_update()
814 rport = fc_find_rport_by_wwpn(shost, in fc_fpin_delivery_stats_update()
836 fc_fpin_peer_congn_stats_update(struct Scsi_Host *shost, in fc_fpin_peer_congn_stats_update() argument
847 rport = fc_find_rport_by_wwpn(shost, in fc_fpin_peer_congn_stats_update()
861 rport = fc_find_rport_by_wwpn(shost, wwpn); in fc_fpin_peer_congn_stats_update()
882 fc_fpin_congn_stats_update(struct Scsi_Host *shost, in fc_fpin_congn_stats_update() argument
885 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_fpin_congn_stats_update()
902 fc_host_fpin_rcv(struct Scsi_Host *shost, u32 fpin_len, char *fpin_buf) in fc_host_fpin_rcv() argument
919 fc_fpin_li_stats_update(shost, tlv); in fc_host_fpin_rcv()
922 fc_fpin_delivery_stats_update(shost, tlv); in fc_host_fpin_rcv()
925 fc_fpin_peer_congn_stats_update(shost, tlv); in fc_host_fpin_rcv()
928 fc_fpin_congn_stats_update(shost, tlv); in fc_host_fpin_rcv()
936 fc_host_post_fc_event(shost, fc_get_event_number(), in fc_host_fpin_rcv()
989 struct Scsi_Host *shost = rport_to_shost(rport); \
990 struct fc_internal *i = to_fc_internal(shost->transportt); \
1007 struct Scsi_Host *shost = rport_to_shost(rport); \
1008 struct fc_internal *i = to_fc_internal(shost->transportt); \
1150 struct Scsi_Host *shost = rport_to_shost(rport); in fc_rport_set_dev_loss_tmo() local
1151 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_rport_set_dev_loss_tmo()
1417 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); \
1418 struct fc_internal *i = to_fc_internal(shost->transportt); \
1472 struct Scsi_Host *shost = vport_to_shost(vport); \
1473 struct fc_internal *i = to_fc_internal(shost->transportt); \
1488 struct Scsi_Host *shost = vport_to_shost(vport); \
1489 struct fc_internal *i = to_fc_internal(shost->transportt); \
1507 struct Scsi_Host *shost = vport_to_shost(vport); \
1508 struct fc_internal *i = to_fc_internal(shost->transportt); \
1680 struct Scsi_Host *shost = vport_to_shost(vport); in store_fc_vport_delete() local
1683 spin_lock_irqsave(shost->host_lock, flags); in store_fc_vport_delete()
1685 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_vport_delete()
1689 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_vport_delete()
1691 fc_queue_work(shost, &vport->vport_delete_work); in store_fc_vport_delete()
1708 struct Scsi_Host *shost = vport_to_shost(vport); in store_fc_vport_disable() local
1709 struct fc_internal *i = to_fc_internal(shost->transportt); in store_fc_vport_disable()
1740 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1741 struct fc_internal *i = to_fc_internal(shost->transportt); \
1743 i->f->get_host_##field(shost); \
1744 return snprintf(buf, sz, format_string, cast fc_host_##field(shost)); \
1754 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1755 struct fc_internal *i = to_fc_internal(shost->transportt); \
1761 i->f->set_host_##field(shost, val); \
1771 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1772 struct fc_internal *i = to_fc_internal(shost->transportt); \
1780 memcpy(fc_host_##field(shost), buf, cnt); \
1781 i->f->set_host_##field(shost); \
1807 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1808 struct fc_internal *i = to_fc_internal(shost->transportt); \
1811 i->f->get_host_##title(shost); \
1812 name = get_fc_##title##_name(fc_host_##title(shost)); \
1850 struct Scsi_Host *shost = transport_class_to_shost(dev); \
1851 return snprintf(buf, sz, format_string, cast fc_host_##field(shost)); \
1885 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_supported_classes() local
1887 if (fc_host_supported_classes(shost) == FC_COS_UNSPECIFIED) in show_fc_host_supported_classes()
1890 return get_fc_cos_names(fc_host_supported_classes(shost), buf); in show_fc_host_supported_classes()
1899 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_supported_fc4s() local
1900 return (ssize_t)show_fc_fc4s(buf, fc_host_supported_fc4s(shost)); in show_fc_host_supported_fc4s()
1909 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_supported_speeds() local
1911 if (fc_host_supported_speeds(shost) == FC_PORTSPEED_UNKNOWN) in show_fc_host_supported_speeds()
1914 return get_fc_port_speed_names(fc_host_supported_speeds(shost), buf); in show_fc_host_supported_speeds()
1942 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_active_fc4s() local
1943 struct fc_internal *i = to_fc_internal(shost->transportt); in show_fc_host_active_fc4s()
1946 i->f->get_host_active_fc4s(shost); in show_fc_host_active_fc4s()
1948 return (ssize_t)show_fc_fc4s(buf, fc_host_active_fc4s(shost)); in show_fc_host_active_fc4s()
1957 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_host_speed() local
1958 struct fc_internal *i = to_fc_internal(shost->transportt); in show_fc_host_speed()
1961 i->f->get_host_speed(shost); in show_fc_host_speed()
1963 if (fc_host_speed(shost) == FC_PORTSPEED_UNKNOWN) in show_fc_host_speed()
1966 return get_fc_port_speed_names(fc_host_speed(shost), buf); in show_fc_host_speed()
1991 struct Scsi_Host *shost = transport_class_to_shost(dev); in show_fc_private_host_tgtid_bind_type() local
1994 name = get_fc_tgtid_bind_type_name(fc_host_tgtid_bind_type(shost)); in show_fc_private_host_tgtid_bind_type()
2007 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_private_host_tgtid_bind_type() local
2016 if (val != fc_host_tgtid_bind_type(shost)) { in store_fc_private_host_tgtid_bind_type()
2017 spin_lock_irqsave(shost->host_lock, flags); in store_fc_private_host_tgtid_bind_type()
2018 while (!list_empty(&fc_host_rport_bindings(shost))) { in store_fc_private_host_tgtid_bind_type()
2020 &fc_host_rport_bindings(shost), peers); in store_fc_private_host_tgtid_bind_type()
2023 fc_queue_work(shost, &rport->rport_delete_work); in store_fc_private_host_tgtid_bind_type()
2025 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_private_host_tgtid_bind_type()
2028 fc_host_tgtid_bind_type(shost) = val; in store_fc_private_host_tgtid_bind_type()
2040 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_private_host_issue_lip() local
2041 struct fc_internal *i = to_fc_internal(shost->transportt); in store_fc_private_host_issue_lip()
2046 ret = i->f->issue_fc_host_lip(shost); in store_fc_private_host_issue_lip()
2061 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_private_host_dev_loss_tmo() local
2062 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in store_fc_private_host_dev_loss_tmo()
2071 fc_host_dev_loss_tmo(shost) = val; in store_fc_private_host_dev_loss_tmo()
2072 spin_lock_irqsave(shost->host_lock, flags); in store_fc_private_host_dev_loss_tmo()
2075 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_private_host_dev_loss_tmo()
2094 struct Scsi_Host *shost = transport_class_to_shost(dev); in fc_stat_show() local
2095 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_stat_show()
2104 stats = (i->f->get_fc_host_stats)(shost); in fc_stat_show()
2162 struct Scsi_Host *shost = transport_class_to_shost(cd); \
2163 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); \
2194 struct Scsi_Host *shost = transport_class_to_shost(dev); in fc_reset_statistics() local
2195 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_reset_statistics()
2199 i->f->reset_fc_host_stats(shost); in fc_reset_statistics()
2311 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_host_vport_create() local
2341 stat = fc_vport_setup(shost, 0, &shost->shost_gendev, &vid, &vport); in store_fc_host_vport_create()
2358 struct Scsi_Host *shost = transport_class_to_shost(dev); in store_fc_host_vport_delete() local
2359 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in store_fc_host_vport_delete()
2382 spin_lock_irqsave(shost->host_lock, flags); in store_fc_host_vport_delete()
2395 spin_unlock_irqrestore(shost->host_lock, flags); in store_fc_host_vport_delete()
2410 struct Scsi_Host *shost; in fc_host_match() local
2416 shost = dev_to_shost(dev); in fc_host_match()
2417 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_host_match()
2421 i = to_fc_internal(shost->transportt); in fc_host_match()
2429 struct Scsi_Host *shost; in fc_target_match() local
2435 shost = dev_to_shost(dev->parent); in fc_target_match()
2436 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_target_match()
2440 i = to_fc_internal(shost->transportt); in fc_target_match()
2461 struct Scsi_Host *shost; in fc_rport_match() local
2467 shost = dev_to_shost(dev->parent); in fc_rport_match()
2468 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_rport_match()
2472 i = to_fc_internal(shost->transportt); in fc_rport_match()
2494 struct Scsi_Host *shost; in fc_vport_match() local
2501 shost = vport_to_shost(vport); in fc_vport_match()
2502 if (!shost->transportt || shost->transportt->host_attrs.ac.class in fc_vport_match()
2506 i = to_fc_internal(shost->transportt); in fc_vport_match()
2551 fc_user_scan_tgt(struct Scsi_Host *shost, uint channel, uint id, u64 lun) in fc_user_scan_tgt() argument
2556 spin_lock_irqsave(shost->host_lock, flags); in fc_user_scan_tgt()
2558 list_for_each_entry(rport, &fc_host_rports(shost), peers) { in fc_user_scan_tgt()
2568 spin_unlock_irqrestore(shost->host_lock, flags); in fc_user_scan_tgt()
2575 spin_unlock_irqrestore(shost->host_lock, flags); in fc_user_scan_tgt()
2585 fc_user_scan(struct Scsi_Host *shost, uint channel, uint id, u64 lun) in fc_user_scan() argument
2590 if (((channel != SCAN_WILD_CARD) && (channel > shost->max_channel)) || in fc_user_scan()
2591 ((id != SCAN_WILD_CARD) && (id >= shost->max_id)) || in fc_user_scan()
2592 ((lun != SCAN_WILD_CARD) && (lun > shost->max_lun))) in fc_user_scan()
2597 chhi = shost->max_channel + 1; in fc_user_scan()
2605 tgthi = shost->max_id; in fc_user_scan()
2613 fc_user_scan_tgt(shost, chlo, tgtlo, lun); in fc_user_scan()
2785 fc_queue_work(struct Scsi_Host *shost, struct work_struct *work) in fc_queue_work() argument
2787 if (unlikely(!fc_host_work_q(shost))) { in fc_queue_work()
2790 "when no workqueue created.\n", shost->hostt->name); in fc_queue_work()
2796 return queue_work(fc_host_work_q(shost), work); in fc_queue_work()
2804 fc_flush_work(struct Scsi_Host *shost) in fc_flush_work() argument
2806 if (!fc_host_work_q(shost)) { in fc_flush_work()
2809 "when no workqueue created.\n", shost->hostt->name); in fc_flush_work()
2814 flush_workqueue(fc_host_work_q(shost)); in fc_flush_work()
2827 fc_queue_devloss_work(struct Scsi_Host *shost, struct delayed_work *work, in fc_queue_devloss_work() argument
2830 if (unlikely(!fc_host_devloss_work_q(shost))) { in fc_queue_devloss_work()
2833 "when no workqueue created.\n", shost->hostt->name); in fc_queue_devloss_work()
2839 return queue_delayed_work(fc_host_devloss_work_q(shost), work, delay); in fc_queue_devloss_work()
2847 fc_flush_devloss(struct Scsi_Host *shost) in fc_flush_devloss() argument
2849 if (!fc_host_devloss_work_q(shost)) { in fc_flush_devloss()
2852 "when no workqueue created.\n", shost->hostt->name); in fc_flush_devloss()
2857 flush_workqueue(fc_host_devloss_work_q(shost)); in fc_flush_devloss()
2877 fc_remove_host(struct Scsi_Host *shost) in fc_remove_host() argument
2882 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remove_host()
2885 spin_lock_irqsave(shost->host_lock, flags); in fc_remove_host()
2890 fc_queue_work(shost, &vport->vport_delete_work); in fc_remove_host()
2898 fc_queue_work(shost, &rport->rport_delete_work); in fc_remove_host()
2905 fc_queue_work(shost, &rport->rport_delete_work); in fc_remove_host()
2908 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remove_host()
2911 scsi_flush_work(shost); in fc_remove_host()
2931 struct Scsi_Host *shost = rport_to_shost(rport); in fc_terminate_rport_io() local
2932 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_terminate_rport_io()
2971 struct Scsi_Host *shost = rport_to_shost(rport); in fc_rport_final_delete() local
2972 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_rport_final_delete()
2983 scsi_flush_work(shost); in fc_rport_final_delete()
2990 spin_lock_irqsave(shost->host_lock, flags); in fc_rport_final_delete()
2992 spin_unlock_irqrestore(shost->host_lock, flags); in fc_rport_final_delete()
2994 fc_flush_devloss(shost); in fc_rport_final_delete()
2996 fc_flush_devloss(shost); in fc_rport_final_delete()
2998 spin_lock_irqsave(shost->host_lock, flags); in fc_rport_final_delete()
3001 spin_unlock_irqrestore(shost->host_lock, flags); in fc_rport_final_delete()
3014 spin_lock_irqsave(shost->host_lock, flags); in fc_rport_final_delete()
3020 spin_unlock_irqrestore(shost->host_lock, flags); in fc_rport_final_delete()
3030 scsi_host_put(shost); /* for fc_host->rport list */ in fc_rport_final_delete()
3049 fc_remote_port_create(struct Scsi_Host *shost, int channel, in fc_remote_port_create() argument
3052 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remote_port_create()
3053 struct fc_internal *fci = to_fc_internal(shost->transportt); in fc_remote_port_create()
3086 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_create()
3095 scsi_host_get(shost); /* for fc_host->rport list */ in fc_remote_port_create()
3097 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_create()
3101 dev->parent = get_device(&shost->shost_gendev); /* parent reference */ in fc_remote_port_create()
3104 shost->host_no, channel, rport->number); in fc_remote_port_create()
3115 fc_bsg_rportadd(shost, rport); in fc_remote_port_create()
3121 scsi_queue_work(shost, &rport->scan_work); in fc_remote_port_create()
3128 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_create()
3130 scsi_host_put(shost); /* for fc_host->rport list */ in fc_remote_port_create()
3131 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_create()
3176 fc_remote_port_add(struct Scsi_Host *shost, int channel, in fc_remote_port_add() argument
3179 struct fc_internal *fci = to_fc_internal(shost->transportt); in fc_remote_port_add()
3180 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remote_port_add()
3186 fc_flush_work(shost); in fc_remote_port_add()
3193 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_add()
3228 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3261 fc_flush_devloss(shost); in fc_remote_port_add()
3263 fc_flush_devloss(shost); in fc_remote_port_add()
3265 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_add()
3271 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3277 spin_lock_irqsave(shost->host_lock, in fc_remote_port_add()
3280 scsi_queue_work(shost, in fc_remote_port_add()
3282 spin_unlock_irqrestore(shost->host_lock, in fc_remote_port_add()
3341 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3348 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_add()
3351 rport = fc_remote_port_create(shost, channel, ids); in fc_remote_port_add()
3413 struct Scsi_Host *shost = rport_to_shost(rport); in fc_remote_port_delete() local
3425 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_delete()
3429 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_delete()
3450 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_delete()
3457 fc_queue_devloss_work(shost, &rport->fail_io_work, in fc_remote_port_delete()
3461 fc_queue_devloss_work(shost, &rport->dev_loss_work, timeout * HZ); in fc_remote_port_delete()
3488 struct Scsi_Host *shost = rport_to_shost(rport); in fc_remote_port_rolechg() local
3489 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_remote_port_rolechg()
3493 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_rolechg()
3504 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_rolechg()
3520 fc_flush_devloss(shost); in fc_remote_port_rolechg()
3522 fc_flush_devloss(shost); in fc_remote_port_rolechg()
3524 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_rolechg()
3528 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_rolechg()
3531 fc_flush_work(shost); in fc_remote_port_rolechg()
3535 spin_lock_irqsave(shost->host_lock, flags); in fc_remote_port_rolechg()
3537 scsi_queue_work(shost, &rport->scan_work); in fc_remote_port_rolechg()
3538 spin_unlock_irqrestore(shost->host_lock, flags); in fc_remote_port_rolechg()
3555 struct Scsi_Host *shost = rport_to_shost(rport); in fc_timeout_deleted_rport() local
3556 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_timeout_deleted_rport()
3557 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_timeout_deleted_rport()
3561 spin_lock_irqsave(shost->host_lock, flags); in fc_timeout_deleted_rport()
3577 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3579 fc_queue_work(shost, &rport->stgt_delete_work); in fc_timeout_deleted_rport()
3585 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3601 fc_queue_work(shost, &rport->rport_delete_work); in fc_timeout_deleted_rport()
3602 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3632 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3635 spin_lock_irqsave(shost->host_lock, flags); in fc_timeout_deleted_rport()
3663 fc_queue_work(shost, &rport->stgt_delete_work); in fc_timeout_deleted_rport()
3668 spin_unlock_irqrestore(shost->host_lock, flags); in fc_timeout_deleted_rport()
3710 struct Scsi_Host *shost = rport_to_shost(rport); in fc_scsi_scan_rport() local
3711 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_scsi_scan_rport()
3723 spin_lock_irqsave(shost->host_lock, flags); in fc_scsi_scan_rport()
3725 spin_unlock_irqrestore(shost->host_lock, flags); in fc_scsi_scan_rport()
3744 struct Scsi_Host *shost = rport_to_shost(rport); in fc_block_rport() local
3747 spin_lock_irqsave(shost->host_lock, flags); in fc_block_rport()
3750 spin_unlock_irqrestore(shost->host_lock, flags); in fc_block_rport()
3752 spin_lock_irqsave(shost->host_lock, flags); in fc_block_rport()
3754 spin_unlock_irqrestore(shost->host_lock, flags); in fc_block_rport()
3826 fc_vport_setup(struct Scsi_Host *shost, int channel, struct device *pdev, in fc_vport_setup() argument
3829 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_vport_setup()
3830 struct fc_internal *fci = to_fc_internal(shost->transportt); in fc_vport_setup()
3857 vport->shost = shost; in fc_vport_setup()
3862 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_setup()
3865 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3872 scsi_host_get(shost); /* for fc_host->vport list */ in fc_vport_setup()
3874 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3881 shost->host_no, channel, vport->number); in fc_vport_setup()
3902 if (pdev != &shost->shost_gendev) { in fc_vport_setup()
3903 error = sysfs_create_link(&shost->shost_gendev.kobj, in fc_vport_setup()
3911 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_setup()
3913 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3917 shost->host_no, channel); in fc_vport_setup()
3928 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_setup()
3930 scsi_host_put(shost); /* for fc_host->vport list */ in fc_vport_setup()
3932 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_setup()
3950 fc_vport_create(struct Scsi_Host *shost, int channel, in fc_vport_create() argument
3956 stat = fc_vport_setup(shost, channel, &shost->shost_gendev, in fc_vport_create()
3975 struct Scsi_Host *shost = vport_to_shost(vport); in fc_vport_terminate() local
3976 struct fc_host_attrs *fc_host = shost_to_fc_host(shost); in fc_vport_terminate()
3977 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_vport_terminate()
3987 spin_lock_irqsave(shost->host_lock, flags); in fc_vport_terminate()
3993 scsi_host_put(shost); /* for fc_host->vport list */ in fc_vport_terminate()
3995 spin_unlock_irqrestore(shost->host_lock, flags); in fc_vport_terminate()
4000 if (dev->parent != &shost->shost_gendev) in fc_vport_terminate()
4001 sysfs_remove_link(&shost->shost_gendev.kobj, dev_name(dev)); in fc_vport_terminate()
4033 dev_name(&vport->dev), vport->shost->host_no, in fc_vport_sched_delete()
4050 struct Scsi_Host *shost = fc_bsg_to_shost(job); in fc_bsg_job_timeout() local
4052 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_job_timeout()
4082 static int fc_bsg_host_dispatch(struct Scsi_Host *shost, struct bsg_job *job) in fc_bsg_host_dispatch() argument
4084 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_host_dispatch()
4128 if ((shost->hostt->vendor_id == 0L) || in fc_bsg_host_dispatch()
4130 shost->hostt->vendor_id)) { in fc_bsg_host_dispatch()
4175 static int fc_bsg_rport_dispatch(struct Scsi_Host *shost, struct bsg_job *job) in fc_bsg_rport_dispatch() argument
4177 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_rport_dispatch()
4227 struct Scsi_Host *shost = fc_bsg_to_shost(job); in fc_bsg_dispatch() local
4230 return fc_bsg_rport_dispatch(shost, job); in fc_bsg_dispatch()
4232 return fc_bsg_host_dispatch(shost, job); in fc_bsg_dispatch()
4273 fc_bsg_hostadd(struct Scsi_Host *shost, struct fc_host_attrs *fc_host) in fc_bsg_hostadd() argument
4275 struct device *dev = &shost->shost_gendev; in fc_bsg_hostadd()
4276 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_hostadd()
4286 "fc_host%d", shost->host_no); in fc_bsg_hostadd()
4293 shost->host_no); in fc_bsg_hostadd()
4296 __scsi_init_queue(shost, q); in fc_bsg_hostadd()
4308 fc_bsg_rportadd(struct Scsi_Host *shost, struct fc_rport *rport) in fc_bsg_rportadd() argument
4311 struct fc_internal *i = to_fc_internal(shost->transportt); in fc_bsg_rportadd()
4325 __scsi_init_queue(shost, q); in fc_bsg_rportadd()