29 #include "../scsi_sas_internal.h"
42 static void sas_resume_port(
struct asd_sas_phy *phy)
49 if (si->
dft->lldd_port_formed)
50 si->
dft->lldd_port_formed(phy);
73 dev->
ex_dev.ex_change_count = -1;
74 for (i = 0; i < dev->
ex_dev.num_phys; i++) {
102 if (!phy_is_wideport_member(port, phy))
106 sas_resume_port(phy);
112 SAS_DPRINTK(
"%s: phy%d belongs to port%d already(%d)!\n",
113 __func__, phy->
id, phy->
port->id,
114 phy->
port->num_phys);
121 for (i = 0; i < sas_ha->
num_phys; i++) {
125 phy_is_wideport_member(port, phy) && port->
num_phys > 0) {
135 for (i = 0; i < sas_ha->
num_phys; i++) {
157 sas_phy_set_target(phy, port->
port_dev);
182 SAS_DPRINTK(
"%s added to %s, phy_mask:0x%x (%16llx)\n",
183 dev_name(&phy->
phy->dev), dev_name(&port->
port->dev),
191 if (si->
dft->lldd_port_formed)
192 si->
dft->lldd_port_formed(phy);
229 if (si->
dft->lldd_port_deformed)
230 si->
dft->lldd_port_deformed(phy);
236 sas_phy_set_target(phy,
NULL);
321 memset(port, 0,
sizeof(*port));
338 for (i = 0; i < sas_ha->
num_phys; i++) {
341 sas_init_port(port, sas_ha, i);
351 for (i = 0; i < sas_ha->
num_phys; i++)