mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 22:05:08 +00:00
scsi: libsas: factor out sas_check_fanout_expander_topo()
To be consistent with sas_check_edge_expander_topo(), factor out sas_check_fanout_expander_topo(). And remove the comment since we are not spilling over 80 colums now. Signed-off-by: Jason Yan <yanaijie@huawei.com> Link: https://lore.kernel.org/r/20230421093744.1583609-4-yanaijie@huawei.com Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ba9be7e70e
commit
cf3cd61e76
@ -1271,11 +1271,25 @@ error:
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
/* Here we spill over 80 columns. It is intentional.
|
||||
*/
|
||||
static int sas_check_parent_topology(struct domain_device *child)
|
||||
static int sas_check_fanout_expander_topo(struct domain_device *child,
|
||||
struct ex_phy *parent_phy)
|
||||
{
|
||||
struct expander_device *child_ex = &child->ex_dev;
|
||||
struct ex_phy *child_phy;
|
||||
|
||||
child_phy = &child_ex->ex_phy[parent_phy->attached_phy_id];
|
||||
|
||||
if (parent_phy->routing_attr == TABLE_ROUTING &&
|
||||
child_phy->routing_attr == SUBTRACTIVE_ROUTING)
|
||||
return 0;
|
||||
|
||||
sas_print_parent_topology_bug(child, parent_phy, child_phy);
|
||||
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
static int sas_check_parent_topology(struct domain_device *child)
|
||||
{
|
||||
struct expander_device *parent_ex;
|
||||
int i;
|
||||
int res = 0;
|
||||
@ -1290,7 +1304,6 @@ static int sas_check_parent_topology(struct domain_device *child)
|
||||
|
||||
for (i = 0; i < parent_ex->num_phys; i++) {
|
||||
struct ex_phy *parent_phy = &parent_ex->ex_phy[i];
|
||||
struct ex_phy *child_phy;
|
||||
|
||||
if (parent_phy->phy_state == PHY_VACANT ||
|
||||
parent_phy->phy_state == PHY_NOT_PRESENT)
|
||||
@ -1299,19 +1312,14 @@ static int sas_check_parent_topology(struct domain_device *child)
|
||||
if (!sas_phy_match_dev_addr(child, parent_phy))
|
||||
continue;
|
||||
|
||||
child_phy = &child_ex->ex_phy[parent_phy->attached_phy_id];
|
||||
|
||||
switch (child->parent->dev_type) {
|
||||
case SAS_EDGE_EXPANDER_DEVICE:
|
||||
if (sas_check_edge_expander_topo(child, parent_phy))
|
||||
res = -ENODEV;
|
||||
break;
|
||||
case SAS_FANOUT_EXPANDER_DEVICE:
|
||||
if (parent_phy->routing_attr != TABLE_ROUTING ||
|
||||
child_phy->routing_attr != SUBTRACTIVE_ROUTING) {
|
||||
sas_print_parent_topology_bug(child, parent_phy, child_phy);
|
||||
if (sas_check_fanout_expander_topo(child, parent_phy))
|
||||
res = -ENODEV;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user