Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge patch series "scsi: bfa: Remove deadcode"

linux@treblig.org says:

Hi,
This removes a pile of dead functions in the SCSI bfa driver.
These were spotted by hunting for unused symbols in a unmodular
kernel build, and then double checking by grepping for the function
name.

It's been build tested only, I don't have the hardware, but
it's strictly full function (and the occasional struct) deletion,
so there should be no change in functionality.

Thanks to David Hildenbrand for the suggestion of hunting
for unused symbols.

Dave

Link: https://lore.kernel.org/r/20240915125633.25036-1-linux@treblig.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

-389
-10
drivers/scsi/bfa/bfa.h
··· 138 138 } while (0) 139 139 140 140 141 - /* 142 - * PCI devices supported by the current BFA 143 - */ 144 - struct bfa_pciid_s { 145 - u16 device_id; 146 - u16 vendor_id; 147 - }; 148 - 149 141 extern char bfa_version[]; 150 142 151 143 struct bfa_iocfc_regs_s { ··· 400 408 (((&(_bfa)->modules.dconf_mod)->min_cfg) \ 401 409 ? BFA_LUNMASK_MINCFG : ((bfa_get_lun_mask(_bfa))->status)) 402 410 403 - void bfa_get_pciids(struct bfa_pciid_s **pciids, int *npciids); 404 411 void bfa_cfg_get_default(struct bfa_iocfc_cfg_s *cfg); 405 - void bfa_cfg_get_min(struct bfa_iocfc_cfg_s *cfg); 406 412 void bfa_cfg_get_meminfo(struct bfa_iocfc_cfg_s *cfg, 407 413 struct bfa_meminfo_s *meminfo, 408 414 struct bfa_s *bfa);
-35
drivers/scsi/bfa/bfa_core.c
··· 1934 1934 } 1935 1935 1936 1936 /* 1937 - * Return the list of PCI vendor/device id lists supported by this 1938 - * BFA instance. 1939 - */ 1940 - void 1941 - bfa_get_pciids(struct bfa_pciid_s **pciids, int *npciids) 1942 - { 1943 - static struct bfa_pciid_s __pciids[] = { 1944 - {BFA_PCI_VENDOR_ID_BROCADE, BFA_PCI_DEVICE_ID_FC_8G2P}, 1945 - {BFA_PCI_VENDOR_ID_BROCADE, BFA_PCI_DEVICE_ID_FC_8G1P}, 1946 - {BFA_PCI_VENDOR_ID_BROCADE, BFA_PCI_DEVICE_ID_CT}, 1947 - {BFA_PCI_VENDOR_ID_BROCADE, BFA_PCI_DEVICE_ID_CT_FC}, 1948 - }; 1949 - 1950 - *npciids = ARRAY_SIZE(__pciids); 1951 - *pciids = __pciids; 1952 - } 1953 - 1954 - /* 1955 1937 * Use this function query the default struct bfa_iocfc_cfg_s value (compiled 1956 1938 * into BFA layer). The OS driver can then turn back and overwrite entries that 1957 1939 * have been configured by the user. ··· 1968 1986 cfg->drvcfg.ioc_recover = BFA_FALSE; 1969 1987 cfg->drvcfg.delay_comp = BFA_FALSE; 1970 1988 1971 - } 1972 - 1973 - void 1974 - bfa_cfg_get_min(struct bfa_iocfc_cfg_s *cfg) 1975 - { 1976 - bfa_cfg_get_default(cfg); 1977 - cfg->fwcfg.num_ioim_reqs = BFA_IOIM_MIN; 1978 - cfg->fwcfg.num_tskim_reqs = BFA_TSKIM_MIN; 1979 - cfg->fwcfg.num_fcxp_reqs = BFA_FCXP_MIN; 1980 - cfg->fwcfg.num_uf_bufs = BFA_UF_MIN; 1981 - cfg->fwcfg.num_rports = BFA_RPORT_MIN; 1982 - cfg->fwcfg.num_fwtio_reqs = 0; 1983 - 1984 - cfg->drvcfg.num_sgpgs = BFA_SGPG_MIN; 1985 - cfg->drvcfg.num_reqq_elems = BFA_REQQ_NELEMS_MIN; 1986 - cfg->drvcfg.num_rspq_elems = BFA_RSPQ_NELEMS_MIN; 1987 - cfg->drvcfg.min_cfg = BFA_TRUE; 1988 1989 }
-22
drivers/scsi/bfa/bfa_defs_fcs.h
··· 125 125 }; 126 126 127 127 /* 128 - * FCS lport info. 129 - */ 130 - struct bfa_lport_info_s { 131 - u8 port_type; /* bfa_lport_type_t : physical or 132 - * virtual */ 133 - u8 port_state; /* one of bfa_lport_state values */ 134 - u8 offline_reason; /* one of bfa_lport_offline_reason_t 135 - * values */ 136 - wwn_t port_wwn; 137 - wwn_t node_wwn; 138 - 139 - /* 140 - * following 4 feilds are valid for Physical Ports only 141 - */ 142 - u32 max_vports_supp; /* Max supported vports */ 143 - u32 num_vports_inuse; /* Num of in use vports */ 144 - u32 max_rports_supp; /* Max supported rports */ 145 - u32 num_rports_inuse; /* Num of doscovered rports */ 146 - 147 - }; 148 - 149 - /* 150 128 * FCS port statistics 151 129 */ 152 130 struct bfa_lport_stats_s {
-9
drivers/scsi/bfa/bfa_fcpim.c
··· 3413 3413 } 3414 3414 3415 3415 /* 3416 - * Notification on completions from related ioim. 3417 - */ 3418 - void 3419 - bfa_tskim_iodone(struct bfa_tskim_s *tskim) 3420 - { 3421 - bfa_wc_down(&tskim->wc); 3422 - } 3423 - 3424 - /* 3425 3416 * Handle IOC h/w failure notification from itnim. 3426 3417 */ 3427 3418 void
-1
drivers/scsi/bfa/bfa_fcpim.h
··· 339 339 340 340 void bfa_tskim_attach(struct bfa_fcpim_s *fcpim); 341 341 void bfa_tskim_isr(struct bfa_s *bfa, struct bfi_msg_s *msg); 342 - void bfa_tskim_iodone(struct bfa_tskim_s *tskim); 343 342 void bfa_tskim_iocdisable(struct bfa_tskim_s *tskim); 344 343 void bfa_tskim_cleanup(struct bfa_tskim_s *tskim); 345 344 void bfa_tskim_res_recfg(struct bfa_s *bfa, u16 num_tskim_fw);
-12
drivers/scsi/bfa/bfa_fcs.h
··· 373 373 struct bfa_fcs_lport_s *bfa_fcs_get_base_port(struct bfa_fcs_s *fcs); 374 374 void bfa_fcs_lport_get_rport_quals(struct bfa_fcs_lport_s *port, 375 375 struct bfa_rport_qualifier_s rport[], int *nrports); 376 - wwn_t bfa_fcs_lport_get_rport(struct bfa_fcs_lport_s *port, wwn_t wwn, 377 - int index, int nrports, bfa_boolean_t bwwn); 378 376 379 377 struct bfa_fcs_lport_s *bfa_fcs_lookup_port(struct bfa_fcs_s *fcs, 380 378 u16 vf_id, wwn_t lpwwn); 381 379 382 380 void bfa_fcs_lport_set_symname(struct bfa_fcs_lport_s *port, char *symname); 383 - void bfa_fcs_lport_get_info(struct bfa_fcs_lport_s *port, 384 - struct bfa_lport_info_s *port_info); 385 381 void bfa_fcs_lport_get_attr(struct bfa_fcs_lport_s *port, 386 382 struct bfa_lport_attr_s *port_attr); 387 383 void bfa_fcs_lport_get_stats(struct bfa_fcs_lport_s *fcs_port, ··· 412 416 struct bfa_fcs_lport_s *port, u32 pid); 413 417 struct bfa_fcs_rport_s *bfa_fcs_lport_get_rport_by_pwwn( 414 418 struct bfa_fcs_lport_s *port, wwn_t pwwn); 415 - struct bfa_fcs_rport_s *bfa_fcs_lport_get_rport_by_nwwn( 416 - struct bfa_fcs_lport_s *port, wwn_t nwwn); 417 419 struct bfa_fcs_rport_s *bfa_fcs_lport_get_rport_by_qualifier( 418 420 struct bfa_fcs_lport_s *port, wwn_t pwwn, u32 pid); 419 421 void bfa_fcs_lport_add_rport(struct bfa_fcs_lport_s *port, ··· 480 486 struct bfa_fcs_s *fcs, u16 vf_id, 481 487 struct bfa_lport_cfg_s *port_cfg, 482 488 struct bfad_vport_s *vport_drv); 483 - bfa_boolean_t bfa_fcs_is_pbc_vport(struct bfa_fcs_vport_s *vport); 484 489 bfa_status_t bfa_fcs_vport_delete(struct bfa_fcs_vport_s *vport); 485 490 bfa_status_t bfa_fcs_vport_start(struct bfa_fcs_vport_s *vport); 486 491 bfa_status_t bfa_fcs_vport_stop(struct bfa_fcs_vport_s *vport); ··· 487 494 struct bfa_vport_attr_s *vport_attr); 488 495 struct bfa_fcs_vport_s *bfa_fcs_vport_lookup(struct bfa_fcs_s *fcs, 489 496 u16 vf_id, wwn_t vpwwn); 490 - void bfa_fcs_vport_cleanup(struct bfa_fcs_vport_s *vport); 491 497 void bfa_fcs_vport_online(struct bfa_fcs_vport_s *vport); 492 498 void bfa_fcs_vport_offline(struct bfa_fcs_vport_s *vport); 493 499 void bfa_fcs_vport_delete_comp(struct bfa_fcs_vport_s *vport); ··· 615 623 struct bfa_rport_attr_s *attr); 616 624 struct bfa_fcs_rport_s *bfa_fcs_rport_lookup(struct bfa_fcs_lport_s *port, 617 625 wwn_t rpwwn); 618 - struct bfa_fcs_rport_s *bfa_fcs_rport_lookup_by_nwwn( 619 - struct bfa_fcs_lport_s *port, wwn_t rnwwn); 620 626 void bfa_fcs_rport_set_del_timeout(u8 rport_tmo); 621 627 void bfa_fcs_rport_set_max_logins(u32 max_logins); 622 628 void bfa_fcs_rport_uf_recv(struct bfa_fcs_rport_s *rport, ··· 623 633 624 634 struct bfa_fcs_rport_s *bfa_fcs_rport_create(struct bfa_fcs_lport_s *port, 625 635 u32 pid); 626 - void bfa_fcs_rport_start(struct bfa_fcs_lport_s *port, struct fchs_s *rx_fchs, 627 - struct fc_logi_s *plogi_rsp); 628 636 void bfa_fcs_rport_plogi_create(struct bfa_fcs_lport_s *port, 629 637 struct fchs_s *rx_fchs, 630 638 struct fc_logi_s *plogi);
-142
drivers/scsi/bfa/bfa_fcs_lport.c
··· 938 938 } 939 939 940 940 /* 941 - * NWWN based Lookup for a R-Port in the Port R-Port Queue 942 - */ 943 - struct bfa_fcs_rport_s * 944 - bfa_fcs_lport_get_rport_by_nwwn(struct bfa_fcs_lport_s *port, wwn_t nwwn) 945 - { 946 - struct bfa_fcs_rport_s *rport; 947 - struct list_head *qe; 948 - 949 - list_for_each(qe, &port->rport_q) { 950 - rport = (struct bfa_fcs_rport_s *) qe; 951 - if (wwn_is_equal(rport->nwwn, nwwn)) 952 - return rport; 953 - } 954 - 955 - bfa_trc(port->fcs, nwwn); 956 - return NULL; 957 - } 958 - 959 - /* 960 941 * PWWN & PID based Lookup for a R-Port in the Port R-Port Queue 961 942 */ 962 943 struct bfa_fcs_rport_s * ··· 5626 5645 return &fcs->fabric.bport; 5627 5646 } 5628 5647 5629 - wwn_t 5630 - bfa_fcs_lport_get_rport(struct bfa_fcs_lport_s *port, wwn_t wwn, int index, 5631 - int nrports, bfa_boolean_t bwwn) 5632 - { 5633 - struct list_head *qh, *qe; 5634 - struct bfa_fcs_rport_s *rport = NULL; 5635 - int i; 5636 - struct bfa_fcs_s *fcs; 5637 - 5638 - if (port == NULL || nrports == 0) 5639 - return (wwn_t) 0; 5640 - 5641 - fcs = port->fcs; 5642 - bfa_trc(fcs, (u32) nrports); 5643 - 5644 - i = 0; 5645 - qh = &port->rport_q; 5646 - qe = bfa_q_first(qh); 5647 - 5648 - while ((qe != qh) && (i < nrports)) { 5649 - rport = (struct bfa_fcs_rport_s *) qe; 5650 - if (bfa_ntoh3b(rport->pid) > 0xFFF000) { 5651 - qe = bfa_q_next(qe); 5652 - bfa_trc(fcs, (u32) rport->pwwn); 5653 - bfa_trc(fcs, rport->pid); 5654 - bfa_trc(fcs, i); 5655 - continue; 5656 - } 5657 - 5658 - if (bwwn) { 5659 - if (!memcmp(&wwn, &rport->pwwn, 8)) 5660 - break; 5661 - } else { 5662 - if (i == index) 5663 - break; 5664 - } 5665 - 5666 - i++; 5667 - qe = bfa_q_next(qe); 5668 - } 5669 - 5670 - bfa_trc(fcs, i); 5671 - if (rport) 5672 - return rport->pwwn; 5673 - else 5674 - return (wwn_t) 0; 5675 - } 5676 - 5677 5648 void 5678 5649 bfa_fcs_lport_get_rport_quals(struct bfa_fcs_lport_s *port, 5679 5650 struct bfa_rport_qualifier_s rports[], int *nrports) ··· 5754 5821 return &vport->lport; 5755 5822 5756 5823 return NULL; 5757 - } 5758 - 5759 - /* 5760 - * API corresponding to NPIV_VPORT_GETINFO. 5761 - */ 5762 - void 5763 - bfa_fcs_lport_get_info(struct bfa_fcs_lport_s *port, 5764 - struct bfa_lport_info_s *port_info) 5765 - { 5766 - 5767 - bfa_trc(port->fcs, port->fabric->fabric_name); 5768 - 5769 - if (port->vport == NULL) { 5770 - /* 5771 - * This is a Physical port 5772 - */ 5773 - port_info->port_type = BFA_LPORT_TYPE_PHYSICAL; 5774 - 5775 - /* 5776 - * @todo : need to fix the state & reason 5777 - */ 5778 - port_info->port_state = 0; 5779 - port_info->offline_reason = 0; 5780 - 5781 - port_info->port_wwn = bfa_fcs_lport_get_pwwn(port); 5782 - port_info->node_wwn = bfa_fcs_lport_get_nwwn(port); 5783 - 5784 - port_info->max_vports_supp = 5785 - bfa_lps_get_max_vport(port->fcs->bfa); 5786 - port_info->num_vports_inuse = 5787 - port->fabric->num_vports; 5788 - port_info->max_rports_supp = BFA_FCS_MAX_RPORTS_SUPP; 5789 - port_info->num_rports_inuse = port->num_rports; 5790 - } else { 5791 - /* 5792 - * This is a virtual port 5793 - */ 5794 - port_info->port_type = BFA_LPORT_TYPE_VIRTUAL; 5795 - 5796 - /* 5797 - * @todo : need to fix the state & reason 5798 - */ 5799 - port_info->port_state = 0; 5800 - port_info->offline_reason = 0; 5801 - 5802 - port_info->port_wwn = bfa_fcs_lport_get_pwwn(port); 5803 - port_info->node_wwn = bfa_fcs_lport_get_nwwn(port); 5804 - } 5805 5824 } 5806 5825 5807 5826 void ··· 6453 6568 } 6454 6569 6455 6570 /* 6456 - * Cleanup notification from fabric SM on link timer expiry. 6457 - */ 6458 - void 6459 - bfa_fcs_vport_cleanup(struct bfa_fcs_vport_s *vport) 6460 - { 6461 - vport->vport_stats.fab_cleanup++; 6462 - } 6463 - 6464 - /* 6465 6571 * Stop notification from fabric SM. To be invoked from within FCS. 6466 6572 */ 6467 6573 void ··· 6572 6696 vport->lport.port_cfg.preboot_vp = BFA_TRUE; 6573 6697 6574 6698 return rc; 6575 - } 6576 - 6577 - /* 6578 - * Use this function to findout if this is a pbc vport or not. 6579 - * 6580 - * @param[in] vport - pointer to bfa_fcs_vport_t. 6581 - * 6582 - * @returns None 6583 - */ 6584 - bfa_boolean_t 6585 - bfa_fcs_is_pbc_vport(struct bfa_fcs_vport_s *vport) 6586 - { 6587 - 6588 - if (vport && (vport->lport.port_cfg.preboot_vp == BFA_TRUE)) 6589 - return BFA_TRUE; 6590 - else 6591 - return BFA_FALSE; 6592 - 6593 6699 } 6594 6700 6595 6701 /*
-36
drivers/scsi/bfa/bfa_fcs_rport.c
··· 2646 2646 bfa_sm_send_event(rport, RPSM_EVENT_ADDRESS_DISC); 2647 2647 return rport; 2648 2648 } 2649 - /* 2650 - * Called by bport in private loop topology to indicate that a 2651 - * rport has been discovered and plogi has been completed. 2652 - * 2653 - * @param[in] port - base port or vport 2654 - * @param[in] rpid - remote port ID 2655 - */ 2656 - void 2657 - bfa_fcs_rport_start(struct bfa_fcs_lport_s *port, struct fchs_s *fchs, 2658 - struct fc_logi_s *plogi) 2659 - { 2660 - struct bfa_fcs_rport_s *rport; 2661 - 2662 - rport = bfa_fcs_rport_alloc(port, WWN_NULL, fchs->s_id); 2663 - if (!rport) 2664 - return; 2665 - 2666 - bfa_fcs_rport_update(rport, plogi); 2667 - 2668 - bfa_sm_send_event(rport, RPSM_EVENT_PLOGI_COMP); 2669 - } 2670 2649 2671 2650 /* 2672 2651 * Called by bport/vport to handle PLOGI received from a new remote port. ··· 3059 3080 struct bfa_fcs_rport_s *rport; 3060 3081 3061 3082 rport = bfa_fcs_lport_get_rport_by_pwwn(port, rpwwn); 3062 - if (rport == NULL) { 3063 - /* 3064 - * TBD Error handling 3065 - */ 3066 - } 3067 - 3068 - return rport; 3069 - } 3070 - 3071 - struct bfa_fcs_rport_s * 3072 - bfa_fcs_rport_lookup_by_nwwn(struct bfa_fcs_lport_s *port, wwn_t rnwwn) 3073 - { 3074 - struct bfa_fcs_rport_s *rport; 3075 - 3076 - rport = bfa_fcs_lport_get_rport_by_nwwn(port, rnwwn); 3077 3083 if (rport == NULL) { 3078 3084 /* 3079 3085 * TBD Error handling
-21
drivers/scsi/bfa/bfa_ioc.c
··· 2254 2254 return status; 2255 2255 } 2256 2256 2257 - /* 2258 - * Enable/disable IOC failure auto recovery. 2259 - */ 2260 - void 2261 - bfa_ioc_auto_recover(bfa_boolean_t auto_recover) 2262 - { 2263 - bfa_auto_recover = auto_recover; 2264 - } 2265 - 2266 - 2267 - 2268 2257 bfa_boolean_t 2269 2258 bfa_ioc_is_operational(struct bfa_ioc_s *ioc) 2270 2259 { 2271 2260 return bfa_fsm_cmp_state(ioc, bfa_ioc_sm_op); 2272 - } 2273 - 2274 - bfa_boolean_t 2275 - bfa_ioc_is_initialized(struct bfa_ioc_s *ioc) 2276 - { 2277 - u32 r32 = bfa_ioc_get_cur_ioc_fwstate(ioc); 2278 - 2279 - return ((r32 != BFI_IOC_UNINIT) && 2280 - (r32 != BFI_IOC_INITING) && 2281 - (r32 != BFI_IOC_MEMTEST)); 2282 2261 } 2283 2262 2284 2263 bfa_boolean_t
-2
drivers/scsi/bfa/bfa_ioc.h
··· 919 919 920 920 void bfa_ioc_attach(struct bfa_ioc_s *ioc, void *bfa, 921 921 struct bfa_ioc_cbfn_s *cbfn, struct bfa_timer_mod_s *timer_mod); 922 - void bfa_ioc_auto_recover(bfa_boolean_t auto_recover); 923 922 void bfa_ioc_detach(struct bfa_ioc_s *ioc); 924 923 void bfa_ioc_suspend(struct bfa_ioc_s *ioc); 925 924 void bfa_ioc_pci_init(struct bfa_ioc_s *ioc, struct bfa_pcidev_s *pcidev, ··· 933 934 void bfa_ioc_isr(struct bfa_ioc_s *ioc, struct bfi_mbmsg_s *msg); 934 935 void bfa_ioc_error_isr(struct bfa_ioc_s *ioc); 935 936 bfa_boolean_t bfa_ioc_is_operational(struct bfa_ioc_s *ioc); 936 - bfa_boolean_t bfa_ioc_is_initialized(struct bfa_ioc_s *ioc); 937 937 bfa_boolean_t bfa_ioc_is_disabled(struct bfa_ioc_s *ioc); 938 938 bfa_boolean_t bfa_ioc_is_acq_addr(struct bfa_ioc_s *ioc); 939 939 bfa_boolean_t bfa_ioc_fw_mismatch(struct bfa_ioc_s *ioc);
-1
drivers/scsi/bfa/bfa_modules.h
··· 113 113 struct bfa_s *); 114 114 void bfa_sgpg_attach(struct bfa_s *, void *bfad, struct bfa_iocfc_cfg_s *, 115 115 struct bfa_pcidev_s *); 116 - void bfa_uf_iocdisable(struct bfa_s *); 117 116 void bfa_uf_meminfo(struct bfa_iocfc_cfg_s *, struct bfa_meminfo_s *, 118 117 struct bfa_s *); 119 118 void bfa_uf_attach(struct bfa_s *, void *, struct bfa_iocfc_cfg_s *,
-72
drivers/scsi/bfa/bfa_svc.c
··· 913 913 return reqbuf; 914 914 } 915 915 916 - u32 917 - bfa_fcxp_get_reqbufsz(struct bfa_fcxp_s *fcxp) 918 - { 919 - struct bfa_fcxp_mod_s *mod = fcxp->fcxp_mod; 920 - 921 - return mod->req_pld_sz; 922 - } 923 - 924 916 /* 925 917 * Get the internal response buffer pointer 926 918 * ··· 1013 1021 } 1014 1022 1015 1023 bfa_fcxp_queue(fcxp, send_req); 1016 - } 1017 - 1018 - /* 1019 - * Abort a BFA FCXP 1020 - * 1021 - * @param[in] fcxp BFA fcxp pointer 1022 - * 1023 - * @return void 1024 - */ 1025 - bfa_status_t 1026 - bfa_fcxp_abort(struct bfa_fcxp_s *fcxp) 1027 - { 1028 - bfa_trc(fcxp->fcxp_mod->bfa, fcxp->fcxp_tag); 1029 - WARN_ON(1); 1030 - return BFA_STATUS_OK; 1031 1024 } 1032 1025 1033 1026 void ··· 3834 3857 return BFA_STATUS_OK; 3835 3858 } 3836 3859 3837 - bfa_boolean_t 3838 - bfa_fcport_get_hardalpa(struct bfa_s *bfa, u8 *alpa) 3839 - { 3840 - struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa); 3841 - 3842 - *alpa = fcport->cfg.hardalpa; 3843 - return fcport->cfg.cfg_hardalpa; 3844 - } 3845 - 3846 3860 u8 3847 3861 bfa_fcport_get_myalpa(struct bfa_s *bfa) 3848 3862 { ··· 3891 3923 /* 3892 3924 * Get port attributes. 3893 3925 */ 3894 - 3895 - wwn_t 3896 - bfa_fcport_get_wwn(struct bfa_s *bfa, bfa_boolean_t node) 3897 - { 3898 - struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa); 3899 - if (node) 3900 - return fcport->nwwn; 3901 - else 3902 - return fcport->pwwn; 3903 - } 3904 - 3905 3926 void 3906 3927 bfa_fcport_get_attr(struct bfa_s *bfa, struct bfa_port_attr_s *attr) 3907 3928 { ··· 4060 4103 4061 4104 return fcport->cfg.ratelimit ? BFA_TRUE : BFA_FALSE; 4062 4105 4063 - } 4064 - 4065 - /* 4066 - * Enable/Disable FAA feature in port config 4067 - */ 4068 - void 4069 - bfa_fcport_cfg_faa(struct bfa_s *bfa, u8 state) 4070 - { 4071 - struct bfa_fcport_s *fcport = BFA_FCPORT_MOD(bfa); 4072 - 4073 - bfa_trc(bfa, state); 4074 - fcport->cfg.faa_state = state; 4075 4106 } 4076 4107 4077 4108 /* ··· 5471 5526 __bfa_cb_uf_recv(uf, BFA_TRUE); 5472 5527 else 5473 5528 bfa_cb_queue(bfa, &uf->hcb_qe, __bfa_cb_uf_recv, uf); 5474 - } 5475 - 5476 - void 5477 - bfa_uf_iocdisable(struct bfa_s *bfa) 5478 - { 5479 - struct bfa_uf_mod_s *ufm = BFA_UF_MOD(bfa); 5480 - struct bfa_uf_s *uf; 5481 - struct list_head *qe, *qen; 5482 - 5483 - /* Enqueue unused uf resources to free_q */ 5484 - list_splice_tail_init(&ufm->uf_unused_q, &ufm->uf_free_q); 5485 - 5486 - list_for_each_safe(qe, qen, &ufm->uf_posted_q) { 5487 - uf = (struct bfa_uf_s *) qe; 5488 - list_del(&uf->qe); 5489 - bfa_uf_put(ufm, uf); 5490 - } 5491 5529 } 5492 5530 5493 5531 void
-5
drivers/scsi/bfa/bfa_svc.h
··· 587 587 enum bfa_port_topology bfa_fcport_get_topology(struct bfa_s *bfa); 588 588 enum bfa_port_topology bfa_fcport_get_cfg_topology(struct bfa_s *bfa); 589 589 bfa_status_t bfa_fcport_cfg_hardalpa(struct bfa_s *bfa, u8 alpa); 590 - bfa_boolean_t bfa_fcport_get_hardalpa(struct bfa_s *bfa, u8 *alpa); 591 590 u8 bfa_fcport_get_myalpa(struct bfa_s *bfa); 592 591 bfa_status_t bfa_fcport_clr_hardalpa(struct bfa_s *bfa); 593 592 bfa_status_t bfa_fcport_cfg_maxfrsize(struct bfa_s *bfa, u16 maxsize); 594 593 u16 bfa_fcport_get_maxfrsize(struct bfa_s *bfa); 595 594 u8 bfa_fcport_get_rx_bbcredit(struct bfa_s *bfa); 596 595 void bfa_fcport_get_attr(struct bfa_s *bfa, struct bfa_port_attr_s *attr); 597 - wwn_t bfa_fcport_get_wwn(struct bfa_s *bfa, bfa_boolean_t node); 598 596 void bfa_fcport_event_register(struct bfa_s *bfa, 599 597 void (*event_cbfn) (void *cbarg, 600 598 enum bfa_port_linkstate event), void *event_cbarg); ··· 617 619 void bfa_fcport_dportenable(struct bfa_s *bfa); 618 620 void bfa_fcport_dportdisable(struct bfa_s *bfa); 619 621 bfa_status_t bfa_fcport_is_pbcdisabled(struct bfa_s *bfa); 620 - void bfa_fcport_cfg_faa(struct bfa_s *bfa, u8 state); 621 622 bfa_status_t bfa_fcport_cfg_bbcr(struct bfa_s *bfa, 622 623 bfa_boolean_t on_off, u8 bb_scn); 623 624 bfa_status_t bfa_fcport_get_bbcr_attr(struct bfa_s *bfa, ··· 684 687 bfa_cb_fcxp_send_t cbfn, 685 688 void *cbarg, 686 689 u32 rsp_maxlen, u8 rsp_timeout); 687 - bfa_status_t bfa_fcxp_abort(struct bfa_fcxp_s *fcxp); 688 - u32 bfa_fcxp_get_reqbufsz(struct bfa_fcxp_s *fcxp); 689 690 u32 bfa_fcxp_get_maxrsp(struct bfa_s *bfa); 690 691 void bfa_fcxp_res_recfg(struct bfa_s *bfa, u16 num_fcxp_fw); 691 692
-20
drivers/scsi/bfa/bfad.c
··· 843 843 } 844 844 845 845 void 846 - bfad_drv_uninit(struct bfad_s *bfad) 847 - { 848 - unsigned long flags; 849 - 850 - spin_lock_irqsave(&bfad->bfad_lock, flags); 851 - init_completion(&bfad->comp); 852 - bfa_iocfc_stop(&bfad->bfa); 853 - spin_unlock_irqrestore(&bfad->bfad_lock, flags); 854 - wait_for_completion(&bfad->comp); 855 - 856 - del_timer_sync(&bfad->hal_tmo); 857 - bfa_isr_disable(&bfad->bfa); 858 - bfa_detach(&bfad->bfa); 859 - bfad_remove_intr(bfad); 860 - bfad_hal_mem_release(bfad); 861 - 862 - bfad->bfad_flags &= ~BFAD_DRV_INIT_DONE; 863 - } 864 - 865 - void 866 846 bfad_drv_start(struct bfad_s *bfad) 867 847 { 868 848 unsigned long flags;
-1
drivers/scsi/bfa/bfad_drv.h
··· 312 312 void bfad_init_timer(struct bfad_s *bfad); 313 313 int bfad_pci_init(struct pci_dev *pdev, struct bfad_s *bfad); 314 314 void bfad_pci_uninit(struct pci_dev *pdev, struct bfad_s *bfad); 315 - void bfad_drv_uninit(struct bfad_s *bfad); 316 315 int bfad_worker(void *ptr); 317 316 void bfad_debugfs_init(struct bfad_port_s *port); 318 317 void bfad_debugfs_exit(struct bfad_port_s *port);