mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
scsi: libsas: Move sas_add_parent_port() to sas_expander.c
Move sas_add_parent_port() to sas_expander.c and rename it to sas_ex_add_parent_port() as it is only used in this file. Signed-off-by: Xingui Yang <yangxingui@huawei.com> Link: https://lore.kernel.org/r/20240312141103.31358-3-yangxingui@huawei.com Reviewed-by: John Garry <john.g.garry@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
888ea1b12b
commit
48032c0be6
@ -33,6 +33,21 @@ static void sas_port_add_ex_phy(struct sas_port *port, struct ex_phy *ex_phy)
|
||||
ex_phy->phy_state = PHY_DEVICE_DISCOVERED;
|
||||
}
|
||||
|
||||
static void sas_ex_add_parent_port(struct domain_device *dev, int phy_id)
|
||||
{
|
||||
struct expander_device *ex = &dev->ex_dev;
|
||||
struct ex_phy *ex_phy = &ex->ex_phy[phy_id];
|
||||
|
||||
if (!ex->parent_port) {
|
||||
ex->parent_port = sas_port_alloc(&dev->rphy->dev, phy_id);
|
||||
/* FIXME: error handling */
|
||||
BUG_ON(!ex->parent_port);
|
||||
BUG_ON(sas_port_add(ex->parent_port));
|
||||
sas_port_mark_backlink(ex->parent_port);
|
||||
}
|
||||
sas_port_add_phy(ex->parent_port, ex_phy->phy);
|
||||
}
|
||||
|
||||
/* ---------- SMP task management ---------- */
|
||||
|
||||
/* Give it some long enough timeout. In seconds. */
|
||||
@ -968,11 +983,11 @@ static int sas_ex_discover_dev(struct domain_device *dev, int phy_id)
|
||||
|
||||
/* Parent and domain coherency */
|
||||
if (!dev->parent && sas_phy_match_port_addr(dev->port, ex_phy)) {
|
||||
sas_add_parent_port(dev, phy_id);
|
||||
sas_ex_add_parent_port(dev, phy_id);
|
||||
return 0;
|
||||
}
|
||||
if (dev->parent && sas_phy_match_dev_addr(dev->parent, ex_phy)) {
|
||||
sas_add_parent_port(dev, phy_id);
|
||||
sas_ex_add_parent_port(dev, phy_id);
|
||||
if (ex_phy->routing_attr == TABLE_ROUTING)
|
||||
sas_configure_phy(dev, phy_id, dev->port->sas_addr, 1);
|
||||
return 0;
|
||||
|
@ -189,21 +189,6 @@ static inline void sas_phy_set_target(struct asd_sas_phy *p, struct domain_devic
|
||||
}
|
||||
}
|
||||
|
||||
static inline void sas_add_parent_port(struct domain_device *dev, int phy_id)
|
||||
{
|
||||
struct expander_device *ex = &dev->ex_dev;
|
||||
struct ex_phy *ex_phy = &ex->ex_phy[phy_id];
|
||||
|
||||
if (!ex->parent_port) {
|
||||
ex->parent_port = sas_port_alloc(&dev->rphy->dev, phy_id);
|
||||
/* FIXME: error handling */
|
||||
BUG_ON(!ex->parent_port);
|
||||
BUG_ON(sas_port_add(ex->parent_port));
|
||||
sas_port_mark_backlink(ex->parent_port);
|
||||
}
|
||||
sas_port_add_phy(ex->parent_port, ex_phy->phy);
|
||||
}
|
||||
|
||||
static inline struct domain_device *sas_alloc_device(void)
|
||||
{
|
||||
struct domain_device *dev = kzalloc(sizeof(*dev), GFP_KERNEL);
|
||||
|
Loading…
Reference in New Issue
Block a user